Apache Camel邮件用于识别自动生成的邮件

ref*_*los 4 email apache-camel auto-generate

我正在寻找一种方法来识别自动生成的消息,如Outlook的"不在办公室"回复.

我偶然发现了一个名为"自动提交"的标题,它应该可以解决这个问题,但是Camel似乎并没有在"Message"对象中提供这个标题.参考:http://www.iana.org/assignments/auto-submitted-keywords/auto-submitted-keywords.xml

是否可以知道消息是自动生成还是人为生成?

Gry*_*ius 6

我不知道Apache Camel,但我可以告诉你,通常没有简单而安全的方法来检测自动电子邮件.像自动提交的标题是一个指标,但不幸的是许多自动脚本不添加它们.我曾经不得不写一个不应该发送ooo回复任何自动消息(邮件列表,垃圾邮件,新闻简报等)的外出实现.这是我最终想出来的,也许这对你的情况有帮助:

发件人地址表示指示自动发件人的正则表达式:

  • "^所有者 - "
  • "^请求 - "
  • "-请求@"
  • "弹跳.*@"
  • "-确认@"
  • "-errors @"
  • "^否[ - ]回复"
  • "^ donotreply"
  • "^ @邮政局长"
  • "^邮包[-_]守护程序@"
  • "^ @邮件"
  • "^群发@"
  • "^ majordom [O]?@"
  • "^ @邮差"
  • "^ @人"
  • "^反弹"
  • "^ WWW(-data)?@"
  • "^ @的MDaemon"
  • "^ @根"
  • "^新闻(字母)?@"
  • "^ webmaster @"(角色地址 - 在您的情况下可能不是一个好的指标)
  • "^ administrator @"(角色地址 - 在您的情况下可能不是一个好的指标)
  • "^ support @"(角色地址 - 在您的情况下可能不是一个好的指标)

指示自动发送的讯息,如果他们存在:

  • 列表帮助
  • 列表退订
  • 列表订阅
  • 列表所有者
  • 列表后
  • 列表归档
  • 列表ID
  • 邮件列表
  • X-Facebook的通知
  • X-邮件列表
  • X-cron的-ENV
  • X-自动回复
  • X-易趣mailtracker

如果标题具有特殊值,则表示自动消息:

  • 'X-Spam-Flag标': '是'
  • 'X-垃圾邮件状态': '是'
  • 'X-Spam-Flag2':'是'
  • '优先': '(散装|列表|垃圾)'
  • 'X-优先': '(散装|列表|垃圾)'
  • 'X-梭子鱼垃圾邮件状态': '是'
  • 'X-DSPAM-结果': '(垃圾| BL [AO] cklisted)'
  • 'X-梅勒': '^ $邮件'
  • "自动提交":"自动回复"