为 CentOS 上的 Postfix 邮件服务器添加 DKIM 签名

电脑网络

DKIM的全称是Domain Key Identified Mail(域名密钥识别邮件)。简单的说,就是发送邮件的服务器对邮件做签名,表示这个邮件的确是该服务器发送出去的。如果一个接收端能够验证这个签名,一定程度上表明这个邮件可能不是垃圾或者钓鱼邮件。具体到自己的服务器上,就是减少发出去的邮件被当作垃圾邮件或拦截的概率。以下是具体方法:

1、安装 opendkim

yum install opendkim

2、创建 opendkim 配置文件

vi /etc/opendkim.conf

填入以下内容

Canonicalization        relaxed/relaxed
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
LogWhy                  Yes
MinimumKeyBits          1024
Mode                    sv
PidFile                 /var/run/opendkim/opendkim.pid
SigningTable            refile:/etc/opendkim/SigningTable
Socket                  inet:8891@127.0.0.1
Syslog                  Yes
SyslogSuccess           Yes
TemporaryDirectory      /var/tmp
UMask                   022
UserID                  opendkim:opendkim

3、创建密钥

mkdir /etc/opendkim/keys/mail.huyangjia.com
opendkim-genkey -D /etc/opendkim/keys/mail.huyangjia.com/ -d mail.huyangjia.com -s default

创建完毕后,将其添加到 /etc/opendkim/KeyTable 中

default._domainkey.mail.huyangjia.com mail.huyangjia.com:default:/etc/opendkim/keys/mail.huyangjia.com/default.private

添加 /etc/opendkim/SigningTable

*@mail.huyangjia.com default._domainkey.mail.huyangjia.com

设置允许进行签名的主机 到 /etc/opendkim/TrustedHosts 中,一般情况下都是本机发信,我们将 127.0.0.1 加入即可。

4、设置 DNS 记录

到 /etc/opendkim/keys/YourDomain.com/default.txt 可以找到你的 key 。

记录类型 TXT 子域名 default._domainkey ,记录内容就是 default.txt 里面从 v=DKIM1 开始的内容(去掉双引号)。

此时 DKIM 签名软件已经可以正常工作了,接下来就要让 Postfix 所发的邮件经过其处理。

5、编辑 Postfix 配置

打开 Postfix 的 main.cf 配置文件,到达底部,添加如下内容

smtpd_milters           = inet:127.0.0.1:8891
non_smtpd_milters       = inet:127.0.0.1:8891
milter_protocol         = 2
milter_default_action   = accept

6、启动邮件服务器

service opendkim start

#正常返回应为 Starting OpenDKIM Milter:     [  OK  ]

postfix reload

7、完成。

继续阅读
发表观点
  • 昵称不能为空
  • 邮箱不能为空
  • 还是写点什么卅...