邮箱有效性处理

'''DMARC'''

DMARC是一种基于现有的SPF和DKIM协议的可扩展电子邮件认证协议,在邮件收发双方建立了邮件反馈机制,便于邮件发送方和邮件接收方共同对域名的管理进行完善和监督。

DMARC要求域名所有者在DNS记录中设置SPF记录和DKIM记录,并明确声明对验证失败邮件的处理策略。邮件接收方接收邮件时,首先通过DNS获取DMARC记录,再对邮件来源进行SPF验证和DKIM验证,对验证失败的邮件根据DMARC记录进行处理,并将处理结果反馈给发送方。

DMARC能够有效识别并拦截欺诈邮件和钓鱼邮件,保障用户个人信息安全。

参考:

SPF

以分析网易云的spf为例。

网易云默认的spf解析为v=spf1 include: spf.163.com -all,通过SPF Recored Testing Tools继续追踪spf.163.com,结果如下:

SPF record lookup and validation for: spf.163.com

SPF records are published in DNS as TXT records.

The TXT records found for your domain are:
v=spf1 include:a.spf.163.com include:b.spf.163.com include:c.spf.163.com include:d.spf.163.com include:e.spf.163.com -all

Checking to see if there is a valid SPF record.

Found v=spf1 record for spf.163.com:
v=spf1 include:a.spf.163.com include:b.spf.163.com include:c.spf.163.com include:d.spf.163.com include:e.spf.163.com -all

evaluating...
SPF record passed validation test with pySPF (Python SPF library)!
继续追踪a.spf.163.com,结果如下:
SPF record lookup and validation for: a.spf.163.com

SPF records are published in DNS as TXT records.

The TXT records found for your domain are:
v=spf1 ip4:220.181.12.0/22 ip4:220.181.31.0/24 ip4:123.125.50.0/24 ip4:220.181.72.0/24 ip4:123.58.178.0/24 ip4:123.58.177.0/24 ip4:113.108.225.0/24 ip4:218.107.63.0/24 ip4:123.58.189.128/25 ip4:123.126.96.0/24 ip4:123.126.97.0/24 ip4:103.74.28.0/24 -all

Checking to see if there is a valid SPF record.

Found v=spf1 record for a.spf.163.com:
v=spf1 ip4:220.181.12.0/22 ip4:220.181.31.0/24 ip4:123.125.50.0/24 ip4:220.181.72.0/24 ip4:123.58.178.0/24 ip4:123.58.177.0/24 ip4:113.108.225.0/24 ip4:218.107.63.0/24 ip4:123.58.189.128/25 ip4:123.126.96.0/24 ip4:123.126.97.0/24 ip4:103.74.28.0/24 -all

evaluating...
SPF record passed validation test with pySPF (Python SPF library)!
可根据上述内容对照SPF 记录:原理、语法及配置方法简介中的语法部分的内容。即可完成自建邮箱的spf。

参考:SPF 记录:原理、语法及配置方法简介

工具:

  • Open SPF:官方网站,有很多资料,值得一看。
  • RFC 4408:SPFv1 的规范全文。
  • SPF Recored Testing Tools:帮助你验证域名是否存在 SPF 记录、记录的语法是否正确,以及输入 IP 和 host 来测试是不是真正管用。
  • SPF: Why?:为什么我发的邮件被拒绝了?
  • Beveridge Hosting DNS Lookup:图形界面的dig,也可以显示查询到的 SPF 信息。
  • Beveridge SPF Test:另一个根据 IP 和 host 验证 SPF 是否通过的工具。
  • Gmail:如果你有 Gmail 的话,可以给自己的 Gmail 邮箱发一封邮件,然后用 Gmail 独有的 Show Original 功能查看 Gmail 服务器的 SPF 判断结果。

DKIM

自建DKIM签名

使用openssl创建签名文件

# 创建私钥
genrsa -out rsakey.pem 1024
# 根据私钥创建公钥
rsa -out pubkey.pem -in rsakey.pem -pubout
在域名中添加并配置公钥。在域名解析中添加一个txt记录解析,内容如下:
# 主机记录
# default为默认部门名称。部门名称可以为数字或任意字母构成。
# ._domainkey为默认后缀
default._domainkey

# 记录值
# ${your public pem}为-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----之间的内容
# 例如:k=rsa; p=MIGfMA0GC......IDAQAB
k=rsa; p=${your public pem}
验证邮箱签名有如下两种方法

  • 向gmail账户发送一封邮件,若邮件头详情中存在“署域”一栏,则说明签名成功
  • 向新浪/网易邮箱账户发送一封邮件,若邮件详情中存在dkim=pass,则说明签名成功

参考:<nowiki>[教程DKIM 签名使用教程</nowiki>]

使用邮件提供商提供的DKIM签名

直接向邮件提供商索要主机记录和记录值

参考:DKIM签名如何配置?

使用OpenDKIM签名

参考:Postfix安装配置DKIM加密(opendkim)