请勿发送包含重复主题的邮件

时间:2011-01-16 16:54:22

标签: email smtp duplicates

我们有不同的进程在遇到问题时发送邮件(例如,没有足够的权限对​​某个订单商品执行操作)。这很好用,有时每5分钟发送一次相同的消息。在我们的环境中,很难同步应用程序层上的电子邮件发送(实际上有不同的应用程序发送电子邮件,因此如果我们要在应用程序层内实现这一点,我们必须触摸每个应用程序。)

对我来说,过滤掉邮件(通过重复的主题)最好在电子邮件层中完成,例如,接收SMTP请求的应用程序。

然而,我们也不希望自己不去使用SMTP层,而是使用现有的服务/应用程序。

是否有人知道这种过滤的网络邮件(如googlemail)?我们可以为这样的服务付费,所以“像啤酒一样自由”会很好,但不是免费的并不是一种表现。

提前致谢 霍尔格

1 个答案:

答案 0 :(得分:0)

我发现通过Subject:标头过滤重复电子邮件的想法非常令人担忧。如果它们是由多个应用程序生成的,那么如何确定邮件的内容是否重复,并且您不会无意中丢弃重要通知?

可用于过滤掉重复项的邮件的唯一唯一功能是其Message-ID:标头。如果两个消息的标题相同,那么通常可以合理地假设它们是同一原始消息的副本 - 例如一个直接收到,一个收到CC邮件列表。

也就是说,你可以在大多数SMTP服务器上做任何你想做的事情 - 至少那些基于类Unix操作系统的服务器。例如,Postfix can use custom shell scripts for filtering

例如,您可以使用formail来提取每条消息的正文并生成它 MD5哈希。同时比较邮件正文哈希值以及Date:Subject:From:To:Cc:标题是检测实际重复项的良好开端