邮件交换记录 (MX record)是
域名系统(DNS)中的一种
资源记录类型,用于指定负责处理发往收件人域名的
邮件服务器。MX记录允许设置一个优先级,当多个邮件服务器可用时,会根据该值决定投递邮件的服务器。
简单邮件传输协议(SMTP)会根据MX记录的值来决定邮件的路由过程。
其他信息
资源记录是域名系统(DNS)的基本信息单元,它们由的“记录类型”(例如A,MX,NS等)和“DNS类”(例如Internet,CHAOS等)来加以区分。每条记录都拥有一个有效期(
TTL,time-to-live),每当这个时间耗尽后,它们所包含的信息必须从一个权威的名称服务器上进行更新。DNS中的资源记录是按照名称字段组织的,即DNS树中一个节点的完整网域名称(FQDN)。而对于MX记录而言,这就是收件人的
电子邮件地址的域名部分,即@后面的部分。也就是说,对于someone@example.com这个电子邮件地址,example.com会用做MX记录的查询。
MX记录中的信息包括完整网域名称和优先级。其中网域名称必须能够映射到一个或者多个DNS中类型为A或者AAAA的地址记录, 且根据RFC2181,原则上禁止指向CNAME记录.
当通过互联网发送电子邮件时,发送方的邮件传输代理(MTA,Mail transfer agent)将会向DNS发送请求,查询每个收件人的邮箱域名的MX记录。这个请求将会返回可以接受发往该邮箱域名的邮件交换服务器的列表,以及它们的优先级。接下来,发送方的传输代理将会尝试和这些服务器建立SMTP连接。
MX记录的机制允许为一个邮件域名配置多个服务器,并且允许管理员通过优先级指定尝试连接他们的先后顺序。这对于配置由多个邮件服务器构成的
高可用性集群是非常有用的。
MX记录的机制无法改变邮件服务使用的
端口号,也无法以不同优先级为权重来将邮件分发给不同的邮件服务器。但是,可以通过指定相同的优先级来将邮件等可能性地分发给多个邮件服务器。
MX的偏好
根据RFC 5321, 越小的数字代表越高的优先次序。这个字眼可能会令人困惑,所以“偏好数字”应该被视为“距离”为佳:更短的距离为更可取。早前的RFC(RFC 974)指出,当两个服务器的首选号码相同时,它们具有相同的“优先次序”,因此这两个术语可以互换使用的。
备份MX
一个“目标服务器”,即是通常是最优选的一个知道如何发送给相关用户
电子邮箱的服务器。其他较低优先次序(数字较大的)的服务器,又名为“备份MX”或“次要MX”,通常将讯息保存并等待主服务器可用的时候再提取。 如果两台服务器都在线或以某种方式相互连接,则备份MX通常只会短暂性地存放讯息,并立即将其转发至主MX的服务器上。备份MX多数只为充当存储和转发的邮件服务器。
优先次序
邮件会传递到以最小优先编号(最高优先级)的邮件交换服务器,因此用于邮件传递的MX记录应该具有最小的优先编号,通常为0。 例如使用0作为邮件路径记录,并使用10作为验证您拥有您的域名。MX优先次序决定服务器应该被联络的顺序(假设有多个服务器并具有不同的优先次序):最优先的服务器(以及最小优先编号)将首先被尝试联络。基本上在DNS记录中都会显示其优先编号,但有时也会错误地标记为“优先”。
关于MX优先次序的一个常见的误解是,它旨在增加邮件传递的可能性,但只有具备相同首选优先次序的MX服务器才能提供此优势,因为MX优先次序规定某些服务器应该首先被尝试联络。 MX优先次序的另一个常见误解是,为服务器负荷过量情况下的“故障转移”方法。虽然也可以这样使用,但这是一种不好的资源管理技术,因为它故意造成过载,并没有充分利用可用的硬件。只要为所有的服务器分配相同的优先次序也一样可以做的到,甚至可以帮助避免负荷过量情况,从而减少延迟来提高系统速度。
SMTP协议建立一个存储转发网络,如果某个网域的所有邮件服务器都处于离线状态时,那么发送邮件服务器将会对发送往该网域的邮件进行排队,以便稍后重试。但是,这些服务器无法得知该网域早前离线服务器的线上状况。发送邮件服务器只有在下次尝试再传送时才会发现该域是可用的。发送邮件服务器的发送时间与最终抵达目的地服务器之间的延迟时间可能由几分钟到几天之间不等,这取决于发送服务器的重试排程。这才是唯一利用备用MX的解决办法。这个方法就是利用次要MX服务器外带数据的方法得知主服务器恢复上线的时间。因此,当主服务器离线时,讯息将会发送比在发送服务器排列重新尝试发送时有更好的地方。
以下列出一些不能或者不应该把备用的服务器设为同等的优先次序的原因:
添加MX记录
以在Windows Server 2003系统的
DNS服务器中添加MX记录介绍方法:
第1步,在DNS控制台窗口中首先添加一个
主机名为mail的主机记录,并将域名映射到提供邮件服务的计算机IP地址上。
第2步,在“
正向查找区域”目录中右键单击准备添加MX邮件交换记录的域名,选择“新建
邮件交换器(MX)”命令。
第3步,打开“新建
资源记录”对话框,在“
邮件服务器的完全合格的域名(FQDN)”编辑框中输入事先添加的邮件服务器的
主机域名。或单击“浏览”按钮,在打开的“浏览”对话框中找到并选择作为邮件服务器的主机名称(如mail)。
第4步,返回“新建资源记录”对话框,当该区域中有多个MX记录(即有多个邮件服务器)时,则需要在“邮件服务器优先级”编辑框中输入数值来确定其优先级。通过设置优先级数字来指明
首选服务器,数字越小表示优先级越高。最后单击“确定”按钮使设置生效。
第5步,重复上述步骤可以添加多个MX记录,并且需要在“邮件服务器优先级”编辑框中分别设置其优先级。