【发布时间】:2014-04-17 02:55:34
【问题描述】:
我正在从 POP3 服务器获取电子邮件,我想区分普通电子邮件和 DSN(送达状态通知)/NDR(未送达报告/收据)消息。
识别这些消息的最佳/最安全方法是什么?我应该寻找任何特定的消息头吗?
提前致谢!
【问题讨论】:
-
Google VERP 和 BATV,两种识别 NDR 的技术。
我正在从 POP3 服务器获取电子邮件,我想区分普通电子邮件和 DSN(送达状态通知)/NDR(未送达报告/收据)消息。
识别这些消息的最佳/最安全方法是什么?我应该寻找任何特定的消息头吗?
提前致谢!
【问题讨论】:
一些邮件服务器实现RFC 3464。这样做的人通常会生成传递状态通知,其消息头 Content-Type 为 multipart/report 和三个组成部分(text/plain、message/delivery-status 和 message/rfc822)。因此,您可以检测消息的这些特征并相应地进行处理。消息通常如下所示:
来自:“邮件传递系统”
主题:传递状态通知(失败)内容类型: 多部分/报告; report-type=delivery-statusContent-Type: text/plain 交货状态通知。
Content-Type: message/delivery-status 结构化机器可读 发送状态通知的原因。
Content-Type: message/rfc822 原始消息。
对于那些以非结构化格式生成传递状态通知的邮件服务器,可能仍然需要通过分析 From: 和 Subject: 邮件标题的文本来检测它们的通知。
【讨论】: