DKIM(域名密钥识别邮件)是使用公共私钥签名的电子邮件的方法。 DKIM是通过接收邮件服务器识别的电子邮件,他们被授权的邮件服务器发送使用。它也最大限度地减少获得电子邮件垃圾的可能性。 本教程将为您提供一种快速简便的方法来设置与在CentOS和RHEL系统上运行你的postfix的DomainKeys。
DKIM是如何工作的?
当我们在配置发送服务器DKIM。首先,我们生成签名传出消息公钥/私钥对。公钥配置为域的Nameservers上TXT记录,而私钥在出站电子邮件服务器配置。当一个电子邮件通过邮件服务器的授权用户发送,服务器使用所存储的私有密钥来生成消息,该消息被插入该消息作为一个标题中的数字签名,并且该电子邮件被发送为正常。
第1步:安装 DKIM-milter
首先请确保您已
启用EPEL库在您的系统。之后,使用以下命令安装DKIM-milter的软件包。
# yum --enablerepo=epel install dkim-milter
第2步:生成密钥对
现在创建使用由DKIM-milter的软件包提供
DKIM-genkey命令行实用程序DKIM密钥对。在本教程中,我们使用的域名“example.com”,用你的实际名称更改此名称。
# MYDOMAIN=example.com
# mkdir -p /etc/mail/dkim-milter/keys/$MYDOMAIN
# cd /etc/mail/dkim-milter/keys/$MYDOMAIN
# dkim-genkey -r -d $MYDOMAIN
上面的命令将生成两个文件
default.private和
default.txt。您可以创建多个DKIM密钥对不同2域和您的Stapling配置服务器。
第3步:配置DKIM与POSTFIX
首先编辑域密钥列表设置文件
/etc/mail/dkim-milter/keys/keylist,并添加以下条目。
*@example.com:example.com:/etc/mail/dkim-milter/keys/default.private
编辑DKIM配置文件
/etc/mail/dkim-milter/dkim-filter.conf和更新插槽配置如下
Socket inet:8892@localhost
现在编辑字尾配置文件
/etc/postfix/main.cf文件 ,并在文件的最后添加以下值
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8892
non_smtpd_milters = inet:localhost:8892
最后用下面的命令启动DKIM服务
# /etc/init.d/dkim-milter start
第4步:配置DNS条目
在配置服务器Stapling私有密钥后。会有由DKIM-genkey
default.txt生成另一个文件。编辑您的DNS区域文件,并添加本作中default.txt发现TXT记录。在我而言,这是如下图所示。
default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDNHHZ5Wq8b
mpNTwzg+5wwwgKiYphgdRnngxS6Wd1lq9kQRh2OxzOH4kW1gsPe8UA396e9zaXjGlSzbIkeHEt86JzuS+fg+utLrVtIH6gLXJg
xppBjCMhLy95oBLrG9M3rqGtrzHgVclANnYdfGs3Tg6r+RnS7GHW3YqW+7tr45YQIDAQAB" ; ----- DKIM default for example.com
第5步:验证DKIM
要验证DKIM工作正常。让我们通过命令行发送测试电子邮件
# mail -vs "Test DKIM" my_test_email@gmail.com < /dev/null
在我们的邮箱收到的电子邮件,打开电子邮件的来源和搜索“DKIM签名”。你会发现像下面的一样
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=example.com;
s=default.private; t=1402388963;
bh=fdkeB/A0FkbVP2k4J4pNPoe23AvqBm9+b0C3OY87Cw8=;
h=Date:From:Message-Id:To:Subject;
b=M6g0eHe3LNqURha9d73bFWlPfOERXsXxrYtN2qrSQ6/0WXtOxwkEjfoNTHPzoEOlD
i6uLLwV+3/JTs7mFmrkvlA5ZR693sM5gkVgVJmuOsylXSwd3XNfEcGSqFRRIrLhHtbC
mAXMNxJtih9OuVNi96TrFNyUJeHMRvvbo34BzqWY=