A mail exchanger record (MX record) is a type of resource record in the Domain Name System that specifies a mail server responsible for accepting email messages on behalf of a recipient's domain, and a preference value used to prioritize mail delivery if multiple mail servers are available. The set of MX records of a domain name specifies how email should be routed with the Simple Mail Transfer Protocol (SMTP).

The characteristic payload information of an MX record is the fully qualified domain name of a mail host and a preference value. The host name must map directly to one or more address record (A, or AAAA) in the DNS, and must not point to any CNAME records.

When an e-mail message is sent through the Internet, the sending mail transfer agent (MTA) queries the Domain Name System for MX records of each recipient's domain name. This query returns a list of host names of mail exchange servers accepting incoming mail for that domain and their preferences. The sending agent then attempts to establish an SMTP connection.

The MX mechanism provides the ability to run multiple mail servers for a single domain, and allows administrators to specify an order in which they should be tried.

A favorite technique of spammers is to connect to the backup (high distance) MX servers for a domain first in order to avoid any anti-spam filters that may be running on the primary (lowest distance/highest preference) MX. Backup MX servers often have different anti-spam techniques, and using them can hide the spammer's IP address from the primary MX servers. This can be foiled by using bogus high-distance MX servers.

Alternatively, sometimes spammers only target the lowest-distance MX records for domains, and do not fall back to higher-distance MX records when the lowest-distance MX records are unreachable. A technique called nolisting will defeat this behavior.

最新文章

  1. android audio无法自动播放
  2. 【分布式协调器】Paxos的工程实现-cocklebur选举
  3. 【BZOJ-3174】拯救小矮人 贪心 + DP
  4. NYOJ题目1082买新书了
  5. java中重载、覆盖和隐藏三者的区别分析
  6. IOS开发--UI进阶之iCarousel学习(待翻译)
  7. NGINX原理分析 之 SLAB分配机制
  8. JavaScript Date 时间对象方法
  9. ●BZOJ 3672 [Noi2014]购票
  10. python字典无限遍历
  11. ASP.NET MVC4应用程序配置跨域访问
  12. C++学习笔记51:排序
  13. Java知多少(57)主线程
  14. 使用Html Agility Pack快速解析Html内容
  15. VC中编译报错:error C2011: 'fd_set' : 'struct' type redefinition
  16. 基于duxshop遍历无限级分销用户的纵向递归
  17. 同志亦凡人第一季/全集BQueer As Folk 1迅雷下载
  18. JavaScript-this理解
  19. 〖Linux〗VirtualBox修改虚拟电脑硬盘(vdi)空间大小
  20. Qt之QML开发常用知识

热门文章

  1. Python基础——判断和循环
  2. Python学习笔记:字符串
  3. oracle如何保证读一致性 第二弹
  4. 天问之Linux内核中的不明白的地方
  5. centos新增或删除用户
  6. win7创建共享给windows和linux机器
  7. selenuim2模拟鼠标键盘操作
  8. jeecg使用uploadify上传组件
  9. luogu3383 【模板】线性筛素数
  10. WebService的简介, 原理, 使用,流程图