理解SMTP邮件路由:以smail为例

需积分: 50 75 下载量 72 浏览量 更新于2024-08-11 收藏 7.06MB PDF 举报
"Linux网络管理员指南.pdf" 在《Linux网络管理员指南》中,作者Olaf Kirch深入探讨了网络基础知识,特别是以UUCP和TCP/IP为基础的网络。在13.7章节“消息的路由”中,讲解了邮件系统smail处理消息传递的机制。 smail在接收到邮件后,首先会确定邮件的目标是本地主机还是远程站点。如果目标地址是配置在config文件中的本地主机名,邮件会被传递给定向器模块。如果目标是远程站点,smail会利用一系列路由器驱动程序寻找最合适的转发路由器。这些路由器可以在路由器文件中定义,如果没有该文件,则会使用默认路由器。 路由器的选择基于与邮件目标地址的匹配程度。例如,如果有两条路由信息,一条是针对bar.com域的默认路由,另一条是针对foo.bar.com的具体路由,那么更具体的foo.bar.com路由会被优先选择。如果有两个路由同样匹配,路由器列表中靠前的会被选用。 一旦找到最佳路由器,smail可能会根据邮件传输协议(如UUCP)生成新的目标地址,并指示传输协议(如UUCP)使用这个新地址,将邮件发送给下一个节点。例如,如果UUCP路由显示到达foo.bar.com需要经过ernie!bert路径,smail会生成新地址:bert!foo.bar.com@!user,并让UUCP使用这个地址。 默认情况下,如果目标主机地址可以通过gethostbyname(3)或gethostbyaddr(3)库函数解析,smail会通过SMTP发送邮件,除非目标地址指向本地主机。此外,smail还允许使用点分十进制的IP地址作为合法的主机名。 然而,对于连接到Internet的机器,不支持MX记录的这些路由器可能无用。在这种情况下,需要采取其他策略,这在后续内容中会有详细解释。网络基础部分还涵盖了UUCP和TCP/IP协议套件的基本原理,以及网络中主机间的通信协议和规则。 此段落主要介绍了邮件系统smail的路由过程,以及在Linux环境下网络管理的一些基础知识,强调了网络通信中协议和路由选择的重要性。对于理解网络通信的内部工作原理和邮件系统的运作模式具有重要意义。