出站邮件流由您的Microsoft Exchange 服务器组织中的客户端发送的所有邮件组成。在邮件经过Exchange 服务器传输核心后,它们从Exchange 服务器SMTP虚拟服务器发送到SMTP连接器以便传递到Internet 上。
对于最常被问到的关于出站邮件流的问题,下面的信息为您提供了答案。
出站邮件流的基本处理过程是什么?
出站邮件流通过一个Exchange 服务器以下面的方式展开:
1. 邮件由客户端(Microsoft Outlook、Outlook Express或Outlook Web Access)发送并提交到本地的Exchange 存储。
2. Exchange 存储提交邮件到高级队列引擎。
3. 高级队列引擎提交邮件到邮件分类器。
4. 邮件分类器验证邮件的收件人,检查正确的收件人属性,应用限制,将邮件标记为本地或者远程传递,接着将邮件传递回高级队列引擎。
5. 如果是本地传递的话,高级队列引擎提交邮件到本地传递队列,Exchange 存储从本地传递队列收到该邮件。
6. 如果是远程传递的话,高级队列引擎提交邮件到路由引擎。路由引擎为邮件传递确定最有效的路由,将邮件传返回高级队列引擎。依次,提交邮件以便远程传递。接着邮件通过SMTP发送到远程SMTP主机或者Internet。
对于出站邮件流什么是最小必要条件?
下面是最小必要条件对于出站邮件流来说:
Exchange 服务器必须能够访问Internet在端口25上,该访问不应该被防火墙或其他网络设置阻止。匿名连接也应该被允许。
Exchange 服务器SMTP虚拟服务器应该配置为使用缺省的设置。
对于所有其他的Internet 域,您的公共DNS服务上配置的公共邮件交换资源记录应该能够被访问。该MX记录应该指向Exchange 服务器,在邮件能够被发送或者接收之前必须被验证。如何确定一个问题的范围?
邮件流问题经常被认为是邮件不能被客户端传递或接收。某些特定的问题的原因是不同的,例如,一个队列可能会阻塞或者邮件可能以无法传递而返回。找到下面的问题的答案能够帮助您确定您的Exchange 服务器组织中问题的范围。
它影响一些或全部Exchange 服务器用户?如果只有一些用户受到影响,它们有共同的变量吗?例如,它们是使用相同的客户端应用程序或者它们都使用同一个本地Exchange 服务器?
它影响一个或多个Exchange 服务器?如果多个Exchange 服务器受到影响,这些Exchange 服务器上的核心的Windows 服务器组件(像DNS)配置正确吗?
它影响多个Exchange 服务器上的多个用户吗?您的Exchange 服务器上承载的所有的SMTP域都受到影响吗?所有的的用户都受到影响吗?
该问题什么时候开始发生?它发生在您第一次注意到该问题时还是已经发生了一段时间而没有被注意到?
如果您目前遇到一个与Exchange 服务器某个特别功能或技术有关的问题,该功能或者技术曾经在您的部署中生效过吗?如果是的话,它什么时候停止工作?您知道它上一次正常工作是什么时候?
您更改过什么?如果它以前工作正常现在工作不正常,有一些设置被更改了。您移动一个或者多个邮箱吗?创建一个或多个新的用户?是路由失效了吗?是某个服务没有被运行?有队列发生阻塞吗?
您正在运行的Exchange 服务器的版本是什么?安装过哪些服务包或者更新?如果有的话,它们应用到您的组织中的所有同一版本的服务器上了吗?
您有运行任何第三方软件,像防病毒软件?您执行过像自定义防病毒筛选那样,使用事件接收这样的自定义吗?
Windows 服务器组件像DNS、活动目录、IIS和SMTP工作正常吗?与这些服务关联的Windows 服务器(Exchange 服务器必须的)在运行吗?
Exchange 服务器上的MX记录配置正确吗?
收件人策略配置正确吗?
用户能够发送邮件吗?
用户能够接收邮件吗?
如果所有的用户都受到出站邮件流的影响,我该如何做?
在所有的用户都受到入站邮件流的影响的场景中,考虑下面这些:
出站邮件流以前工作正常吗?如果出站邮件流以前工作正常,最近做过哪些修改?如果以前工作也不正常,DNS能够解析Exchange 服务器的MX记录吗?SMTP连接器配置正确吗?从Exchange 服务器到智能主机可达吗?
邮件发生了什么?当发送邮件的时候,发生了什么?您有没有收到未送达报告(NDRs)?该邮件停留在Outlook中吗?该邮件停留在SMTP虚拟服务器的一个队列中吗?该邮件显示被发送,但是没有被成功传递吗?如果只有一些用户受到出站邮件流的影响,我该如何做?
在只有一些用户受到入站邮件流的影响的场景中,考虑下面这些:
队列 有邮件堆在队列中吗?
未送达报告 用户收到未送达报告了吗?有关更多的信息,请参考该文章后面的问题“如果用户收到未送达报告(NDRs)我该如何做。
管理选项 管理员在用户的特定的组上配置了限制吗?在出站的邮件上有大小限制吗?用户超过它们的限制了吗?受影响的用户能发送邮件到其他的域或特定的一个域?使用消息跟踪,并发送邮件到该用户,跟随发生在您的Exchange 服务器组织中的路径。
如果用户收到未送达报告(NDRs)我该如何做?
如果您的用户收到一个NDR,一定要参考NDR内容和错误代码。以4开头的错误代码说明持续性瞬时故障,以5开头的错误代码说明持久性故障。当您使用未送达报告(NDRs)来排错入站邮件流的问题的时候,您应该考虑下面这些问题:
使用哪种类型的客户端?它们的版本是什么?
当它们发送邮件到一个特定的收件人或每个收件人时,一个或者多个用户收到NDRs吗?
其他用户能够成功发送邮件到同一服务器上的同一收件人吗?
其他服务器上的用户遇到同一问题吗?
该问题只发生在某个特定的站点或者它发生在多个站点?
该问题能够被重现吗?
什么类型的收件人遇到该问题?
收件人的物理位置在哪?
收件人是如何被写到邮件的To 字段中?
我如何确认邮件循环?
一个邮件当它在网关之间被不停地弹回而没有传递,该邮件被认为是循环。邮件循环的主要提示是未送达报告(NDR)。下面这些NDRs说明邮件循环:
当最大跳数达到时触发,如SMTP虚拟服务器中配置的SMTP接收头指示的那样。在Exchange 2003中缺省的最大跳数是30 。
当严重的错误引起高级队列引擎发送SMTP邮件到邮件传输代理(MTA)时触发。
当一个Exchange 服务器企图发送邮件到目标服务器,目标服务器又解析回它自己时触发。引起该错误有下面这些原因:
有不止一个SMTP虚拟服务器使用非唯一的FQDN
在DNS中,目标服务器名称被配置为和发送服务器相同的IP地址
带有星号地址空间的SMTP连接器尝试将发送服务器作为智能主机来转发邮件。5.4.6 当Exchange 服务器邮件分类器在它自己的循环检测逻辑之下检测到一个失败的条件时触发,引起该错误有下面这些原因:
邮件发送到联系人、启用邮件的用户或外部一次性收件人,该收件人的TargetAddress 中的SMTP域匹配某个收件人策略中的权威域。
邮件发送到拥有TargetAddress属性的启用邮件的用户。
邮件发送到内部收件人列表,该列表启用日记收件人做为第一个收件人。
邮件发送到一个拥有AlternateRecipients 或forwardingAddress 属性的邮箱,这些属性指回到该邮箱。
5.4.8 当Exchange 服务器组织中的某个服务器拥有匹配收件人策略域名的完全限定域名(FQDN)时触发。
我应该监视哪些队列?
在发生出站邮件流的时候,邮件将经过下面这些队列。如果队列有问题,邮件也许不会被传递。考虑使用Exchange System Manager 中的队列查看器来监视状态和下面队列的状况。
邮件暂缓提交 也称为预提交队列。该队列包含被SMTP服务接受的邮件。该队列中的邮件还没有被邮件分类器处理。如果邮件堆积在该队列中,它可能说明Exchange 服务器的性能问题,或它可能说明事件接收器的问题(像用来屏蔽防病毒的自定义SMTP处理代码)。
等待目录查找的邮件 也称为预分类队列。该队列包含已经过了预提交队列并等待邮件分类处理的邮件。邮件将堆积在该队列中,当邮件分类不能处理邮件时。导致邮件分类器不能处理邮件的原因如下:
邮件分类器不能访问全局编录服务器来获得收件人信息。
全局编录服务器执行速度很慢。
如果这是一个前端服务器,前端服务器上要求的邮箱存储被禁用。
本地传递 包含去往位于本地Exchange 2003 服务器上的收件人邮箱的邮件。如果Microsoft Exchange Information Store 服务没有接受邮件或者如果它有性能问题,邮件将堆积在该队列中。
等待路由的邮件 包含去往远程传递的邮件,如果路由出现问题,邮件将堆积在该队列中。
远程传递 包含去往远程传递的邮件。如果该队列处于重试状态(也就是该连接已经失败),使用Telnet.exe 来尝试连接到指定的目标主机。重启SMTP虚拟服务器来立即重新发送队列中的邮件。
无法到达最终目标邮件 包含无法到达他们的最终目标服务器的邮件。邮件无法到达它们的目标的原因有下面这些:
路由无法确定
路由不可用
连接器停用
正在排队等待稍后传递的邮件 包含排队等待稍后传递的邮件。邮件位于该队列有下面这些原因:
邮件由旧版本的Microsoft Outlook 发送(像Outlook 2000)。
邮件发送到一个已被移动的用户邮箱。
用户尚未创建邮箱,并且不存在对应于该用户的主帐户安全标识符 (SID)。
SMTP邮件路由的不正确配置引起邮件循环(循环的邮件被移动到该队列)
暂缓提交的 DSN 邮件 包含等待被Exchange 服务器传递的传递状态通知。例如,NDRs也称传递状态通知 。邮件堆积在该队列中有下面这些原因:
Microsoft Exchange Information Store 服务不可用或没有运行。
邮箱存储没有被加载。
IMAIL Exchange 存储组件存在问题
重试已失败邮件的队列 包含队列提交失败的邮件。有几个原因能导致邮件失败,包括如果邮件损坏或如果系统资源太低。如果邮件出现在该队列中,检查您的服务器配置,来判断您是否有非Microsoft 程序或者安装了能够干涉邮件队列的事件接收器(像病毒扫描器)。如果系统响应很慢,使用Windows 任务管理器来确认进程占用的系统资源。重启IIS也许可以临时解决该问题,同时允许您有更多的时间去确认该问题的根本原因。