什么是 DKIM
DKIM 全称 域名密钥识别邮件标准, 是 DomainKeys Identified Mail 的缩写,目的是防止电子邮件欺诈,
发送方会在电子邮件的标头插入 DKIM-Signature 及电子签名资讯,而接收方则透过 DNS 查询得到公钥后进行验证,
这是一种反垃圾邮件的功能,另外系统设置了 DKIM 外发数字签名,可以让接收服务器更信任外发的邮件,可以提高外发邮件的到达率。
目前腾讯、gmail 等都支持 DKIM。 Winmail 6.0 以上版本支持 DKIM 1024 位。
DKIM 的工作原理
DKIM 的基本工作原理基于传统的密钥认证方式,先生成两组密钥,公钥(public key)和私钥(private key),公钥将会存放在 DNS 中,
而私钥会存放在发信服务器中。数字签名会自动产生,并依附在邮件头中,发送到收件人的邮件服务器里。公钥则放在DNS服务器上,供自动获得。收件人的服务器,
将会收到夹带在邮件头中的签名和在DNS上获取对应域名的公钥,然后进行比对,比较发件人的域名是否合法,如果不合法,则判定为垃圾邮件。
由于数字签名是无法仿造的,因此这项技术对于伪造域名的垃圾邮件制造者将是致命的打击。
Winmail 里 DKIM 的设置方法( 以
abc.com 为例 )
1. 收件 DKIM 验证,在"反垃圾设置"/"SMTP设置"下, 选择"
启用 DKIM (DomainKeys Identified Mail) 检查"。
2. Winmail 里设置域名发件使用 DKIM 数字签名
在要设置的域名
abc.com 属性的 DKIM 标签里点击"生成私钥"
"选择器"一定要有,默认是: mail,可以自己设置,完整拷贝上面的 "TXT 记录",例如【
请将 abc.com 改成你的域名 】 :
mail._domainkey.abc.com TXT
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQ...
另外也可以自己使用 openssl 工具生成一对公钥和密钥,Windows 和 Linux 都可以操作,请自行搜索方法;
或者在
http://dkimcore.org/tools/ 网站在线生成。
把生成的私钥输入上面的栏位中,Winmail 会从私钥自动生成公钥进而生成 TXT 记录值,所以只输入私钥就可以了。
3. 在域名服务商域名解析系统里增加一条 TXT 记录,例如:
记录类型 主机记录
记录值
TXT mail._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQ...
增加 TXT 记录后,需要一段时间(10分钟-24小时)才能生效,可以使用命令行查询:【
请将 abc.com 改成你的域名 】
nslookup -q=txt mail._domainkey.abc.com
如果已经生效,会显示:
mail._domainkey.abc.com text = "v=DKIM1\; k=rsa\; p=MIGfMA0GCSqGSIb3..."
4. 如果 Winmail 里有多域名,DKIM 要生成不同的密钥分别设置,也可以有的设置有的不设置
5. 接收邮件测试,确认 DKIM 检查生效
可以使用 qq 或者 gmail 邮箱发进来一封邮件,查看 Winmail 里的 smtp 日志,会有出现
DKIM verifying enabled 或
启用 DKIM 验证 字样。
6. 发送邮件测试,确认每封邮件信头里存在 DKIM 数字签名字串
发一封邮件到内部邮箱,发给自己也可以,查看 Winmail 里的 smtp 日志,会有出现
DKIM signing enabled、
启用 DKIM 签名 字样。
在 Webmail 里查看这封邮件,选择"更多"-"邮件源码",在邮件头里会出现一段如下文字:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=abc.com; s=mail; t=1458090487; h=Date:From:To:
Reply-To:Subject:Message-ID:Content-Type:MIME-Version; bh=RBrzM2
ccFCYSkSJUKwSj5FQ/IQj6UrOI1/+rZiw0+aI=; b=Esn3j84HzzVC+VbRgf/i7N
...
SWtPgVyJx91CJKFGbVaFI=
外发一封邮件到外网邮箱,查看 Winmail 里的 smtp 日志,会有出现
DKIM signing enabled、
启用 DKIM 签名 字样。
如果是发到 qq.com, 在 QQ Webmail 打开这封邮件,选择
- "显示邮件原文",在邮件头里会出现一段如下文字:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=abc.com; s=mail; t=1458091059; h=Date:From:To:
Reply-To:Subject:Message-ID:Content-Type:MIME-Version; bh=JtLpkA
GBbI9j6KEs01UI/CKmX5rvvrJ6O9QcCgb5i1I=; b=J5xXBMdm8Q5Y66orv+Skoq
...
cT/oVvXPMvEbi+mJwoqbM=