从imap_headerinfo函数或imap_search函数中获取“To”字段值

时间:2014-03-25 07:33:31

标签: php email imap

我有以下代码从'To'获取值,但输出为数组

$header=imap_headerinfo($inbox,'18');
echo $header->to;

第二 我使用imap_search函数搜索电子邮件&在电子邮件正文中找到所需的字符串。现在一些电子邮件客户端使用不同的主体,所以让我们说雅虎。 Outlook或任何其他客户端中的实际电子邮件如下所示:

The mail system

<dkkfdjhfhjd@gmail.com>: host gmail-smtp-in.l.google.com[173.194.77.26] said:
550-5.1.1 The email account that you tried to reach does not exist. Please
try 550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1
http://support.google.com/mail/bin/answer.py?answer=6596
c10si1356788oed.181 - gsmtp (in reply to RCPT TO command)

然而,当我尝试通过以下方式打印时:

$message = imap_fetchbody($inbox,'18',1);
echo $message;

打印方式如下:

The mail system : host gmail-smtp-in.l.google.com[173.194.77.26] said: 550-5.1.1
The email account that you tried to reach does not exist. Please try 550-5.1.1 
double-checking the recipient's email address for typos or 550-5.1.1 unnecessary 
spaces. Learn more at 550 5.1.1 http://support.google.com/mail/bin/answer.py?
answer=6596c10si1356788oed.181 - gsmtp (in reply to RCPT TO command)

我也无法从中获取电子邮件地址。 任何人都可以告诉正确的方法来获取交付失败的用户的电子邮件地址?从标题或其他?我需要它,任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

你得到的数组是一个地址数组。

获取失败地址的最佳方法是查看bodyparts,找到内容类型为message/delivery-status的那个,并解析它。