Microsoft 365 中的发送方重写方案 (SRS)

注意

在 2023 年 8 月,将推出对 SMTP 或邮箱转发邮件的更改。 今后,SRS 将用于重写这些邮件,而不是转发邮箱。 这将合并转发方法,以在 Exchange Online 中使用 SRS。 虽然 SRS 旨在避免对转发的消息造成中断,但某些特殊情况可能会出现问题。 此更改的一种情况是,不会使用 SRS 重写通过本地服务器中继到 Internet 的消息。 若要避免此行为更改,请参阅此处介绍的新设置: 发件人重写方案即将发生的更改

Microsoft 365 中引入了中继池功能,该功能会影响 SRS 重写行为。 符合此中继池条件的消息会跳过 SRS 重写,并且从不属于 Microsoft 365 SPF 记录的 IP 中发送。 这主要影响在进入 Exchange Online 时 SPF 检查失败的邮件,以便 SRS 不会修复这些故障。 有关详细信息,请参阅此处的中继池文档: 出站传递池

向 Microsoft 365 添加了发送方重写方案 (SRS) 功能,以解决自动转发与 SPF 不兼容的问题。 对于从 Microsoft 365 从外部发送的所有适用邮件,SRS 功能重写 P1 发件人 地址 (也称为信封发件人地址) 。

注意

电子邮件客户端显示的 “发件人 ”标头(也称为“显示发件人地址”或“P2 发件人”地址)保持不变。

SRS 功能改进了从原始发件人到达时通过发件人策略框架 (SPF) 检查但转发后在最终外部目标上的 SPF 检查失败的适用邮件的传递。

SRS 在以下方案中重写 P1 From 地址:

  • Microsoft 365 中自动转发 (或) 重定向到外部收件人的邮件,方法是使用以下任一方法:
    • SMTP 转发
    • 邮箱规则 (或收件箱规则) 重定向
    • 邮件流 (传输) 规则重定向
    • 具有外部成员的组或 DLL
    • 邮件联系人转发
    • 邮件用户转发
  • 从客户的本地环境自动转发 (或重定向) 并通过 Exchange Online 中继的邮件。

请务必注意,SRS 重写用于防止对未经验证的域进行欺骗。 应仅从你拥有且已通过“接受域”列表验证了所有权的域发送消息。 有关 Microsoft 365 中接受域的详细信息,请参阅 在 Exchange Online 中管理接受的域

注意

SRS 重写无法解决转发消息的 DMARC 传递问题。 尽管由于重写了 P1 From 地址,SPF 检查现在会通过,但 DMARC 还需要对要传递的消息进行对齐检查。 对于转发的消息,DKIM 始终失败,因为已签名的 DKIM 域与 From 标头域不匹配。 如果原始发件人将其 DMARC 策略设置为拒绝转发的邮件,则邮件传输代理 (遵循 DMARC 策略的 MDA) 拒绝转发的邮件。 ARC 标准的开发旨在解决 DKIM 的转发问题,并已在我们的服务中实施,以解决这些问题。

此失败方案以及其他传递失败会导致未送达报告 () 未使用 SRS 重写时返回到 Exchange Online,而不是返回到原始发送方。 因此,如果无法传递消息,SRS 实现的一部分是重新路由返回给原始发件人的NDR。

以下部分介绍了不同的自动前向方案,并介绍了 SRS 如何处理它们。

为托管在 Microsoft 365 上的邮箱自动转发电子邮件

对于发送到托管邮箱并使用 SMTP 转发、邮箱规则重定向或传输规则重定向等机制自动转发的邮件,在邮件离开 Exchange Online 之前将重写 P1 发件人 地址。 使用以下模式重写地址:

<Forwarding Mailbox Username>+SRS=<Hash>=<Timestamp>=<Original Sender Domain>=<Original Sender Username>@<Forwarding Mailbox Domain>

在以下示例中,邮件从 Bob (bob@fabrikam.com) 发送到 Exchange Online (john.work@contoso.com) 中的 John 邮箱。 John 已从此邮箱自动转发到其家庭电子邮件地址 (john.home@example.com) 。 请注意 SRS 如何重写 P1 From 地址。

  原始消息 自动转发的消息
收件人 john.work@contoso.com john.home@example.com
P1 From bob@fabrikam.com john.work+SRS=44ldt=IX=fabrikam.com=bob@contoso.com
From 标头 bob@fabrikam.com bob@fabrikam.com

当 SRS 重写 P1 From 地址时,它会增加电子邮件地址的用户名部分的长度。 但是,电子邮件地址限制为 64 个字符。 因此,如果重写的电子邮件地址的长度超过 64 个字符,则采用以下形式:

bounces+SRS=<Hash>=<Timestamp>@<Default Accepted Domain>

其中 <Default Accepted Domain> 是为租户设置的默认接受域的名称。

从客户的本地服务器中继

从客户的本地服务器或通过 Exchange Online 中继来自未验证域的消息时, P1 发件人 地址在离开 Exchange Online 之前会重写。 使用以下模式重写地址:

bounces+SRS=<Hash>=<Timestamp>@<Default Accepted Domain>

在以下示例中,一封邮件从 Bob (bob@fabrikam.com) 发送到 John 的邮箱 (john.onprem@contoso.com) ,该邮箱位于运行 Exchange Server 的公司服务器上。 John 已从此邮箱自动转发到其家庭电子邮件地址 (john.home@example.com) 。 请注意 SRS 在此方案中如何重写 P1 From 地址。 建议客户将默认接受的域设置为其自己的域之一。

类型 原始消息 Exchange Online 接收的中继邮件 从 Exchange Online 发送的中继邮件
收件人 john.onprem@contoso.com john.home@example.com john.home@example.com
P1 From bob@fabrikam.com bob@fabrikam.com bounces+SRS=44ldt=IX@contoso.com
From 标头 bob@fabrikam.com bob@fabrikam.com bob@fabrikam.com

在某些情况下,SRS 重写的中继消息可能无法传递,并且可能会生成 NDR。

若要接收这些NDR,租户管理员必须创建一个名为“退回”的邮箱,该邮箱托管在 Exchange Online 或本地。 此邮箱的域必须设置为租户的默认接受域。

转发的消息发送到客户的本地服务器

根据设计,SRS 认为本地服务器位于信任边界内,并且不会重写绑定到本地的转发消息。 但是,对于使用本地服务器将消息路由到 Internet 的复杂路由配置,在没有 SRS 重写的情况下转发的消息会因 SPF 故障而被拒绝。 若要解决此问题,管理员可以为流经本地出站连接器的流量启用 SRS。 SenderRewritingEnabled 设置可用于执行此操作,并且可以使用 New-OutboundConnector 或 Set-OutboundConnector cmdlet 进行配置。

此设置不适用于处理发送给外部收件人的邮件的合作伙伴连接器,并且这些邮件必须根据需要向其应用 SRS。 对于合作伙伴连接器,SenderRewritingEnabled 设置将显示为 true,并且任何尝试设置其值都会返回错误。

邮件流 (传输) 重定向的邮件

鉴于某个规则可以出于任何原因(而不仅仅是某个收件人)重定向邮件,因此没有转发邮箱的概念。 考虑到这一点,SRS 重写地址采用以下形式:

bouncesEtr+SRS=<Hash>=<Timestamp>=<OrigSenderDomain>=<OrigSenderUser>@<Default Accepted Domain> 

若要接收NDR,租户必须能够接收发送给名为“bouncesETR”的用户的消息,以便将邮件重定向到原始发件人。 例如,如果租户中不存在此类邮箱,Directory-Based 边缘阻止可能会干扰返回NDR。

中继池和跳过 SRS

Microsoft 365 中引入了中继池功能,该功能会影响 SRS 重写行为。 符合此中继池条件的消息会跳过 SRS 重写,并且从不属于 Microsoft 365 SPF 记录的 IP 中发送。 这主要影响首次发送到 Exchange Online 时 SPF 检查失败的邮件,因为 SRS 不应通过重写来修复这些失败。 有关详细信息,请参阅此处的中继池文档: 出站传递池