浅释邮件服务相关的DNS记录

浅释邮件服务相关的DNS记录

本文转自http://www.altn.net.cn/669.html

邮件服务最常用到的DNS记录有A记录、MX记录、PTR记录、SPF记录。

A记录、AAAA记录
        A(Address)记录是用来指定主机名(域名)对应的IP地址的记录,一个邮件服务器必须有一个A记录,A记录对应IPV4,AAAA对应IPV6。如QQ邮箱的其中的一个邮件服务器A记录:


MX记录

MX(Message Exchanger)记录是用来指定一个域的邮件服务器主机的记录。邮件服务器在发送邮件时,如找不到收件者域名的MX记录,会找该域的域名A记录,故一般都会将域名A记录与MX记录的主机名A记录设置相同的IP。MX记录值是一个主机名,而不是一个IP地址,这一点必须注意,实际中经常发现有些公司将MX记录的值设为IP地址,从而造成邮件无法正常接收。一个域可以有多个邮件服务器,即多个MX记录,不同的MX记录一般设置不同的优先级,优先级数值小的优先级高。

如QQ邮箱的MX记录:



PTR记录

PTR(Pointer Record)记录,即反向解析记录,与MX记录相对,是用来将一个IP地址指向一个主机名,由ISP(Internet Service Provider)互联网服务提供商(如:中国电信)设置,可以多个IP指向同一个主机名。PTR记录是用来供邮件接收方验证发送方的邮件服务器主机。如果是租用的QQ、网易等企业邮箱,则不用设置PTR。如果邮件接收服务器与发送服务器不是同一台服务器,则PTR指向发送服务器,MX指向接收服务器。
        如OOCL的MX记录和PTR记录:



SPF记录、TXT记录

SPF(Sender Policy Framework 发件人策略框架)记录。SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。如果发送邮件服务器很多,则可能需要设置多个SPF记录。
        SPF 记录包含在一个 TXT 记录之中,格式如下:
        v=spf1 [[pre] type [ext] ] ... [mod]
        每个参数的含义如下表所示:
        v=spf1 SPF 的版本。
        pre 定义匹配时的返回值。可能的返回值包括:
        + 缺省值。在测试完成的时候表示通过。
        - 表示测试失败。这个值通常是 -all,表示没有其他任何匹配发生。
        ~ 表示软失败,通常表示测试没有完成。
        ? 表示不置可否。这个值也通常在测试没有完成的时候使用。
        type 定义使用的确认测试的类型。可能的值包括:
        include

包含一个给定的域名的测试,以 include:<domain> 的形式书写。例如:
      "v=spf1 include:example.com -all" 
        即采用和 example.com 完全一样的 SPF 记录
        all  

    终止测试序列。比如,如果选项是 -all,那么到达这条记录也就意味着测试失败了。但是如果无法确定,可以使用"?all"来表示,这样,测试将被接受。例如:
        "v=spf1 -all" 拒绝所有(表示这个域名不会发出邮件)
        "v=spf1 +all" 接受所有(域名所有者认为 SPF 是没有用的,或者根本不在乎它)
        ip4     

使用 IPv4 进行验证。这个可以以 ip4:<ipv4-address>或ip4:<ip4-network>/<prefix-length> 的形式使用。指定一个 IPv4 地址或者地址段。如果<prefix-length>没有给出,则默认为/32。例如:
       "v=spf1 ip4:192.168.0.1/16 -all"
        只允许在 192.168.0.1 ~ 192.168.255.255 范围内的 IP
        ip6

使用 IPv6 进行验证。这个可以以 ip6:ipv6 的形式使用。格式和ip4的很类似,默认的<prefix-length>是/128。例如:
        "v=spf1 ip6:1080::8:800:200C:417A/96 -all"
        只允许在 1080::8:800:0000:0000 ~ 1080::8:800:FFFF:FFFF 范围内的 IP
        a

使用一个域名进行验证。可以按照a:domain, a:domain/<prefix-length> 或 a/<prefix-length>的形式来使用。格式为以下四种之一:
        a
        a/<prefix-length>
        a:<domain>
        a:<domain>/<prefix-length>
        例如:
        "v=spf1 a/24 -all" 这个用法则允许一个地址段。
        mx

使用 DNS MX RR 进行验证。MX RR 定义了收信的 MTA,这可能和发信的 MTA 是不同的,这种情况基于 mx 的测试将会失败。可以用mx:domain, mx:domain/cidr 或 mx/cidr 这些形式进行 mx 验证。例如: 
        "v=spf1 mx -all"
        允许当前域名的 mx 记录对应的 IP 地址。
        "v=spf1 mx mx:deferrals.example.com -all"
        允许当前域名和 deferrals.example.com 的 mx 记录对应的 IP 地址。
        exist

验证域名的存在性。可以写成 exist:<domain> 的形式。将对<domain>执行一个A查询,如果有返回结果(无论结果是什么),都会看作命中。
        ptr

使用域名服务器的 PTR记录进行验证。这个参数的写法是 ptr:<domain>。这时,SPF 使用 PTR记录和反向图进行查询。如果返回的主机名位于同一个域名之内,就验证通过了。使用ptr机制会带来大量开销的 DNS 查询,所以连官方都不推荐使用它。
        ext

定义对 type 的可选扩展。如果没有这个字段,那么仅使用单个记录进行问询。
        mod

这是最后的类型指示,作为记录的一个修正值。
        redirect 重定向查询,格式为:redirect=<domain>,将用给定的域名的SPF记录替换当前记录。
        exp格式为exp=<domain>,目的是如果邮件被拒绝,可以给出一个消息。而消息的具体内容会首先对<domain>执行 TXT 查询,然后执行宏扩展得到。
        如QQ邮箱的SPF记录:




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值