如何使用 imap 从 php 中的电子邮件中读取 body 内容

How to read body content from email in php using imap

我正在使用 imap_open() php 功能从我的邮件帐户读取电子邮件并且它正在运行,我能够获得 header、主题、body和附件。

但我想从 body 中获取一些内容(示例 body 下面):-

Ticket : 123456789
Special Instructions: Lorem ipsum dolor sit amet, consectetur adipiscing elit

以上是我的邮件body内容由imap_body($mail, $id)进入html,我想获取123456789 变成一个变量,类似地 特殊说明 : 右边的值变成另一个变量。

我会说,研究你的电子邮件正文的模式

例如如果

Ticket : 123456789
Special Instructions: Lorem ipsum dolor sit amet, consectetur adipiscing elit.

是正文中包含的所有内容,那么我将使用 explode 函数来使用 ':' 作为我的分隔符来找出我需要的部分 我会变成这样。

$body_parts = explode(':',$body);

然后

$ticket_id = trim($body_parts[1]);
$special_instructions = trim($body_parts[3]);

如果这没有捕获到它,则使用 REGEX 将是首选。

希望对您有所帮助

正如您所说,您可以获取内容,内容如下所示:-

.....
Ticket : 123456789
Special Instructions: Lorem ipsum dolor sit amet, consectetur adipiscing elit
......

所以要分别获取元素:-

首先用\n展开(换行)

现在你将得到一个数组。现在应用 foreach() 并用 :

再次爆炸

注意:- 您需要使用 strpos() 来获取第一次出现的 :,然后通过该位置分解字符串(如果数组元素中有多个 :