【问题标题】:IMAP- Parsing original headers from a bounced mailIMAP-从退回的邮件中解析原始标题
【发布时间】:2014-03-23 02:50:21
【问题描述】:

我正在通过电子邮件标题发送数百封具有唯一 ID 的电子邮件。我必须跟踪特定唯一 ID 的退回邮件。

我可以在我的邮箱中看到带有附加 EML 文件的退回电子邮件。不幸的是,我正在寻找的唯一 ID 被放置在附加的 EML 文件的标题中,而不是被退回的电子邮件的标题中。

我正在使用 PHP 的 IMAP 函数来读取标题和正文部分。但无法读取 EML 附件。

谁能解释如何使用 IMAP 函数读取或解析 EML 附件。

谢谢。

【问题讨论】:

  • 欢迎来到 StackOverflow。请阅读常见问题解答以了解此处的工作原理,并使用搜索功能,因为您的问题不是第一个问题。
  • 非常感谢!感谢您的建议 pduersteler。您提供的链接用于从服务器路径而不是邮箱解析 .eml 文件。我想知道如何使用 IMAP 功能从我的收件箱中读取 .eml 附件。
  • 不,不是重复的。这是另一个问题。
  • 我应该详细说明。另一个问题是关于如何解析附加到另一个的电子邮件。这个是关于如何访问同一事物的位(如果您要求,IMAP 服务器将解析)。

标签: php imap


【解决方案1】:

.eml 最恰当地描述为 message/rfc822 正文部分;它包含多部分/报告的一部分。

在 IMAP 中,每个正文部分都有自己的部分编号,您可以通过提供编号来访问标题和各个字段。在许多退回中,message/rfc822 的数量为 3,您可以访问例如主题使用f uid fetch 123456 body.peek[3.1.header.fields (subject)]。服务器会做你想要的解析并返回主题字段。

获取部件号的常用方法是使用bodystructure

使用 PHP 表达这一点留给读者作为练习。祝你好运。

【讨论】:

  • 你很棒。 3 工作。我使用imap_fetchbody($imap_stream, $msg_number, 3) 获得了附加的.eml 文件头。
  • 请注意,它并不总是部件号 3。它是具有内容类型 message/rfc822 或 text/rfc822-headers 的那个。
猜你喜欢
  • 2021-01-12
  • 2015-05-03
  • 2010-09-05
  • 2023-03-31
  • 2016-06-22
  • 1970-01-01
  • 2016-03-11
  • 2011-12-13
  • 2015-12-06
相关资源
最近更新 更多