手记

利用单个Postfix服务器设置多个域名的 DKIM 验证

安装环境: Ubuntu 18, Postfix, AWS云服务器,具备root权限

1:有root权限

2: 安装OpenDKIM

apt-get install opendkim opendkim-tools

3: 打开opendkim的配置文件 /etc/opendkim.conf

把以下的三行注释掉

#Domain   example.com
#KeyFile          /etc/opendkim/201205.private
#Selector                201205

4: 创建一些必要的目录和文件mkdir /etc/opendkimnano /etc/opendkim/TrustedHosts

5: 在 TrustedHosts中, 根据需要加入如下的信息

127.0.0.1
localhost
111.111.111.111 # 替换成你自己的服务器IP地址
firstdomain.com
seconddomain.com

6: 编辑 /etc/default/opendkim 文件。 这个文件用来告诉OpenDKIM需要监听的端口,以便进行鉴权. 把下面的内容添加到文件尾部

SOCKET="inet:8891@localhost”

7: 打开Postfix的主配置文件 /etc/postfix/main.cf

下面的内容,是告诉Postfix程序,发送邮件是需要先签字以及如何签字

milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

8: 现在不要重启Postfix,因为还有文件没有创建,可能会导致 Postfix 报错

9: 让你所有的域名都可以使用DKIM。 假定你同时有两个域名 

firstdomain.com, seconddomain.com 

mkdir -p /etc/opendkim/keys/firstdomain.com
cd /etc/opendkim/keys/firstdomain.com
opendkim-genkey -r -d firstdomain.com     # 生成密钥
chown opendkim:opendkim default.private   # 配置密钥文件的正确权限

10: 让OpenDkim知道如何使用密钥

vim /etc/opendkim/KeyTable #

打开文件并添加如下内容

default._domainkey.firstdomain.com 
firstdomain.com:default:/etc/opendkim/keys/firstdomain.com/default.private
vim /etc/opendkim/SigningTable # 这个文件列出了所有要进行签字的域名,打开此文件并添加如下内容
firstdomain.com default._domainkey.firstdomain.com

11:按照同样的命名规则,为域名 seconddomain.com 创建全套的内容

12:重启 opendkim 和 postfix 程序即可

/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart

13:到DNS上为域名 seconddomain.com 添加正确的记录

找到公钥,它就是 /etc/opendkim/keys/seconddomain.com/default.txt, 里面的双引号中就是需要设置到TXT记录的值

TXT记录的名字是: default._domainkey值就是: v=DKIM1;k=rsa; p=WIGfM ……… ; (注意一定要以分号结尾, 别忘了)

补充: 其他必要的TXT记录别忘了同时添加 

SPFv=spf1 +mx +a ip4:你的IP地址 -all以及DMARC记录_dmarc   值:  v=DMARC1; p=reject; fo=1; ruf=mailto:你的邮件地址 rua=mailto:你的邮件地址

********************************************************************************

如有问题随时联系我吧


0人推荐
随时随地看视频
慕课网APP