ref:https://www.exim.org/exim-html-current/doc/html/spec_html/ch-dkim_and_spf.html
简而言之,DKIM的作用是一防垃圾邮件机制 , 比如你发邮件过去A , A要审查下你是否真正的邮件来源 , 首先你发送的时候,你的邮件服务器在邮件header里添加了一个DKIM加密信息, A邮件服务器用这个header的信息来查询你的domain下的TXT信息(查看selector包含里的值),public key 和你邮件服务器里的key匹配的话,那么这邮件来源是正确的。
当然, 你的邮件服务器也可以做一个功能来verify对方邮件服务器DKIM信息,以防对方是否真正来源。
下面仅介绍 如何设置DKIM来预防 接收方来审查你自己的DKIM信息 , Exim已经内置了DKIM功能,很简单的一些设置就已经达到目的。
用openssl生产keys ,放在/usr/local/etc/exim 下
openssl genrsa -out dkimprivate.pem 1024 -outform PEM
openssl rsa -in dkimprivate.pem -out dkimpublic.pem -pubout -outform PEM
修改配置配置文件/usr/local/etc/exim/configure (FreeBSD下)
remote_smtp:
driver = smtp
插入红色字体内容
remote_smtp:
driver = smtp
dkim_domain = ${lc:${domain:$h_from:}}
dkim_selector = myselector10 #selector这个可以自定义的,任意字符
dkim_private_key = /usr/local/etc/exim/dkimprivate.pem
dkim_canon = relaxed
服务器设置完毕。
最后在域名管理网站上做添加TXT 记录即可:
如新网上有四项需要填写的:
TXT记录 主机记录 记录值 TTL
其值分别为:
TXT记录 : TXT
主机记录: myselector10._domainkey #注意:
格式为selector._domainkey, selector和上面Exim配置一致的
记录值:
v=DKIM1; k=rsa; p=你用openssl生成的dkimpublic.pem文件的内容
#注意,其中p=后面的值为你刚刚用openssl生成的dkimpublic内容,
该内容粘贴到新网的 记录值 里时, 得注意,这个字符串是整一句的,没有空格和换行的。
最后,可以访问https://www.appmaildev.com/en/dkim , 来测试你的DKIM,SPF, DMARC是否已经设置成功。
PS: SPF和DMARC的设置也比较简单, 也是在域名管理界面上添加TXT信息即可。
SPF TXT值: 主机记录:
留空 记录值:
v=spf1 ip4:你的服务器IP
DMARC TXT值:
主机记录:_dmarc 记录值:v=DMARC1; p=none;
阅读(783) | 评论(0) | 转发(0) |