检测Outlook自动回复/离职邮件

34

我一直在谷歌搜索,但没有找到任何东西......

有人知道如何检测 Outlook 邮件条目是否由“自动回复助手”发送吗? Outlook 对象上是否设置了任何属性或任何标头信息来标识此类电子邮件?我希望不必解析“自动回复”等主题行。

如果有一些标准,那将是很好的,这样也可以检测其他电子邮件服务(如 Gmail)的自动答复,但对我而言,Outlook 是最重要的。


1
这是我找到的最佳答案:https://dev59.com/NHVC5IYBdhLWcg3w4Vb6#301958。如果您正在连接到与自动回复人相同的Exchange服务器,则可以使用Exchange项目上的属性,例如此处所示:https://social.technet.microsoft.com/Forums/office/en-US/55835d56-5f80-4b70-8d61-18bd4f056180/how-to-identify-an-out-of-office-email-message?forum=exchangesvrdevelopment。 - Rory
7个回答

34

这个问题在谷歌上经常出现,因此我决定添加一条重要的注释。

不要像其他答案中建议的那样,在您的过滤器中使用 X-Auto-Response-Suppress

X-Auto-Response-Suppress 被Exchange用来告诉其他服务器不要发送自动回复邮件,而不是表示这封邮件是自动回复。

我们不得不以艰难的方式学习它,希望你不必这样。我还写了一篇更详细的博客文章:http://www.jitbit.com/maxblog/18-detecting-outlook-autoreplyout-of-office-emails-and-x-auto-response-suppress-header/


谢谢 - 我在我的列表中添加了一条注释。我也在自动回复中找到了这个标题,但你是对的,这里必须小心。 - Andris
我最喜欢这个答案,所以为了将您博客中的信息复制到 SO 中进行归档,总结如下:使用X-AutoreplyX-Autorespondauto-submitted:auto-replied来检测回复,然后在自己的消息中添加X-Auto-Response-Suppress:OOF,请求不要首先发送自动响应。 - M Conrad
1
是的!!例如,Atlassian使用设置为“全部”的“X-Auto-Response-Suppress”头部发送其“验证您的电子邮件”。不要问我为什么,但如果您过滤此内容,您将永远收不到他们的电子邮件... - Cyril N.

31

请查找以下标题:

  • x-autorespond
  • 带有值为"auto_reply"、"bulk"或"junk"的precedencex-precedence
  • 带有值为"auto-replied"的auto-submitted
  • x-auto-response-suppress(不总是,参见下文)

并且以以下方式开头的主题:

  • Auto:
  • Automatic reply
  • Autosvar
  • Automatisk svar
  • Automatisch antwoord
  • Abwesenheitsnotiz
  • Risposta Non al computer
  • Automatisch antwoord
  • Auto Response
  • Respuesta automática
  • Fuori sede
  • Out of Office
  • Frånvaro
  • Réponse automatique

1
通过检查邮件头,还需要检查主题行吗? - user4271704
1
我见过一些情况,即离开办公室的回复中没有设置任何标题 - 不知道为什么。因此,为了百分之百确定,我还会检查主题行。 - Thomas Glaser

21

关于较新的Exchange:除了像其他人解释的那样X-Auto-Response-Suppress:OOF是不正确的(你使用它来_请求_在第一时间不接收自动回复而不是_声明_你的电子邮件是自动回复),我发现我根本没有获得Precedence头。相反,Exchange会设置:Auto-Submitted: auto-generated(不是auto-replied!) - Sören Kuklau

9

1
那会很不错,但不幸的是,这个提案对于任何微软产品来说都太近了(2008-12-23)。 - jean
1
主题非常脆弱;本地化版本的Outlook有本地化的主题。但即使您能够获取每个Outlook(和Exchange等)版本中所有翻译的列表,这也容易出现误报。 - tripleee
3
我已经测试了Outlook 2010和Exchange 2010,并且自动回复具有“Auto-Submitted: auto-replied”属性。 - Razvan Stefanescu
3
Office 365目前将以下有趣的头信息放在邮件中:X-Auto-Response-Suppress: AllAuto-Submitted: auto-generatedX-MS-Exchange-Inbox-Rules-Loop: the-mailbox-primary-smtp-address - Rory
1
但在你像我一样急于使用 X-Auto-Response-Suppress 之前,请注意... https://www.jitbit.com/maxblog/18-detecting-outlook-autoreplyout-of-office-emails-and-x-auto-response-suppress-header/ - Rory

4
这个问题涉及到检测自动回复/离开办公邮件,很多答案都提到了X-Auto-Response头部,它指示Microsoft Exchange如何处理带有自动回复的传入消息。然而,这是错误的方向;关注这个头部并不能帮助检测自动回复消息。(尽管理论上自动回复会使用它以防止无限制的自动回复交换。)
其他答案中有很多死链接。看起来Microsoft的文档链接不会长久存在。

[MS-OXCMAIL]: RFC 2822和MIME转换为电子邮件对象算法 §2.1.3.2.20 自动响应抑制 (存档链接) 看起来是当前此标题的权威文档(尽管RFC 2822在2008年被RFC 5322所取代)。

X-Auto-Response-Suppress头部值:

表头 意义
(未给出含义,但这应该是不言自明的)
全部 (未给出含义,但这应该是不言自明的)
DR 从传输中抑制投递报告。
NDR 从传输中抑制非投递报告。
RN 从接收客户端抑制已读通知。
NRN 从接收客户端抑制未读通知。
OOF 抑制“正在外出办公”(OOF)通知。
AutoReply 除 OOF 通知外,抑制自动回复消息。

示例表头:

 X-Auto-Response-Suppress: RN, NRN

顺序不重要。

我个人认为NDR相当奇怪,因为它是反弹的另一个名称,通常不观察消息内容(即标题)。这是SMTP级别(RFC 821/2821/5321),而不是.eml级别(RFC 822/2822/5322)。

在一百万封电子邮件样本中,我观察到该标头的最常见值为:

  1. All
  2. DR,OOF,AutoReply
  3. DR,RN,NRN,OOF,AutoReply
  4. OOF
  5. DR,RN,OOF,AutoReply
  6. OOF,AutoReply

1

1

我查看了Outlook自动回复邮件的标题,但没有找到任何特殊的信息。你可以在这里尝试一个小技巧——跟踪邮件服务器发送邮件给用户的时间。如果邮件服务器在几秒钟内(比如少于10秒)收到回复邮件,则很可能是自动回复。将此与主题解析结合使用,以更好地检测自动回复邮件。这不是一种确切的方法,但我想它会起作用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接