我应该使用什么启发式方法来防止自动应答战争?

lif*_*rms 5 email

我目前正在扩展具有自动回复功能的电子邮件系统。在黑暗的过去,我见过一些很棒的邮件循环,现在我正在努力避免这样的事情发生在我身上。

我已经查看了其他工具('mailbot'、'vacation')是如何做到这一点的,在我自己的邮件档案中查找可疑邮件标头,但我想知道是否还有其他东西可以添加。

我此时的流程:

  1. 如果发件人地址无效,则拒绝(这应该删除带有 <> 发件人的邮件)
  2. 如果发件人地址符合以下任一条件,则拒绝: '^root@', '^hostmaster@', '^postmaster@', '^nobody@', '^www@', '-request@'
  3. 如果存在以下标头之一(在空白规范化和小写后),则拒绝: '^precedence: junk$', '^precedence: bulk$', '^precedence: list$', '^list-id:', '^content-type: multipart/report$', '^x-autogenerated: reply$', '^auto-submit: yes$', '^subject: auto-response$'
  4. 如果自动回复器最近已经看到发件人地址,则拒绝。
  5. 如果发件人地址是我自己的地址,则拒绝:)
  6. 接受并发送自动响应,添加Auto-response:到主题前面,设置标题,Precedence: bulkAuto-Submit: yes希望防止某些远程邮件程序进一步传播自动响应。

有什么我想念的吗?

S.L*_*ott 1

在正文中的某处包含诸如“这是自动生成的响应”之类的短语。如果您的邮件正文是 HTML(不是纯文本),您可以使用样式使其不可见。

在回复之前检查该短语。如果存在,那么很可能是自动响应。