域名一定要做邮箱反垃圾
如果你有域名,不管使不使用域名邮箱,都要给域名设置反垃圾规则。
为什么要做反垃圾
以前不懂域名邮箱,开通之后就不管了。后来收到很多的退信通知,才意识到我的域名邮箱被伪造用于发送大量垃圾邮件。
自己的个人邮箱也常常被垃圾邮件骚扰,没想到自己也成了垃圾邮件的帮凶。
另外自己的域名邮箱被伪造用来发送大量的垃圾邮件,也担心自己域名会被各邮件服务商拉进黑名单
因此如果你也有域名,不管使不使用域名邮箱,都要给域名设置反垃圾规则。
域名邮箱反垃圾规则
SPF
发件人策略框架或 SPF 允许您指定被允许代表您的域发送电子邮件的所有 IP 地址和主机名。如果您没有在域中配置 SPF,您的电子邮件可能会被电子邮件接收者阻止或标记为垃圾邮件。(来自 Cloudflare)
DMARC
基于域的消息身份验证报告和一致性(或称 DMARC)告诉电子邮件接收者如何处理来自您的域的未通过电子邮件安全检查的传入电子邮件。您还可以指定一个报告电子邮件地址,来接收有关您的域中传出电子邮件的定期报告。(来自 Cloudflare)
DKIM
域密钥识别邮件(或称 DKIM)将公钥添加到您的 DNS 中,供电子邮件接收者验证您的传出签名电子邮件。(来自 Cloudflare)
简单来说,
- 这些规则是告诉收信方如何识别我方的邮件。
- SPF 规则规定哪些服务器或 IP 可以使用该域名邮箱发送邮件。
- DKIM 可以理解为使用非对称加密对邮件进行签名。
- DMARC 规则则是告诉收信方如何处理未通过验证的邮件。
- 这三个规则都是通过 DNS 记录中的 TXT 记录实现
SPF
组成部分
参数 | 含义 | 选项 |
---|---|---|
v | 版本,必须放在第一项 | 一般为 spf1 |
include | 发信服务器域名 | 可不填 |
ip4 | 发信服务器 ipv4 地址 | 可不填 |
ip6 | 发信服务器 ipv6 地址 | 可不填 |
all | 告知收信方如何处理从未列出的服务器发送的电子邮件(这个参数必须在最后) | -all 表示从未列出的服务器发送的电子邮件应会被拒绝。~all 表示从未列出的服务器发送的电子邮件应会被接受,但可能会被标记为垃圾邮件或不安全。+all 表示收件人将接受所有电子邮件,即使验证失败。 |
- SPF 记录中不能包含大写字母
示例
如果不使用域名邮箱,(使用该规则会让收信方拒绝一切发信人为
"*@lixx.org"
的邮件。)DNS 记录 主机名 内容 TXT lixx.org v=spf1 -all
以腾讯企业邮箱为例(其他邮箱可在相应的邮件服务商获取相关的规则)
DNS 记录 主机名 内容 TXT lixx.org v=spf1 include:spf.mail.qq.com -all
如果是自建邮箱服务器,应该在
include
或ip4
或ip6
中包含自己服务器的地址值得一骂的是,腾讯企业邮箱的文档中,使用的是
~all
,也就是说伪造的邮件还是会被接收。
DMARC
组成部分
参数 | 含义 | 选项 |
---|---|---|
v | 版本,必须放在第一项 | 一般为 DMARC1 |
p | 收信方服务器对未通过验证的电子邮件采取的操作。 | none 无操作quarantine 软接收,可能会被标记为垃圾邮件或可疑邮件reject 拒绝接收 |
aspf | 严格的或者宽松的 SPF 身份校验模式 | r 默认值,宽松s 严格 |
adkim | 严格的或者宽松的 DKIM 身份校验模式 | r 默认值,宽松s 严格 |
rua | 接受 DMARC 报告的邮箱地址,收信方会反馈与你的域名邮箱有关的发信活动 | 可不填,建议使用专门的邮件地址 |
示例
- 该记录表示,未通过 SPF 验证或 DKIM 验证的邮件均会被收信方拒收,收信方会向
[email protected]
发送聚合 DMARC 报告。
DNS 记录 | 主机名 | 内容 |
---|---|---|
TXT | _dmarc | v=DMARC1; p=reject; adkim=s; aspf=s; rua=mailto:[email protected] |
DKIM
国内邮箱对 DKIM 的支持度似乎不高,笔者也没有使用过,没有调查就没有发言权,这里就不谈了。
示例
- 如果完全不使用域名邮箱,可以这样设置 DKIM 记录
DNS 记录 | 主机名 | 内容 |
---|---|---|
TXT | *._domainkey | v=DKIM1; p= |
小结
本文只是简单介绍了部分常用的 SPF 和 DMARC 规则,需要强调的是,这些并不是反垃圾规则的全部
如果完全不使用域名邮箱,可以这样设置:
DNS 记录 | 主机名 | 内容 |
---|---|---|
TXT | lixx.org | v=spf1 -all |
TXT | *._domainkey | v=DKIM1; p= |
TXT | _dmarc | v=DMARC1; p=reject; adkim=s; aspf=s |