检测 Outlook 自动回复/外出电子邮件

Posted

技术标签:

【中文标题】检测 Outlook 自动回复/外出电子邮件【英文标题】:Detecting Outlook autoreply/out-of-office emails 【发布时间】:2010-11-04 20:55:22 【问题描述】:

一直在谷歌上搜索并没有找到任何东西......

有没有人知道如果给定一个 Outlook 电子邮件项目,是否有办法检测它是否是由“外出助理”发送的? Outlook 是否在对象上设置了任何属性或任何标头信息来标识电子邮件?我希望不必解析“外出”等主题行。

如果有一些标准那就太好了,这样其他电子邮件服务(如 Gmail)的自动回复也可以被检测到,但对我来说 Outlook 是最高优先级。

【问题讨论】:

这是我遇到的最佳答案***.com/questions/154718/precedence-header-in-email/…。如果您与自动回复人连接到同一个交换服务器,您可能可以使用交换项目上的属性,如 social.technet.microsoft.com/Forums/office/en-US/… 【参考方案1】:

该问题询问有关检测自动回复/外出电子邮件的问题,此处的许多答案都参考了X-Auto-Response 标头,该标头指示 Microsoft Exchange 如何处理带有自动响应的传入邮件。 这是错误的方向;键入此标头无助于检测自动响应消息。(尽管理论上自动响应会使用它来防止自动响应的无限交换。)

其他答案中有很多死链接。看来微软的文档链接不持久。

[MS-OXCMAIL]:RFC 2822 和 MIME 到电子邮件对象转换算法§2.1.3.2.20 Auto Response Suppress (archive link) 似乎是此标头的当前权威文档(尽管 RFC 2822 是2008 年被RFC 5322 淘汰)。

X-Auto-Response-Suppress 标头值:

Header Meaning
None (No meaning given, but this should be self-explanatory)
All (No meaning given, but this should be self-explanatory)
DR   Suppress delivery reports from transport.
NDR Suppress non-delivery reports from transport.
RN Suppress read notifications from receiving client.
NRN Suppress non-read notifications from receiving client.
OOF Suppress Out of Office (OOF) notifications.
AutoReply Suppress auto-reply messages other than OOF notifications.

示例标题:

 X-Auto-Response-Suppress: RN, NRN

顺序无关紧要。

我个人觉得NDR 很奇怪,因为它是退回邮件的另一个名称,通常不会观察邮件内容(即标题)。这是 SMTP 级别 (RFC 821/2821/5321) 而不是 .eml 级别 (RFC 822/2822/5322)。

在大约百万封电子邮件的样本中,我观察到此标头最常见的值是:

    All DR, OOF, AutoReply DR, RN, NRN, OOF, AutoReply OOF DR, RN, OOF, AutoReply OOF, AutoReply

【讨论】:

【参考方案2】:

我查看了 Outlook 自动回复电子邮件的标题,但没有发现任何特别之处。 您可以在这里尝试一个小技巧 - 只需跟踪您的邮件服务器向用户发送邮件的时间。如果邮件服务器在几秒钟内(比如不到 10 秒)收到回复邮件,它可能是自动回复。将此与主题解析结合起来,以更好地检测自动回复邮件。它不是一个具体的方法,但我想它会起作用。

【讨论】:

【参考方案3】:

根据Exchange Server 2007 Out of Office (OOF)1 - Exchange Team Blog,Exchange 外出回复的权威标志是

X-Auto-Response-Suppress:OOF

1“OOF”表示“设施外”,a rudiment from Xenix(!) that M$ used for mail in the past。

【讨论】:

【参考方案4】:

查找这些标题:

x-自动回复 precedencex-precedence,值为“auto_reply”、“bulk”或“junk” 自动提交,值为“自动回复” x-auto-response-suppress(并非总是如此,请参阅下面的答案)

主题以:

开头 自动: 自动回复 Autosvar Automatisk svar Automatisch antwoord Abwesenheitsnotiz Risposta 非计算机 Automatisch antwoord 自动回复 自动回复 福里赛德 不在办公室 弗朗瓦罗 自动响应

【讨论】:

通过检查标题,是否还需要检查主题行? 我见过没有为外出回复设置任何标题的情况 - 不知道为什么。所以,为了 100% 确定,我还要检查主题行。【参考方案5】:

这个问题在谷歌经常出现,所以我决定添加一个重要说明。

永远不要按照其他答案中的建议在过滤器中使用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/

【讨论】:

谢谢 - 我在我的列表中添加了一条注释。我也确实在自动回复中找到了这个标题,但你是对的,这里必须小心。 我最喜欢这个答案,所以要将您博客中的信息复制到可以存档的地方,摘要是使用 X-AutoreplyX-Autorespondauto-submitted: auto-replied 来检测回复,然后将X-Auto-Response-Suppress:OOF 添加到您自己的消息中,以请求不首先发送自动回复。 是的!例如,Atlassian 使用设置为“All”的“X-Auto-Response-Suppress”标头发送他们的“验证您的电子邮件”。不要问我为什么,但如果你过滤这个,你将永远不会收到他们的电子邮件......【参考方案6】:

值得注意的是,Exchange 应该禁止外出电子邮件以响应带有Precedence:bulkX-Auto-Response-Suppress:OOF 标头的邮件:

http://blogs.technet.com/b/exchange/archive/2006/10/06/3395024.aspx

【讨论】:

关于较新的 Exchange:除了 X-Auto-Response-Suppress:OOF 不正确,正如其他人所解释的那样(你用它来 request 首先没有得到自动响应,而不是 声明您的电子邮件作为自动回复),我发现我根本没有收到Precedence 标头。相反,Exchange 设置:Auto-Submitted: auto-generated(不是自动回复的!)【参考方案7】:

有一个标题字段 (http://www.iana.org/assignments/auto-submitted-keywords/auto-submitted-keywords.xhtml) 但似乎 MS Outlook 没有设置它(至少不是 Outlook 2003)。 我猜你必须解析主题行。

【讨论】:

那真是太好了,但不幸的是,对于任何 Microsoft 产品来说,该提案似乎都太新了 (2008-12-23)。 主题非常脆弱; Oulook 的本地化版本具有本地化的主题。但是,即使您能够获得每个版本的 Outlook(和 Exchange 等)中所有翻译的列表,这也容易出现误报。 我用 Outlook 2010 和 Exchange 2010 进行了测试,自动回复具有“自动提交:自动回复”属性。 Office 365 目前将这些有趣的标题放在X-Auto-Response-Suppress: AllAuto-Submitted: auto-generatedX-MS-Exchange-Inbox-Rules-Loop: the-mailbox-primary-smtp-address 但是在你去比赛之前使用X-Auto-Response-Suppress,就像我打算... jitbit.com/maxblog/…

以上是关于检测 Outlook 自动回复/外出电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

microsoft outlook怎么设置自动回复

outlook如何设置自动回复

outlook如何设置自动回复?

outlook如何设置自动回复 outlook设置自动回复操作步骤

outlook自动回复怎么设置

exchange2013和exchange online自动向发件人发送答复邮件