IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

什么是SPF记录?如何设置SPF来防止我的邮件被拒收呢?

BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog 2011-06-23 00:18:46 累计浏览 2,690 次
本机暂存
什么是SPF记录?如何设置SPF来防止我的邮件被拒收呢?
什么是SPF记录?
定义:
(Sender Policy Framework) 的缩写,一种以IP地址认证发信人身份的技术,
作用:
可以避免伪造地址的垃圾邮件,避免有其他人伪造我的域名来投递。提高发送外域邮箱的成功率。
原理:
spf规则规定了一个域名下的邮件必须通过哪些smtp服务器来发送。一个域名可以为自己创建一个txt解析记录,在这个解析记录里面是这个域名下所有的smtp服务器的ip地址。
接收邮件方会首先检查对方邮箱后缀域名的SPF记录,来确定发件人的smtp服务器的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。

    查询txt记录的方法:

    nslookup

    > set q=txt

    > net263.com

    Server:  ns2.263isp.net

    Address:  211.150.124.66

    Non-authoritative answer:

    net263.com      text =

     "v=spf1 include:spf.263xmail.com ~all"

    查询txt记录下对应的ip的方法

    查询 include 后面字段的域名即可

    > set q=txt

    > spf.263xmail.com

    Server:  ns2.263isp.net

    Address:  211.150.124.66

    Non-authoritative answer:

    spf.263xmail.com        text =

     "v=spf1 ip4:211.150.67.0/24 ip4:211.150.96.0/24 ip4:211.150.100.0/24 ip4

    :211.157.128.0/24 ip4:211.150.64.0/24 ip4:211.150.122.0/24 ip4:74.86.11.0/28 ip4

    :63.217.87.0/28 ip4:211.157.224.0/24 ~all"

    以上所有的IP都SMTP的服务器IP地址

    ~all和?all 代表不确定的,我们的mx服务器不会去拒收

    -all 代表确定的,一旦发信人没有使用txt记录下规定的ip投递,我们的mx服务器就会拒收。

如何设置域名邮箱的SPF记录呢?
为了提升域名邮箱发送外域(@qq.com以外的邮箱)邮件的成功率,建议您给自己的域名设置一条TXT记录来避免这种情况。
TXT记录值为:v=spf1 include:spf.mail.qq.com ~all
附263企邮箱的TXT记录值为:v=spf1 include:spf.263xmail.com ~all
如图:万网的设置页面
1.从diy.hichina.com处登录域名管理系统;
2.在TXT(正文字串)处设置一条TXT记录,如下:
什么是SPF记录?如何设置SPF来防止我的邮件被拒收呢?
注:易名中国,中资源目前不支持设置TXT记录 
--------------------------------------------------------------------------------------------------
如何增加SPF记录

    非常简单,在DNS里面添加TXT记录即可。登陆http://www.openspf.org/在里面输入你的域名,点击Begin,然后会自动得到你域名的一些相关信息。

    a 你域名的A记录,一般选择yes,因为他有可能发出邮件。

    mx 一般也是yes,MX服务器会有退信等。

    ptr 选择no,官方建议的。

    a:有没有其他的二级域名?比如:mail.abc.com和www不在一台server上,则填入mail.abc.com。否则清空。

    mx: 一般不会再有其他的mx记录了。

    ip4: 你还有没有其他的ip发信?可能你的smtp服务器是独立出来的,那么就填入你的IP地址或者网段。

    include: 如果有可能通过一个isp来发信,这个有自己的SPF记录,则填入这个isp的域名,比如:dgcgw.com

    ~all: 意思是除了上面的,其他的都不认可。当然是yes了。

    好了,点击Continue…..

    自动生成了一条SPF记录,比如abc.com的是

    v=spf1 a mx ~all

    并且在下面告诉你如何在你的bind里面添加一条

    abc.com. IN TXT “v=spf1 a mx ~all”

    加入你的bind,然后ndc reload即可。

    检查一下:

    dig -t txt extmail.org

    如果您的域名是我们的dns服务器进行解析的,我们的网页上没有设置TXT记录的地方,但是如果你的DNS主server是在在我们这里的,我们可以代帮忙设置。设置完毕后您即可以通过使用spf策略进行垃圾邮件验证了。

同分类推荐文章

  1. 绿盟科技《APT组织研究年鉴》(2026 版)正式发布 (2026-06-16 20:21:10)
  2. 【已复现】Linux内核Fragnesia权限提升漏洞(CVE-2026-46300) (2026-06-15 10:53:58)
  3. 企业文档安全最佳实践(二):给文档上“身份证”——手动标密与智能自动标密 (2026-06-12 17:18:33)

查看更多 安全 文章 →

建议继续学习

  1. 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (累计阅读 33,898)
  2. 如何拿下简短的域名 (累计阅读 16,936)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,934)
  4. 自建DNS以防止GFW干扰 (累计阅读 13,126)
  5. 强制刷新本地 DNS 缓存记录 (累计阅读 10,919)
  6. 从谷歌宕机事件认识互联网工作原理 (累计阅读 8,749)
  7. 2014年1月21日中国互联网DNS瘫痪事件原因分析 (累计阅读 8,445)
  8. 域名相关的一些基本概念总结 (累计阅读 8,094)
  9. 关于 SOCKS 代理的远端 DNS 解析 (累计阅读 7,988)
  10. DNS 隧道 (累计阅读 7,262)