MX记录

本页使用了标题或全文手工转换
维基百科,自由的百科全书

邮件交换记录 (MX record)是域名系统(DNS)中的一种资源记录类型,用于指定负责处理发往收件人域名的邮件服务器。MX记录允许设置一个优先级,当多个邮件服务器可用时,会根据该值决定投递邮件的服务器。简单邮件传输协议(SMTP)会根据MX记录的值来决定邮件的路由过程。

概述

资源记录是域名系统(DNS)的基本信息单元,它们由“记录类型”(例如A,MX,NS等)和“DNS类”(例如Internet,CHAOS等)来加以区分。每条记录都拥有一个有效期(TTL,time-to-live),每当这个时间耗尽后,它们所包含的信息必须从一个权威的名称服务器上进行更新。DNS中的资源记录是按照名称字段组织的,即DNS树中一个节点的完整网域名称 (FQDN)。而对于MX记录而言,这就是收件人的电子邮件地址的域名部分,即@后面的部分。也就是说,对于[email protected]这个电子邮件地址,example.com会用做MX记录的查询。

MX记录中的资讯必需为“完整网域名称”和“优先序值”。而其网域名称必须能够对应到一个或者多个DNS中类型为A或者AAAA的地址记录, 且根据RFC2181,原则上禁止指向CNAME记录。此外,MX记录不能直接设定为A或AAAA记录来对应IP位址,这是DNS管理者常见的错误。[1]

当通过互联网发送电子邮件时,发送方的邮件传输代理(MTA,Mail transfer agent)将会向DNS发送请求,查询每个收件人的邮箱域名的MX记录。这个请求将会返回可以接受发往该邮箱域名的邮件交换服务器的列表,以及它们的优先级。接下来,发送方的传输代理将会尝试和这些服务器建立SMTP连接。

MX记录的机制允许为一个邮件域名配置多个服务器,并且允许管理员通过优先级指定尝试连接他们的先后顺序。这对于配置由多个邮件服务器构成的高可用性集群是非常有用的。

MX记录的机制无法改变邮件服务使用的端口号,也无法以不同优先级为权重来将邮件分发给不同的邮件服务器。但是,可以通过指定相同的优先级来将邮件等可能性地分发给多个邮件服务器。[2]

MX的偏好,距离和优先次序

根据RFC 5321, 越小的数字代表越高的优先次序[3]。这个字眼可能会令人困惑,所以“偏好数字”应该被视为“距离”为佳:更短的距离为更可取。早前的RFC(RFC 974)指出,当两个服务器的首选号码相同时,它们具有相同的“优先次序”,因此这两个术语可以互换使用的。

备份MX

一个“目标伺服器”,即是通常是最优选的一个知道如何发送给相关用户电子邮箱的伺服器。其他较低优先次序(数字较大的)的服务器,又名为“备份MX”或“次要MX”,通常将讯息保存并等待主服务器可用的时候再提取。 如果两台服务器都在线或以某种方式相互连接,则备份MX通常只会短暂性地存放讯息,并立即将其转发至主MX的伺服器上。备份MX多数只为充当存储和转发的邮件服务器。

优先次序

邮件会传递到以最小优先编号(最高优先级)的邮件交换伺服器,因此用于邮件传递的MX记录应该具有最小的优先编号,通常为0。 例如使用0作为邮件路径记录,并使用10作为验证您拥有您的域名。MX优先次序决定服务器应该被联络的顺序(假设有多个服务器并具有不同的优先次序):最优先的服务器(以及最小优先编号)将首先被尝试联络。基本上在DNS记录中都会显示其优先编号,但有时也会错误地标记为“优先”。

关于MX优先次序的一个常见的误解是,它旨在增加邮件传递的可能性,但只有具备相同首选优先次序的MX伺服器才能提供此优势,因为MX优先次序规定某些服务器应该首先被尝试联络。 MX优先次序的另一个常见误解是,为伺服器负荷过量情况下的“故障转移”方法。虽然也可以这样使用,但这是一种不好的资源管理技术,因为它故意造成过载,并没有充分利用可用的硬件。只要为所有的伺服器分配相同的优先次序也一样可以做的到,甚至可以帮助避免负荷过量情况,从而减少延迟来提高系统速度。

SMTP协议建立一个存储转发网络,如果某个网域的所有邮件伺服器都处于离线状态时,那么发送邮件伺服器将会对发送往该网域的邮件进行排队,以便稍后重试。但是,这些伺服器无法得知该网域早前离线伺服器的线上状况。发送邮件伺服器只有在下次尝试再传送时才会发现该域是可用的。发送邮件伺服器的发送时间与最终抵达目的地伺服器之间的延迟时间可能由几分钟到几天之间不等,这取决于发送服务器的重试排程。这才是唯一利用备用MX的解决办法。这个方法就是利用次要MX伺服器外带数据的方法得知主伺服器恢复上线的时间。因此,当主服务器离线时,讯息将会发送比在发送伺服器排列重新尝试发送时有更好的地方。

以下列出一些不能或者不应该把备用的伺服器设为同等的优先次序的原因:

  • 备用伺服器的拥有人不同于主伺服器
  • 备用伺服器不能直接存取到主要邮件位置
  • 备用伺服器不能分辨有效的收件人地址
  • 备用伺服器的流量成本较高
  • 备用伺服器有明显的频宽速度问题
  • 备用伺服器的频宽有高延迟的问题

参考资料

  1. ^ RFC 2181, Section 10.3, Clarifications to the DNS Specification, R. Elz, R. Bush (July 1997)
  2. ^ HOWTO - Configure Round Robin and Load Balancing页面存档备份,存于互联网档案馆), Page modified: February 28 2014., zytrax.com
  3. ^ RFC 5321