未送达报告 (NDR) 是向发件人报告邮件传递状态的系统邮件。这种邮件是一种称为“传递状态通知”的常规邮件信息结构的子类。传递状态通知描述三种不同类型的情况:
- 成功(即 2.X.X 数字代码)
- 持续性瞬态故障(即 4.X.X 数字代码)
- 永久性故障(即 5.X.X 数字代码)
要获得有关传递状态通知的详细信息,请参考“征求意见文档”(RFC) 1891 和 RFC 1893。
每当邮件无法传递时,都会生成 NDR。如果计算机可以检测到传递失败的原因,它会将该原因映射为一个状态代码,并打印相应的错误信息。(有关这些代码的列表,请参阅 RFC 1891 和 RFC 1893。)对于 NDR,大多数数字代码都是以“5.
X.X”的形式报告的,并且会被描述为永久性故障。但是,有一些瞬态情况会导致 4.
X.X 代码。
请务必注意,
报告问题的服务器也列在数字代码前面,在上面的示例中,为
server.nwtraders.com。有时,报告问题的服务器并不是实际遇到问题的服务器。
下面的列表描述了最常遇到的数字代码及其对应的错误状态:
- 数字代码: 4.2.2
仅限于 Exchange 2000 Service Pack 3 之前的版本。请参阅 5.2.2
- 数字代码: 4.3.1
可能的原因:此内存不足错误可能是由资源问题(如磁盘已满)造成的。另一种情况是,您的简单邮件传输协议 (SMTP) 队列位于文件分配表 (FAT) 分区上,且该服务已达到 Windows 所规定的、SMTP 服务可以同时打开的文件句柄数限制。您得到的可能不是磁盘已满错误,而是内存不足错误。
故障排除:请确保您具有足够的磁盘存储空间,并尽量在 NTFS 分区上运行 Exchange 传输队列。
- 数字代码: 4.3.2
首先提供于: Exchange 2000 Service Pack 1
可能的原因:NDR 是由通过 Exchange 系统管理器中的队列查看器接口执行的管理员操作导致的。
- 数字代码: 4.4.1
可能的原因:主机不响应。
故障排除:此错误可能是由瞬态网络状态导致的。Microsoft Exchange 会自动尝试重新连接并传递邮件。如果多次重试后传递仍然失败,将生成一个永久性故障 NDR。
- 数字代码: 4.4.2
可能的原因:服务器之间的连接已断开。
故障排除:此错误信息可能是由瞬态网络问题或服务器停机造成的。服务器会在特定的时间段内尝试传递邮件,然后生成进一步的状态报告。
- 数字代码: 4.4.6
可能的原因:超过邮件的最大跳数。此错误信息也可能是由于不在同一个组织内的发送和接收服务器之间存在回路(邮件跳来跳去,直到超过跳数)造成的。
故障排除:此属性是针对各台虚拟服务器设置的,您可以手动覆盖此设置(默认值为 15)。此外,请检查是否存在其他会导致服务器之间出现回路的情况。
- 数字代码: 4.4.7
可能的原因:队列中的邮件已过期。发送服务器尝试中继或传递邮件,但是在完成该操作之前,邮件已过期。此消息也可能表明已达到远程服务器上的邮件标题限制,或者在与远程服务器通信的过程中发生了其他某种协议超时现象。
故障排除:此消息通常表明接收服务器上存在问题。请检查收件人地址是否有效,并确定是否正确地配置了接收服务器以接收邮件。对于正在收到此错误的主机,可能需要为其减少邮件标题中收件人的数目。如果重新发送邮件,邮件将再次排入队列中。如果接收服务器已启动,邮件将被传递。
- 数字代码: 5.0.0
首先提供于:Exchange 2000 Service Pack 1(4.3.2、5.4.0、5.4.4、5.5.0)中首次出现的所有数字代码在 Exchange 2000 Service Pack 1 之前的版本中最初都归类为 5.0.0。
可能的原因:
- 没有相应于给定地址空间的路由,例如,虽然配置了一个 SMTP 连接器,但是该地址并不匹配。
- DNS 返回了一个域中不存在的授权主机。
- 路由组没有定义连接器;从路由组中的一台服务器发送的邮件没有到达另一个路由组的路由。
- 发生了 SMTP 协议错误。
故障排除:进行纠正,或将一个带星号 (*) 值的、SMTP 类型的地址空间添加到一个或多个 SMTP 连接器;验证 DNS 是否正常工作;确保路由组具有连接它们的连接器。同时,如果没有安装 Exchange 2000 Service Pack 1,请应用 Service Pack 1 以便缩小问题的范围。
- 数字代码: 5.1.0
可能的原因:基于常规分类程序的故障(错误地址故障)。目录中找不到电子邮件地址或其他属性。一种情况是没有设置联系人条目的 targetAddress 属性。这可能是由 MDAccess 在分类程序对用户执行 homeMDB 查找的过程中,从 DSAccess 得到“object not found”(找不到对象)错误造成的。
造成此错误的另一种最常见的原因是:您使用 Outlook 将电子邮件保存为文件,而他人以脱机方式打开并回复了该邮件。当 Outlook 传递邮件时,邮件属性仅保留 legacyExchangeDN,因此查找可能会失败。
故障排除:收件人地址格式不准确,或分类程序无法正确地解析收件人。解决此错误的第一步是检查收件人地址并重新发送邮件。
- 数字代码: 5.1.1
可能的原因:向其发送此邮件的组织中不存在该电子邮件帐户。这是由一些人员在站点之间移动所导致的各种相关问题引起的。例如,如果一位曾属于 Administrative_Group_1 的用户移动到了 Administrative_Group_2 中并回复了一封旧邮件,或者没有重新创建他/她的 Outlook 配置文件,则将使用旧的管理组样式 LegDN 地址,从而导致生成 NDR。与此类似,向废弃的个人通讯簿条目发送邮件,也将导致此错误。
同时,如果使用无效的 SMTP RFC821 字符配置了 SMTP 联系人,分类程序将使用此诊断代码拒绝传递。
故障排除:与 5.1.0 相同。
- 数字代码: 5.1.3
可能的原因:地址语法错误。例如,联系人配置了没有地址类型的 targetAddress 属性。
故障排除:与 5.1.0 相同。
- 数字代码: 5.1.4
可能的原因:有两个对象具有相同的(代理)地址,邮件被发送到了该地址。
故障排除:请检查收件人地址并重新发送邮件。如果远程服务器上不存在该收件人,则也可能会发生此问题。
- 数字代码: 5.1.6
首先提供于:Exchange 2000 Service Pack 2
可能的原因:一个可能的原因是用户目录属性(如 homeMDB 或 msExchHomeServerName)可能已丢失或损坏。
故障排除:请检查用户目录属性的完整性,然后重新运行收件人更新服务,以确保传输所需的属性有效。
- 数字代码: 5.1.7
首先提供于:Exchange 2000 Service Pack 2
可能的原因:发件人在 DS 中有一个格式不正确的邮件属性,或者缺少一个邮件属性。没有有效的邮件属性,传输分类程序就无法传递邮件项目。
故障排除:请检查发件人目录结构,并检验邮件属性是否存在。
- 数字代码: 5.2.1
可能的原因:由于本地邮件太大,邮件被拒绝。收件人缺少主帐户安全 ID 号码 (SID) 也可以导致此错误信息。
故障排除:请检查访问权限以及邮件大小。检查收件人是否有 SID。
- 数字代码: 5.2.2
首先提供于:Exchange 2000 Service Pack 3(在较早的版本中为 4.2.2)。
可能的原因:生成此 DSN 的原因是收件人的邮箱超过了存储限制。
故障排除:请检查邮箱存储或队列存储配额限制。
- 数字代码: 5.2.3
可能的原因:邮件太大;超过了本地配额。例如,远程 Exchange 用户可能设置了具有最大传入邮件大小的传递限制。
故障排除:不带附件重新发送邮件,或将服务器或客户端限制设置为允许更大的邮件大小限制。
- 数字代码: 5.3.3
可能的原因:当 Exchange 2000 远程服务器或 Exchange 2003 远程服务器没有足够的磁盘存储空间来保存邮件时,将以一个具有此代码的 NDR 进行响应,这通常发生在发送服务器使用 BDAT 发送邮件的情况下。
可能是 SMTP 协议错误。
故障排除:请确保远程服务器具有足够的存储空间来保存邮件。请查看 SMTP 协议日志。
- 数字代码: 5.3.5
可能的原因:检测到了环回(服务器被配置为自己环回)。
如果 Exchange 服务器上配置了多个 SMTP 虚拟服务器 (VS),请确保它们使用唯一的传入端口,并且传出 SMTP 端口配置有效,以避免本地 VS 之间出现回路。
故障排除:检查服务器连接器的配置,以查看是否存在回路。请确保在有多个虚拟服务器的情况下,没有任何虚拟服务器被设置为“所有未分配”。
- 数字代码: 5.4.0
首先提供于:Exchange 2000 Service Pack 1
可能的原因:
- DNS 中未找到授权主机
- 智能主机条目不正确
- HOSTS 文件中的 FQDN 名称(已在 Windows 2000 Service Pack 3 (SP3) 中修复)
- DNS 故障,或为您的智能主机构建的 IP 地址无效。*
- SMTP VS 没有有效的 FQDN 或 SMTP VS FQDN 查找失败。
- 联系人的 SMTP 域不能解析为任何 SMTP 地址空间。
故障排除:请使用 nslookup 检查 DNS。验证 IP 地址是否为 IPv4 文字格式。验证有疑问的服务器/计算机名的 DNS 条目是否有效 - 如果依赖的是 HOSTS 文件中的 FQDN,请忽略该条目,并在 Exchange 系统管理器中使用有效的 IP 地址或正确的名称更新该条目。
- 数字代码: 5.4.4
首先提供于:Exchange 2000 Service Pack 1
可能的原因:没有邮件的路由,找不到下一个跃点。您已经设置了路由组拓扑,但是路由组之间没有设置路由组连接器。
故障排除:请添加或配置路由组之间的路由组连接器。
- 数字代码: 5.4.6
可能的原因:检测到分类程序转发回路。
启用了邮箱的用户设置了 targetAddress 属性。Hosting Pack:这是一个常见的宿主设置问题。当有人在 OU1 中创建了一个联系人,并使用用户定制工具在 OU2 中创建了一个具有相同电子邮件地址的用户时,将导致此问题。
故障排除:当 contactA 具有一个指向 contactB 的备用收件人,而 contactB 具有一个指向 contactA 的备用收件人时,将发生此问题。请检查联系人的备用收件人。
检查并删除启用了邮箱的用户的 targetAddress 属性。
对于需要从一家公司 (OU) 的一个用户向另一家公司 (OU) 发送邮件的宿主来说,应当配置下面两个相关对象:
用户:SMTP 代理:user@company.com
联系人:targetAddress:user@company.com;SMTP 代理:contact@company2.com
- 数字代码: 5.4.8
首先提供于: Exchange 2000 Service Pack 1
可能的原因:循环状态警告。一种已知的情况是:其中一个收件人策略包括一个本地域,该域与组织中的一台 Exchange 服务器的 FQDN 相匹配。当传输分类程序正在处理的邮件是发往与 Exchange 服务器的 FQDN 相匹配的域时,将发生此错误并返回该邮件的 NDR。
故障排除:如果导致此错误的原因是收件人策略中有一台 Exchange 服务器的 FQDN,则必须删除该条目。
- 数字代码: 5.5.0
首先提供于:Exchange 2000 Service Pack 1
可能的原因:一般性协议错误(SMTP 错误)。例如,远程 SMTP 对我们的 EHLO 操作响应以 500 级别的错误,发送系统将“退出”连接并使用 NDR 报告此错误,指示该远程 SMTP 服务器无法处理该协议。(例如,如果某个 Hotmail 帐户已过期,将发生 550 SMTP 错误。)
故障排除:运行 SMTP 日志或 netmon 跟踪功能,以了解远程 SMTP 服务器拒绝协议请求的原因。
- 数字代码: 5.5.2
可能的原因:此消息表示当 SMTP 协议失序时出现了一般性协议错误。例如,在 EHLO 之前尝试 AUTH。一种情况是,当系统遇到磁盘空间不足的情况时,发生此错误。
故障排除:运行 SMTP 日志或 netmon 跟踪功能,确保有足够的磁盘存储空间和虚拟内存,以便 SMTP 正常工作。
- 数字代码: 5.5.3
可能的原因:已发送邮件上有太多收件人。
故障排除:在接收服务器上,收件人限制是一个可配置的限制。要解决此问题,请放宽收件人限制,或者将邮件分为多个邮件,以适应服务器的限制。
注意:简单邮件传输协议 (SMTP) 邮件的默认收件人限制是 5000。要设置此限制,请启动 Exchange 系统管理器,单击全局设置节点,右键单击邮件传递,然后单击属性。也可以在 Active Directory 中针对各个用户进行设置。
- 数字代码: 5.7.1
可能的原因:
- 常规访问被拒绝,发件人访问被拒绝 - 邮件的发件人不具有完成传递所必需的权限。
- 您试图通过另一个 SMTP 服务器中继您的邮件,但是该服务器不允许您中继。
- 收件人可能启用了邮箱传递限制。例如,收件人的邮箱传递限制被设置为仅接收来自通讯组的邮件,任何来自非成员的邮件都将被拒绝,并生成此错误。
故障排除:检查联系人的系统特权和属性,然后重新尝试发送邮件。同时,请确保运行的是 Exchange 2000 Service Pack 1 或更高版本,以避免可能发生其他已知问题。