在你开始用本文的配置进行尝试的时候务必先按照这篇文章把基础环境搭建好:
也可以看看:
首先安装需要用到的包:
apt -y install opendkim opendkim-tools
然后修改postfix配置:
postconf -e "milter_protocol = 6" postconf -e "milter_default_action = accept" postconf -e "smtpd_milters = inet:localhost:8892,unix:/spamass/spamass.sock" postconf -e "non_smtpd_milters = inet:localhost:8892,unix:/spamass/spamass.sock"
注意smtpd_milters这里的配置,如果你之前配置过spamassassin,那么这里需要用逗号分隔开来。
其实opendkim也可以用套接字的方式来和postfix通信,但是这里涉及到很多蛋疼的权限问题,我懒得折腾了直接用端口的方式更简单。。
接下来编辑opendkim的配置文件:
nano /etc/opendkim.conf
修改如下内容:
Domain imlala.best KeyFile /etc/dkimkeys/dkim.key Selector imlala Socket inet:8892@localhost
注:
1.Domain修改为你的域名
2.Selector是选择器的名字可以任意修改,但后续添加DNS解析记录的时候需要与之对应。同时生成密匙对的时候也要指定这个选择器。
3.Socket的端口号要与postfix内的配置一致。本文使用的是8892,这也是opendkim默认的端口号。
配置好了之后执行下面的命令生成密匙对:
opendkim-genkey -s imlala -d imlala.best
注:
1.-s是你之前配置的选择器的名字。
2.-d修改为你的域名。
生成完毕之后会在当前目录下生成imlala.private和imlala.txt,将imlala.private复制保存到你之前配置文件内写的key路径:
cp imlala.private /etc/dkimkeys/dkim.key
imlala.txt是你要添加的DNS解析记录,文件内容类似于:
那么这里我们先把opendkim和postfix重启完成上面的配置:
systemctl restart opendkim postfix
然后现在添加dkim解析记录:
spf和dmarc记录也不要忘了添加: