在php中检索退回邮件?
Posted
技术标签:
【中文标题】在php中检索退回邮件?【英文标题】:Retrieve of the bounce mail in php? 【发布时间】:2012-03-15 05:56:26 【问题描述】:我正在使用 swift mailer ,它只为我提供失败邮件的选项, 即表明邮件是否投递到外发邮件服务器(发送过程后不报告)。 所以我正在寻找任何方法来告诉我是否有退回邮件。我发现 zend 和 phpmailer BHM,phpmailer 有一段时间没有更新(2009 年),所以 zend 最好的选择可以帮助我做到这一点,或者我可以通过 php 中的一些编码来做到这一点? 谢谢
参考:
1.Zend http://framework.zend.com/manual/en/
2.phpmailer BMH http://phpmailer.worxware.com/index.php?pg=bmh
【问题讨论】:
【参考方案1】:要处理退回的邮件,Zend 框架只有在您将所有退回的邮件都转到某个真实邮箱的情况下才有帮助,然后您可以使用Zend_Mail 连接到邮箱,并阅读所有邮件并查找反弹。否则,在我看来,它没有任何东西可以让您更轻松地处理您在 PHP 或其他库中无法执行的退回邮件。
以上当然是一个很好的解决方案。
或者,您可以将特定电子邮件地址的所有传入邮件通过管道传输到 PHP 脚本(或者不必是 PHP)。该脚本将能够读取stdin
以获取电子邮件的内容。然后,您可以使用 mailparse 之类的东西将消息解析为 mime 部分,以便更轻松地处理标头和消息。不需要使用这样的解析器,但是它会使处理退回的电子邮件的任务更容易。要执行此类操作,请搜索 pipe mail to php 或类似名称。
This answer 还提供了一些关于邮件服务器将用于将退回邮件发回的地址的有用信息。
【讨论】:
如何从退回集过滤退回邮件以上是关于在php中检索退回邮件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PHP 中检索 Posted JSON、构造字符串和电子邮件
php 通过电子邮件检索Gravity Forms $ entry对象
如何在 PHP 中跟踪使用 GMAIL API 发送的电子邮件的已发送、已打开、已单击、已退回、已阻止等电子邮件传递状态