RFC 821表示MAIL动词可以给出形式"@ONE,@TWO:JOE@THREE"的<forward-path>参数,以指示中间路由主机(@ONE,@TWO)和电子邮件(JOE@THREE)的最终接收方。参见3.6,继电器:https://www.rfc-editor.org/rfc/rfc821
RFC 2821规定,如果一个SMTP服务器被发送到@ONE,@TWO:JOE@THREE的前向路径,则通过在THREE上执行DNS MX查找,电子邮件可以直接路由到JOE@THREE --绕过中间主机。参见3.7,中继:https://www.rfc-editor.org/rfc/rfc2821
我相信我正确地理解了RFC 2821 : DNS MX查找只会返回域的SMTP服务器的IP (例如这里的@THREE )。是这样的吗?然而,我完全不明白的是,如何在RFC 821下发送电子邮件。此规范是在DNS存在之前编写的,所以我假设在hosts.txt文件中指定了任何主机名?带有前向路径的电子邮件是如何路由的?
发布于 2013-01-31 22:31:01
所以这是一个历史问题?
在DNS存在之前,就像您所说的那样,主机名将用HOSTS.TXT解析,或者通常通过本地可用的其他主机名解析方法(/etc/hosts,可能是NIS,什么的)来解析主机名。但是,只有在本地邮件传输代理的配置不包含显式路由指令的情况下才会这样做。考虑到当时大多数邮件都是通过UUCP发送的,大多数邮件传输代理大多基于这些显式指令(通过"mailertable“和其他键值数据库查找来查询)。如果您是一个连接良好的UUCP主机,您将有一个大型的路由数据库,该数据库通过UUCP网络(邦路径)将每个目标映射到一个计算的逐跳路径。如果您是一个小型的终端站点,您可能只有一个通往上游UUCP主机的默认路由。
所有这些都与您询问的源路径无关。如果您有一个目标JOE@THREE,那么您将按照我描述的方式查找THREE (例如,很可能通过您的"mailertable“数据库)。如果您有@ONE,@TWO:JOE@THREE,那么您将查找ONE。
当然,今天,互联网上没有MTA会尊重一个源路径。如果现代MTA完全接受语法(很可能不接受),它将忽略源路由,直接查找THREE。信任源路由被认为是不安全的,而且MTA在默认情况下不再是打开中继。
https://serverfault.com/questions/474342
复制相似问题