email - Microsoft Exchange 外出回复未到达 gmail 地址
问题描述
根据我的 DMARC 设置,不在办公室的回复没有到达(如果 DMARC 设置为拒绝),或者被发送到垃圾邮件(DMARC 设置为隔离)到 gmail 或 yahoo 电子邮件,它在交换邮件之间的通信时工作正常。
正如我们的支持人员向我解释的那样,这样做的原因是,当 Exchange 生成不在办公室的回复时,它会生成一个空的 RFC5321.MailFrom 字段,根据 RFC 标准,该字段使其无效,因为在From 和 MailFrom 字段。根据 RFC 3798 - Message Disposition Notification,它声明 MailFrom 字段必须始终为空,以强制只发送一次外出消息。
MDN 的信封发件人地址(即 SMTP MAIL FROM)必须为空(<>),指定不发送传递状态通知消息或其他指示成功或不成功传递的消息以响应 MDN。
问题是如何解决这个问题,当我在 gmail 地址上设置不在办公室并向其发送消息时,我会收到一条返回的不在办公室消息。因此,仅当消息从 gmail 或 yahoo 帐户发送到交易所时,这才不起作用。
解决方案
我将发布我从 reddit 得到的答案,这似乎是 /u/omers 正确的:
解决方案是 DKIM。空返回路径仅影响 DMARC 中的 SPF 对齐,这可以通过 DKIM 对齐进行补偿。只要您对所有域进行 DKIM 签名并将签名应用于 MDN,您就不会遇到任何问题。
如果您在本地并且只有一个域,您还可以使 SPF 对齐与轻松对齐一起工作。当 MailFrom/return-path 为空时,在 EHLO/HELO 主机名和来自地址的标头之间执行 SPF 对齐。即,如果您的邮件服务器标识为 mail-exch-01.example.com 并且该消息具有来自 bob@example.com 的标头,即使没有返回路径,它也会对齐。显然,在 onmicrosoft.com 作为 EHLO 域的云中不起作用,除非您强制 MDN 使用用户的 onmicrosoft.com 地址。DKIM 仍然更容易。
推荐阅读
- laravel - Laravel:如何从两个表中获取计数?
- r - 是否可以将列表或数据框中的数学轴单位表达式链接到 ggplot 轴上?
- android - 在android中单击通知时如何打开应用程序?
- verilog - Verilog中不同算术运算期间的位舍入?
- xpages - XPages jsonRpcService 错误消息详细程度
- c - 为什么我不能在 C 编程语言中通过 fgets 读取字符串?
- r - 根据重复的连续行计算时间间隔
- c# - Foreach 与 for 循环获取孩子(他们的脚本)
- azure-active-directory - 如果我的 Azure AD 中有多个 Office 365 订阅,Microsoft Graph API 将针对哪个订阅返回结果
- git - Shield.io 徽章文本可在 git wiki 上搜索