邮件在Exchange中的路由过程

怀抱观古今,寝食展戏谑。这篇文章主要讲述邮件在Exchange中的路由过程相关的知识,希望能为你提供帮助。
Exchange 服务、组件很多,邮件在内部的流向也比较复杂,再此详细介绍一下。


邮件流图下图为官方的邮件流图。

详解服务

  • Front End Transport service on Client Access servers:
即客户段访问服务器的前端传输服务: 为所有的入站邮件提供无状态的代理。也可以配置为出站邮件的无状态代理。 该服务不检查邮件内容,不直接和 Mailbox Transport service on Mailbox Servers 通讯,也不会在本地对邮件进行排队。
  • Transport service on Mailbox servers:
【邮件在Exchange中的路由过程】 即邮箱服务器的传输服务:所有邮件流必须经过此服务处理。 该服务会对邮件进行分类、对内容进行检查。 该服务不直接和Mailbox Database直接通讯。 真正和Mailbox Database通讯的服务是Mailbox Transport service【下一个要介绍的服务】。
该服务从本地或其他邮箱服务器的邮箱传输服务(内部邮件)、或客户端访问服务器的前端传输服务(外部邮件)接收SMTP邮件。对邮件内容进行检查,如果启用反垃圾功能的话,也会进行反垃圾检查,然后提交到提交对列,通过分类程序进行分类并提交到传输队列。最后发送到内部的邮箱传输传递服务或通过发送连接器发送到internet。
该服务主要由以下组件组成:
SMTP Receive: 接收邮件并进行内容和反垃圾检查。
Submission:邮件提交,邮件完成内容检查后,由Submission将邮件提交到提交队列。
Categorizer: 分类程序,每次从提交队列中选取一封邮件进行分类,所谓分类,就是进行收件人解析、路由解析、内容转换。
SMTP Send: 跟进分类程序的收件人和路由解析结果执行发送动作。


  • Mailbox Transport service on Mailbox servers:
即邮箱服务器的邮箱传输服务: 由该服务和Mailbox database通讯。 该服务实际上又是由独立的两个服务来组成,Mailbox Transport Submission service 和 Mailbox Transport Delivery service。
  • Transport Submission service:
即邮箱传输提交服务: 该服务通过RPC连接到本地的Mailbox database从用户信箱检索邮件,并通过SMTP发送到本地或其他邮箱服务器的传输服务。由传输服务进行分类然后进行路由。
  • Mailbox Transport Delivery service:
即邮箱传输传递服务: 该服务从本地或者其他邮箱服务器的传输服务接收邮件,然后通过RPC连接到本地的Mailbox database,将邮件投递到用户信箱。
案例说明
  • 内部用户a给内部用户b和外部用户c发送邮件
1."邮箱传输提交服务"通过RPC连接到数据库检索邮件-> 2.将邮件发送到"传输服务","传输服务"的"SMTP Receive"组件接收,进行内容检查-> 3.Submission组件进行提交到提交队列-> 分类程序选取邮件,进行收件人解析,路由解析,决定发送到哪-> 4.提交到队列准备发送-> 5.收件人b是内部用户,c是外部用户-> 6.将发送给b的邮件发送到邮箱传输传递服务,将发送给c的邮件直接通过发送连接器发送到互联网-> 7.邮箱传输传递服务通过RPC连接数据库,将邮件投递到B用户的邮箱。
如下图:

  • 外部用户C发给内部用户A
1.客户端访问服务器"前端传输服务"接收邮件-> 2.发送到邮箱服务器的"传输服务","SMTP Receive"组件接收,进行内容检查-> 3.Submission组件提交至提交队列-> 4.分类程序选取邮件,进行收件人解析,路由解析-> 5.提交到队列准备发送-> 6.收件人A为内部用户,直接发送到邮箱传输传递服务-> 7.邮箱传输传递服务通过RPC连接数据库,将邮件投递到用户邮箱。
如下图:


    推荐阅读