Centos系统postfix+opendkim安装DKIM证书

作者:袖梨 2022-06-30


配置EPEL yum 源

EPEL,即Extra Packages for Enterprise Linux,这个软件仓库里有很多非常常用的软件,OpenDKIM 也在其中

wget -P /tmp http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh /tmp/epel-release-6-8.noarch.rpm
rm -f /tmp/epel-release-6-8.noarch.rpm
安装OpenDKIM

使用yum命令直接安装

yum install opendkim
配置OpenDKIM

接下来要修改配置文件,文件在/etc/opendkim.conf

AutoRestart             Yes
AutoRestartRate         10/1h
LogWhy                  Yes
Syslog                  Yes
SyslogSuccess           Yes
Mode                    sv
Canonicalization        relaxed/simple
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable
SignatureAlgorithm      rsa-sha256
Socket                  inet:8891@localhost
PidFile                 /var/run/opendkim/opendkim.pid
UMask                   022
UserID                  opendkim:opendkim
TemporaryDirectory      /var/tmp
生成公钥和私钥

mydomain.com 替换成你的域名

mkdir /etc/opendkim/keys/mydomain.com
opendkim-genkey -D /etc/opendkim/keys/mydomain.com/ -d mydomain.com -s default
chown -R opendkim: /etc/opendkim/keys/mydomain.com
mv /etc/opendkim/keys/mydomain.com/default.private /etc/opendkim/keys/mydomain.com/default
把mydomain.com添加到/etc/opendkim/KeyTable

default._domainkey.mydomain.com mydomain.com:default:/etc/opendkim/keys/mydomain.com/default
接下来修改/etc/opendkim/SigningTable并添加如下记录

*@mydomain.com default._domainkey.mydomain.com
添加信任主机到/etc/opendkim/TrustedHosts:

127.0.0.1
mydomain.com
host.mydomain.com
确保你的域名mydomain.com和服务器名称都是host.mydomain.com

最后给你的域名添加一个TXT记录,记录在/etc/opendkim/keys/mydomain.com/default.txt

default._domainkey      IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDApHRr7ZmXRaAB+RQRbP4VdMwIrIHIP18KFtXRsv/xpWc0Gix6ZXN13fcG03KNGKZo2PY+csPkGC5quDnH5V0JEhDZ78KcDWFsU6u4fr9ktVAdt6P7jWXjcyqdHOZ8+YN4cAeU4lRFNgQvdupIcByYwzPYMgBFHfJm9014HvRqhwIDAQAB" )  ; ----- DKIM key default for mydomain.com
如果你没有添加SPF记录可以顺便添加一下

mydomain.com. 14400 IN TXT "v=spf1 a mx ~all"
可以通过http://dkimcore.org/tools/来检测记录是否正确

配置postfix

为了把OpenDKIM和Postfix整合到一起需要修改/etc/postfix/main.cf:

smtpd_milters           = inet:127.0.0.1:8891
non_smtpd_milters       = $smtpd_milters
milter_default_action   = accept
milter_protocol         = 2
重启服务并设置为开机启动

service opendkim start
chkconfig opendkim on
service postfix restart
测试

[email protected] 发送一封邮件,会收到自动回复

==========================================================
Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   neutral
DKIM check:         pass
DKIM check:         pass
反向解析rDNS

反向DNS查找或者反向DNS解析(rDNS)用于判定一个域名与给定IP是否互相关联。有些公司例如AOL会拒绝没有进行反向解析的发件服务器发出的所有消息,所以你必须确保你进行了反向解析。

这货也是决定因素之一,一些国内的IDC是无法提供此服务的。但是如果你用的是阿里云,只需要提交一个工单,提供你的IP和域名要求设置反向解析就OK了

相关文章

精彩推荐