退回电子邮件解析

时间:2009-11-23 16:53:53

标签: php email smtp imap bounce

我目前正忙着捕捉,解析和整理退回的电子邮件。我已经很好地设置了基础知识并且它可以实现我想要的,这很好......问题在于,在退回的电子邮件中返回的消息似乎没有标准。

例如,某些服务器返回RFC 1893指定的错误代码,并且我可以通过一个简单的正则表达式来挑选九次。但有时服务器只会回复说电子邮件已经退回,无论是没有给出理由还是出于与任何标准完全不同的原因。

所以我想我的问题是,有人有任何解决方案吗?我不想在回复的电子邮件中搜索十亿个和一个可能的字符串。然而,不必诉诸'理性未知'或类似的东西会很好。

有没有其他人对此或想法有任何好运? 干杯

3 个答案:

答案 0 :(得分:2)

您可以设置系统让操作员查看消息,选择字符串,然后从那里进行分类。最终,你可能希望将10分中的1分降至1分100分或1分1,000分。然而,总会有越来越多的角落案例。

答案 1 :(得分:2)

也不是一个明确的答案,但与Kyle的回应类似,您可以使用基于贝叶/令牌的垃圾邮件过滤器来“学习”退回邮件,然后自动将它们路由到您想要处理退回邮件的任何内容。

换句话说,你有一个帐户,你训练spamassassin或spamprobe或任何一堆不同的退回邮件(和只有退回邮件)是“垃圾”,然后让垃圾邮件系统成为第二行过滤后无论如何你已经发展了。

所以,让我们说你的解决方案,第一个过滤器,找到90%的退回邮件。你有你的系统做任何通常用弹跳做的事情,然后将它们保存到弹跳消息邮箱,由spamassasin / spamprobe定期扫描,以将这些消息学习为“垃圾”。

然后你还有spamassassin或spamprobe或其他任何东西作为第二个过滤器(运行在你的任何东西上没有标记为反弹)自己估计反弹,以及它认为的任何“垃圾”(因为你已经训练有素的想法弹跳=垃圾),你也可以选择你的程序等。

仍然需要进行一些人工审核,但从理论上讲,随着时间的推移它会变得越来越好,因为您依靠垃圾邮件系统的学习来解释边缘情况。

答案 2 :(得分:0)

我们面临同样的问题,但都没有找到任何“完美”的解决方案。我想你

  • 可以使用一些服务提供商(使用正确的邮件API) - 这样可以让您“外包”问题,并为您提供高检测率或
  • 使用一些简单的过滤器来捕获至少(比方说)80%的反弹。 In our setup,这足以使我们的数据库处于合理的状态。