![如何获取我的新闻通讯应用程序的退回报告?](https://linux22.com/image/484441/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E6%88%91%E7%9A%84%E6%96%B0%E9%97%BB%E9%80%9A%E8%AE%AF%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E9%80%80%E5%9B%9E%E6%8A%A5%E5%91%8A%EF%BC%9F.png)
我们有一个以电子邮件格式发送新闻通讯的应用程序。我们希望有一份退回报告。我相信一定有工具(免费或非免费)可以做到这一点,查看已发送的特定电子邮件并等待退回,然后在某处发送报告。
用例很简单。我们向分发列表发送一份新闻通讯,主题为 x,发件人地址为[电子邮件保护]然后我们想看看每个代码拒绝和其他分组返回了多少封电子邮件。
任何帮助将不胜感激。
答案1
你应该使用维普资讯。这是一种将收件人电子邮件地址嵌入发件人(信封)的方法。当涉及转发时(在远程用户方面),这种方法特别有用,因为在这种情况下,解析退回的邮件以获取真正的原始收件人是不可能的。
你没有说你使用哪个邮件程序,但这是Postfix 的文档。如果您选择这条路径,则您的程序只需要进行最少的修改。
答案2
通常,批量列表发件人软件的工作方式是生成一个唯一 ID,要么是针对目标用户(在讨论列表的情况下),要么是针对特定邮件 + 目标用户(这可能更适合于新闻通讯),并将其用作回信地址。您可以将唯一 ID 存储在数据库中,以便在解析退回时使用。
您在邮件服务器中使用某种前缀匹配来路由[电子邮件保护]发送到特定邮箱进行后期处理。从退回邮件的目标地址中删除唯一 ID,然后在数据库中查找原始收件人。
这可以避免当实施不当的 MTA 获得您的原始消息时可能发生的收件人地址扩展/混乱的情况。
为了获得额外积分,请统计某个电子邮件地址被退回的次数,以便您不再向已经消失的邮箱发送邮件。
答案3
你可以使用php列表它具有高级的退信处理功能。它可以让您教 phplist 区分永久性和暂时性的消息传递错误。您可以根据与正则表达式的匹配来定义收到退信时的自动操作。
phplist 文档:PhpListConfigBounces
另一种方法是设置消息头:
Return-Path: <[email protected]>
您可以将“退回”更改为唯一的 ID,以准确知道退回的地址。
答案4
我们考虑使用 Atomic Mail Tracker (http://www.massmailsoftware.com/tracker/),但还没有做出任何决定。它看起来具有我们想要的所有功能,因此也可能对您有所帮助。