本篇文章只写了编译安装opendkim并配置加密的方式算法
如今国内发信,首先收件运营商会检测你是否是正常的用户,避免你模仿其余人发垃圾邮件甚至诈骗邮件给用户,避免用户受到损失。数据库
这里最基础的检测是SPF记录以及你邮箱的RDNS记录,DKIM记录主要是保证收发信的传输过程当中保证邮件内容不被篡改,目前DKIM记录国内貌似只有比较大的运营商在用,不少小的运营商没有用。vim
国外一些邮箱尤为是Gmail还会检测你的邮件是否配置了TLS加密,还有DMARC记录等等这里只介绍DKIM。服务器
DKIM 技术经过在每封电子邮件上增长加密的数字标志,而后与合法的互联网地址数据库中的记录进行比较。当收到电子邮件后,只有加密信息与数据库中记录匹配的电子邮件,才可以进入用户的收件箱。它还能检查邮件的完整性,避免黑客等未受权者的修改。 DKIM 的基本工做原理一样是基于传统的密钥认证方式,他会产生两组钥匙,公钥(public key)和私钥(private key),公钥将会存放在 DNS 中,而私钥会存放在寄信服务器中。私钥会自动产生,并依附在邮件头中,发送到寄信者的服务器里。公钥则放在DNS服务器上,供自动得到。收信的服务器,将会收到夹带在邮件头中的私钥和在DNS上本身获取公钥,而后进行比对,比较寄信者的域名是否合法,若是不合法,则断定为垃圾邮件。 因为数字签名是没法仿造的(准确的说是DKIM的加密算法特别特别难,几乎没有人能够破解),所以这项技术对于垃圾邮件制造者将是一次致命的打击,他们很难再像过去同样,经过盗用发件人姓名、改变附件属性等小伎俩达到目的。dom
cd /usr/local/src/tar -zxf opendkim-2.10.3.tar.gzcd opendkim-2.10.3./configure --prefix=/usr/local/opendkimmake && make install
# tar zxf sendmail-8.14.5.tar.gz# cd sendmail-8.14.5/libmilter/# ./Build# ./Build install
AutoRestart YesAutoRestartRate 10/1hCanonicalization relaxed/simpleExternalIgnoreList refile:/etc/opendkim/TrustedHostsInternalHosts refile:/etc/opendkim/TrustedHostsKeyTable refile:/etc/opendkim/KeyTableLogWhy YesMinimumKeyBits 1024Mode svPidFile /var/run/opendkim/opendkim.pidSigningTable refile:/etc/opendkim/SigningTableSocket inet:8891@127.0.0.1Syslog YesSyslogSuccess YesLogWhy YesTemporaryDirectory /var/tmpUMask 022UserID opendkim:opendkimMacroList 192.168.198.100,192.168.198.0/24 #若是涉及转发邮件功能,这里配置转发IP或者签名的IP段,不然转发的邮件不会被签名
127.0.0.1
default._domainkey.$domain $domain:default:/etc/opendkim/keys/$domain_name/default.private
*@$domain default._domainkey.$domain
smtpd_milters = inet:127.0.0.1:8891non_smtpd_milters = inet:127.0.0.1:8891milter_protocol = 2milter_default_action = accept
opendkim-genkey -D /etc/opendkim/keys/$domain_name/ -d $domain -s default #生成随机密钥useradd opendkimchown opendkim.opendkim /etc/opendkim -Rchown opendkim.opendkim /etc/opendkim.conf/etc/init.d/opendkim -Dx /etc/opendkim.conf/etc/init.d/postfix restart
生成的公钥截图工具
主机记录:default._domainkey ,上图文中的内容。记录值:上图所示()里的内容,记得把换行符删掉,双引号不要,分号保留。![]()
发信测试: swaks 这个工具没有能够安装一下,很方便。swaks -f “你的发信地址” -t “收信地址” -s "发信IP"例如: swaks -f 123456@qq.com -t 654321@qq.com -s localhost