DNS(域名系统)和 SMTP 邮件路由

域名系统 (DNS) 是一个目录,SMTP 使用它来将名称(如 renovations.com)转换为可以接收指向该名称的连接的服务器列表,以及查找特定服务器的 IP 地址。通过在 DNS 中查找目标服务器的地址,发送方服务器可以正确地将邮件路由至收件人。

DNS 使用两种记录:邮件交换程序 (MX) 记录和 A 记录MX 记录将域名称与一个或多个邮件主机名称相对应。A 记录则将主机名与服务器的 IP 地址相对应。

邮件服务器还使用其他 DNS 记录。例如,接收因特网邮件的服务器对 DNS PTR 记录执行反向查找,以确定给定 IP 地址的主机名。反向查找在验证邮件来源时非常有用,是一个限制中继访问到您的服务器或防止 UCE(商业垃圾邮件)的重要工具。

必须正确配置 DNS,以使其支持您使用 SMTP。为了确定目标域的邮件服务器的 IP 地址,HCL Domino®执行下列步骤:

  1. 服务器在 DNS 中查找每个收件人地址的域部分。
  2. 如果 DNS 找到 MX 记录,服务器将尝试连接至在 MX 记录中列出的服务器。如果有多个 MX 记录,服务器则将尝试连接至开销最低的记录。如果有多个 MX 记录的开销同样低,服务器将随机选择一个并尝试连接至在该 MX 记录中列出的服务器。
    注: 一个特定的域名称可能有多个 MX 记录。在 DNS 中查找主机名称会找到 A 记录。A 记录包含主机的 IP 地址。
  3. 如果 DNS 只找到一个 A 记录,Domino® 会将邮件路由至这个 A 记录中的 IP 地址。
  4. 如果 DNS 未找到记录,则 Domino® 将无法传递邮件,并向发件人发送未传递的邮件。

MX 记录将域名称与一个或多个主机名称相对应。A 记录则将主机名与服务器的 IP 地址相对应。由于下列原因,您可能还想在 MX 记录中使用主机名称,而不仅仅只在 A 记录中使用主机名称:

  • 某些第三方工具只识别主机名称,而不识别 IP 地址。
  • 如果替换或挪动计算机,则可以向新的或挪动后的计算机分配现有的主机名和 IP 地址。这种更改对用户来说是透明的,而且邮件能够继续被正确路由。

通过在 DNS 服务器上为一个域名称创建多个 MX 记录,可以使用 DNS 为邮件服务器提供故障转移和负载均衡。当为一个名称设置了多个 MX 记录时,可以设置首选项值来控制 DNS 如何选择这些记录。DNS 会首先选择值较低的首选项。例如,DNS 会首先选择 5 然后再选择 10。如果多个 MX 记录具有相同的首选项值,那么 DNS 将随机从这些 MX 记录中进行选择。如果其中一个 MX 记录失败(例如,由于服务器不可用),则 DNS 会对该故障进行高速缓存,并试图使用相同权值的其他 MX 记录,然后再选择第二首选 MX 记录。

例如,renovations.com 域具有四个 MX 记录:

  • MX 记录:renovations.com IN MX 5 mail1.renovations.com
  • MX 记录:renovations.com IN MX 5 mail2.renovations.com
  • MX 记录:renovations.com IN MX 10 mail3.renovations.com
  • MX 记录:renovations.com IN MX 10 mail4.renovations.com

当用户试图连接到 renovations.com 时,DNS 首先使用首选项值为 5 的 MX 记录。如果两个 MX 记录的首选项值都为 5,则 DNS 将随机选择 mail1.renovations.com 或 mail2.renovations.com 的 MX 记录。如果 DNS 为 mail1.renovations.com 返回 MX 记录且 mail1.renovations.com 不可用,那么 DNS 为 mail2.renovations.com 返回 MX 记录。如果 mail2.renovations.com 不可用,那么具有成本 5 的两个 MX 记录已失败。然后 DNS 将选择开销为 10 的 MX 记录,并以与使用开销为 5 的 MX 记录相同的方法来使用这些记录。