Exchange Server 中的 DSN 和NDR

当邮件传送出现问题时,Exchange 会向邮件发送方发送一个 NDR,指示存在问题。 NDR 包括一个代码,用于指示未传递消息的原因,以及帮助传递消息的可能解决方案。

SDR 中包含的信息设计为易于阅读,并且对用户和管理员都有帮助。 在某些情况下,发件人可以识别并修复自己的问题 (例如,当收件人的电子邮件地址) 拼写错误时。 在其他情况下,管理员可能需要修复 Exchange 环境中的问题,或将邮件环境中的问题通知目标域中的管理员。

有关与 Exchange Server 中的 NDR 相关的过程,请参阅 Exchange Server 中的 DSN 和NDR 的过程

如果需要 Microsoft 365、Office 365 或 Exchange Online 中的NDR 帮助,请参阅 Exchange Online 中的Email未送达报告

DDR 中的信息

下面是 NDR 的示例:

NDR 显示管理员的用户和诊断信息部分。

NDR 中的信息分为两个部分:

  1. 用户信息部分:此部分首先出现,并尝试以非技术术语解释 (,) 邮件传递失败的原因,以及成功传递消息的可能步骤。

    注意

    本部分可以用英语以外的任何语言显示内容。

    • 此部分中显示的文本由生成 NDR 的 Exchange 服务器插入。

    • 如果适用,拒绝消息的服务器 (FQDN) 的完全限定域名包含在用户信息部分, (例如 mbx01.contoso.com) 。

    • 如果多个收件人的传递失败,则会列出每个收件人的电子邮件地址和失败原因。

  2. 管理员诊断信息部分:本部分提供更深入的技术信息,以帮助管理员排查导致传递失败的问题。 本部分中的一个关键信息是增强状态代码 (例如 4.4.7) 。

    注意

    本部分将显示一些英语内容,另一些内容以其他语言显示。

    • 增强状态代码由生成 NDR 的服务器 (无法传递消息的源服务器或拒绝消息) 的目标服务器返回。

    • 增强状态代码确定在“用户信息”部分中显示的文本, (Exchange) 不会更改代码值。

    可以使用 Exchange 命令行管理程序中的 New-SystemMessage cmdlet 修改给定增强状态代码的用户信息部分中显示的文本, (包括不同语言) 的不同文本。 通过创建自定义说明,可以为环境提供特定内容,例如技术支持的联系信息,或指向 Intranet 的链接以获取自助服务支持。 有关详细信息,请参阅 Exchange Server 中的 DSN 和NDR 的过程

    • 本主题中的 常见增强状态代码 部分介绍了数字的含义、可能遇到的代码,以及修复阻止传递消息的基础问题的建议。

    本部分还提供了以下信息:

    • 生成服务器:创建 NDR 的消息传送服务器。 如果发件人的电子邮件地址下方未列出远程服务器,则生成服务器也是拒绝原始电子邮件的服务器。 如果 Exchange 组织中的发件人和收件人之间的邮件传递失败,则同一服务器通常会拒绝原始邮件并生成 NDR。

    • 被拒绝的收件人:无法传递的原始邮件中的收件人电子邮件地址。 如果多个收件人的传递失败,则会列出每个收件人的电子邮件地址。 此字段还包含每个电子邮件地址的以下子字段:

    • 远程服务器:在 SMTP 传输 (传递期间拒绝原始邮件的服务器 FQDN 在邮件正文发送后,但在服务器确认接收邮件之前) 失败。 在以下情况下,此字段不存在:

    • 拒绝消息的服务器也生成了 NDR。 对于同一 Exchange 组织中的发件人和收件人之间的传递失败,这种情况很常见。

    • 远程服务器确认接收了原始消息,但邮件因其他原因而被拒绝, (例如内容限制) 。

    • 增强状态代码

    • SMTP 响应:拒绝原始邮件的邮件服务器返回的 US-ASCII 文本字符串。 这通常是对增强状态代码的简短说明。 Exchange 不会重写此字符串。

    • 原始邮件头:此区域包含已拒绝邮件的邮件标头。 这些标头字段可以提供有用的诊断信息, (例如,邮件路由路径中的服务器跃点,或者 “收件人 ”字段是否与) 被拒绝收件人的电子邮件地址匹配。

常见的增强状态代码

增强状态代码在 RFC 3463 中定义,并使用 语法 <类><subject><详细信息>

  • <类>4 表示临时传递错误。 5 表示永久传递错误。

  • <subject>:RFC 对值进行分类,如下所示:

    • 1:寻址

    • 2:邮箱 (收件人)

    • 3:邮件系统 (目标邮件系统)

    • 4:网络和路由

    • 5:邮件传递协议

    • 7:安全性或策略

  • <详细信息>:一个 1 到 3 位数字,用于进一步对错误进行分类。

下表包含针对最常见的消息传递失败在 DDR 中返回的增强状态代码。

注意

有关 Microsoft 365 或 Office 365 和混合环境中的增强状态代码的信息,请参阅 Exchange Online 中的Email未送达报告

临时传递失败

增强状态代码 说明 可能的原因和解决方案
4.3.1 Insufficient system resources 可用磁盘空间不足 (例如,保存队列数据库的磁盘没有) 所需的可用空间量。 有关详细信息,请参阅 了解背压。 若要将队列数据库移动到其他磁盘,请参阅 更改队列数据库的位置
可用内存不足 (例如,安装在配置为使用动态内存) 的虚拟机上的 Exchange。 始终在 Exchange 虚拟机上使用静态内存。 有关详细信息,请参阅 Exchange 内存要求和建议
4.3.2 Service not available

Service not active
已在侦听端口 25 的邮箱服务器上的传输 (中心) 服务中配置了自定义接收连接器。 通常,侦听端口 25 的自定义接收连接器属于邮箱服务器上的前端传输服务。
重要的 Exchange 服务器组件处于非活动状态。 可以通过在 Exchange 命令行管理程序中运行以下命令来确认这一点: Get-ServerComponent -Identity <ServerName>
若要重启所有非活动组件,请运行以下命令: Set-ServerComponentState -Identity <ServerName> -Component ServerWideOffline -State Active -Requester Maintenance
特别是在 Exchange 更新) 之后,不兼容的传输代理 (。 标识传输代理后,请将其禁用或卸载。 有关详细信息,请参阅 对传输代理进行故障排除
4.4.1 Connection timed out 可能最终自行更正的暂时性网络问题。 Exchange 服务器定期尝试连接到目标服务器以传递邮件。 多次失败后,消息将返回到 NDR 中的发送方,其中包含永久故障代码。
有关配置队列重试和失败间隔的详细信息,请参阅 配置消息重试、重新提交和过期间隔
若要手动重试队列,请参阅 重试队列
防火墙或 Internet 服务提供商 (ISP) TCP 端口 25 的限制。
4.4.2 Connection dropped 暂时性网络问题或服务器问题,最终可能会自行更正。 发送服务器将重试传递消息,并生成进一步的状态报告。
已达到连接的消息大小限制,或者源 IP 地址的消息提交速率已超过配置的限制。 有关详细信息,请参阅 消息速率限制和限制
反垃圾邮件、SMTP 代理或防火墙配置问题正在阻止来自 Exchange 服务器的电子邮件。
4.4.7 Message delayed

Queue expired; Message expired
发送连接器配置问题。 例如:
  • 发送连接器配置为在应使用智能主机路由时使用 DNS 路由,反之亦然。 使用 nslookup 验证目标域是否可从 Exchange 服务器访问。
  • 发送连接器提供给 HELO 或 EHLO 请求的 FQDN 与 MX 记录中的主机名不匹配, (例如,mail.contoso.com) 。 某些邮件系统配置为比较这些值,以减少垃圾邮件。 发送连接器上的默认值为空,这意味着使用 Exchange 服务器的 FQDN (例如,exchange01.contoso.com) 。

邮箱传输传递服务未在目标服务器上启动, (这会阻止将邮件传递到邮箱) 。

目标邮件系统在 Outlook) 中 (TNEF) 邮件 (也称为富文本格式或 RTF 时,存在传输中性加密格式的问题。 例如,会议请求或消息正文中嵌入图像的消息。

如果目标域使用发件人策略框架 (SPF) 检查邮件源,则域 (可能存在 SPF 问题,例如,SPF 记录不包括域) 的所有电子邮件源。

永久传递失败

增强状态代码 说明 可能的原因和解决方案。
5.1.0 Sender denied 答复旧邮件或作为文件导出的邮件 (重要收件人属性可能已) 更改。 验证收件人的电子邮件地址是否正确。
联系人条目中的属性格式不正确或缺失。
发件人被直接筛选 (阻止,或者发件人位于用户的阻止发件人列表中,并且发件人筛选器代理配置为使用安全列表聚合。 有关详细信息,请参阅发件人筛选和安全列表聚合
5.1.1 RESOLVER.ADR.ExRecipNotFound; not found

User unknown
收件人的电子邮件地址不正确, (收件人在目标邮件系统中不存在) 。 验证收件人的电子邮件地址。
您重新创建了已删除的邮箱,内部用户在 Outlook 或 Outlook 网页版中使用其自动完成缓存中的旧条目 (收件人的 X.500 值或 LegacyExchangeDN 值现在) 不同。 告知用户从其自动完成缓存中删除条目,然后再次选择收件人。
5.1.3 STOREDRV.Submit; invalid recipient address 收件人的电子邮件地址不正确 (例如,它包含不支持的字符或格式无效) 。
5.1.4 Recipient address reserved by RFC 2606 接收连接器拒绝包含 RFC 2606 (.test、.example、.invalid 或 .localhost) 中定义的顶级域的 SMTP 连接,此行为由 New-ReceiveConnectorSet-ReceiveConnector cmdlet 上的 RejectReservedTopLevelRecipientDomains 参数控制。
5.1.5 Recipient address reserved by RFC 2606 接收连接器拒绝包含 RFC 2606 (example.com、example.net 或 example.org) 中定义的二级域的 SMTP 连接。 此行为由 New-ReceiveConnector 和 Set-ReceiveConnector cmdlet 上的 RejectReservedSecondLevelRecipientDomains 参数控制。
5.1.6 Recipient addresses in single label domains not accepted 接收连接器拒绝包含单标签域的 SMTP 连接 (例如,chris@contoso而不是 chris@contoso.com) 此行为由 New-ReceiveConnectorSet-ReceiveConnector cmdlet 上的 RejectSingleLabelRecipientDomains 参数控制。
5.1.7 Invalid address

Unknown sender address
发件人的电子邮件地址有问题。 验证发件人的电子邮件地址。
5.1.8 Access denied, bad outbound sender 发送方已超出邮件速率限制 (例如,应用程序服务器配置为通过 Exchange 中继大量邮件。 有关详细信息,请参阅 邮件速率限制和限制允许 Exchange 服务器上的匿名中继
5.2.1 Content Filter agent quarantined this message 邮件已通过内容筛选隔离。 若要配置内容筛选的例外,请参阅 使用 Exchange 命令行管理程序配置内容筛选的收件人和发件人例外
5.2.2 Mailbox full 收件人的邮箱已超过其存储配额,无法再接收新邮件。 有关配置邮箱配额的详细信息,请参阅 配置邮箱的存储配额
5.2.3 RESOLVER.RST.RecipSizeLimit; message too large for this recipient 消息太大。 不带任何附件再次发送邮件,或为收件人配置更大的邮件大小限制。 有关详细信息,请参阅 收件人限制
5.3.0 Too many related errors 消息被确定为格式不正确,并已移动到有害消息队列。 有关详细信息,请参阅 队列的类型
5.3.2 STOREDRV.Deliver: Missing or bad StoreDriver MDB properties 你使用的是 ABP 路由代理,并且收件人不是其通讯簿策略中指定的全局地址列表的成员, (ABP) 。 有关详细信息,请参阅使用 Exchange 命令行管理程序在 Exchange Server 中安装和配置通讯簿策略路由代理通讯簿策略
5.3.3 Unrecognized command 用于内部邮件流的接收连接器缺少所需的Exchange Server身份验证机制。 有关接收连接器上的身份验证的详细信息,请参阅 接收连接器身份验证机制
5.3.4 Message size exceeds fixed maximum message size 消息太大。 此错误可能由源或目标消息传送系统生成。 在不带任何附件的情况下再次发送邮件,或配置更大的邮件大小限制。 有关详细信息,请参阅 Exchange Server 中的邮件大小和收件人限制
5.3.5 System incorrectly configured 检测到邮件循环。 验证接收连接器上的 FQDN 属性是否与组织中邮件流中使用的其他服务器、服务或设备的 FQDN 不匹配, (默认情况下,接收连接器使用 Exchange 服务器的 FQDN) 。
5.4.4 SMTPSEND.DNS.NonExistentDomain; nonexistent domain Exchange 服务器上存在 DNS 或网络适配器配置问题。 通过在 Exchange 命令行管理程序中运行以下命令来验证 Exchange 的内部和外部 DNS 查找设置:

Get-TransportService |Format-List 名称,ExternalDNS*,InternalDNS*;Get-FrontEndTransportService |Format-List 名称,ExternalDNS*,InternalDNS*'

可以在 Set-TransportService 和 Set-FrontEndTransportServicecmdlet 上使用 InternalDNS*ExternalDNS* 参数配置这些设置。

默认情况下,这些设置由发送连接器使用, (UseExternalDNSServersEnabled 参数值的默认值) $false

检查 Exchange 服务器操作系统中网络适配器的优先级 (顺序) 。

5.4.6 Hop count exceeded - possible mail loop 配置错误导致发生电子邮件循环。 默认情况下,在电子邮件循环 20 次迭代后,Exchange 会中断循环并生成 NDR。
验证收件人和发件人的收件箱规则或收件人邮箱上的转发规则是否未导致此 (邮件生成邮件,这将生成另一封邮件,并且该过程无限期地继续) 。
验证邮箱在 Active Directory 中没有 targetAddress 属性值, (此属性对应于 Exchange) 中邮件用户的 ExternalEmailAddress 参数。
如果删除 Exchange 服务器,或修改与邮件路由和邮件流相关的设置,请务必重启 Microsoft Exchange 传输和 Exchange 前端传输服务。
5.5.2 Send hello first SMTP 命令按顺序发送 (例如,服务器先发送 SMTP 命令(如 AUTH 或 MAIL FROM),然后再使用 EHLO 命令) 标识自身。 与邮件服务器建立连接后,第一个 SMTP 命令必须始终为 EHLO 或 HELO。
5.5.3 Too many recipients 邮件的“收件人”、“抄送”和“密件抄送”行上的收件人总数超过了组织、接收连接器或发件人在单个邮件中允许的收件人总数。 有关详细信息,请参阅 Exchange Server 中的邮件大小和收件人限制
5.7.1 Unable to relay

Client was not authenticated
你有一个应用程序服务器或设备尝试通过 Exchange 中继消息。 有关详细信息,请参阅 允许在 Exchange 服务器上进行匿名中继
收件人配置为仅接受来自经过身份验证 (通常是内部) 发件人的邮件。 有关详细信息,请参阅配置邮箱的邮件传递限制
5.7.3 Cannot achieve Exchange Server authentication

Not Authorized
防火墙或其他设备正在阻止Exchange Server身份验证所需的扩展 SMTP 命令, (X-EXPS) 。
内部电子邮件流量流经未配置为使用 Exchange Server 身份验证方法的连接器。 验证任何自定义接收连接器上的远程 IP 地址范围。
5.7.900
更改为
5.7.999
Delivery not authorized, message refused 邮件被邮件流规则拒绝 (也称为传输规则) 。 当规则配置为拒绝邮件时,可以使用此增强状态代码范围 (否则,使用的默认代码为 5.7.1) 。 有关详细信息,请参阅 Exchange Server 中的邮件流规则操作