安装 opendkim

apt install opendkim

编辑或者创建 opendkim 配置文件

vi /etc/opendkim.conf

配置如下:

Canonicalization        relaxed/relaxed
KeyFile                 /etc/opendkim/keys/kyzy.cc/default.private
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                /etc/opendkim/KeyTable
LogWhy                  Yes
MinimumKeyBits          1024
Mode                    sv
PidFile                 /var/run/opendkim/opendkim.pid
SigningTable            refile:/etc/opendkim/SigningTable
Socket                  inet:[email protected]
Syslog                  Yes
SyslogSuccess           Yes
#下面这个目录配置有时候会出现权限问题,如果没必要可以不要使用
#TemporaryDirectory      /var/tmp/opendkim
UMask                   022
UserID                  opendkim:opendkim

创建目录(如果上面的TemporaryDirectory关闭,则这块不用创建这个目录)

mkdir /var/tmp/opendkim
chown -R opendkim:opendkim /var/tmp/opendkim

创建密钥

mkdir /etc/opendkim/keys/kyzy.cc
opendkim-genkey -D /etc/opendkim/keys/kyzy.cc/ -d kyzy.cc -s default
chown -R opendkim:opendkim /etc/opendkim

创建完毕后

vi /etc/opendkim/KeyTable

添加一行配置

default._domainkey.kyzy.cc kyzy.cc:default:/etc/opendkim/keys/kyzy.cc/default.private

继续

vi /etc/opendkim/SigningTable

添加一行配置

*@kyzy.cc default._domainkey.kyzy.cc

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

vi /etc/opendkim/TrustedHosts

添加(需要经过opendkim签名的服务器IP,如果要使用服务器A进行发件,那么就需要将A的IP放进去,每行一条,被签名的服务器如果是IPv6优先,那么一定要将IPv6也加进去,不然无法签名)

127.0.0.1

到/etc/opendkim/keys/kyzy.cc/default.txt找到v=DKIM1开始的内容,类似如下配置到dns中

v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpqselZbMuK7uCcOdnOqeq1eUczp/nQabL8KM0ZW9r/xfAPq/H0fAlC+tn5BIO/orIeLeMxxoKsLt0C87P7zXRRElj/wWmbA0x/DWL3SPsUOWXc+3lQDtDXoy5n9RCC6tOSotllS0/Wa8wH0KWhxeRNEF8nfP/SpkLH9JwdYvW4QIDAQAB

记录设置(freenom.com)
请输入图片描述
@或者空 MX 默认 优先级10 mail.kyzy.cc
请输入图片描述
此时 DKIM 签名软件已经可以正常工作了,接下来就要让 Postfix 所发的邮件经过其处理

编辑 Postfix 配置,打开Postfix的 /etc/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

注意8891这个东西要和/etc/opendkim.conf中的

Socket  inet:[email protected]

8891这个数字相同

启动邮件服务器

systemctl enable opendkim
service opendkim restart
service postfix reload

你可以到 http://www.mail-tester.com/ 检测你的邮件分数, 满分才合格哦!
请输入图片描述
可以通过下面链接检测dkim记录是否正确
http://dkimcore.org/tools/keycheck.html

Selector:default
Domain name:kyzy.cc

或者向这个网址 http://dkimvalidator.com 随机生成的邮箱地址发送一封邮件,等待两分钟后,点击查看结果,即可帮你分析SPF和DKIM 的配置结果,以及是否被邮件运营商视为垃圾邮件(SPAM)。

可以通过下面链接验证spf
http://www.kitterman.com/spf/validate.html

编辑/etc/sysconfig/network

NETWORKING="yes"
GATEWAYDEV="venet0"
NETWORKING_IPV6="yes"
IPV6_DEFAULTDEV="venet0"
#HOSTNAME="localhost.localdomain"
HOSTNAME="kyzy.cc"

命令行执行

hostname kyzy.cc

需要做到以下几点

  1. SPF 记录(重要,需要给@、www、mail这三个域都加上TXT记录,有IPv6一定记得将spf的IPv6也一同设置,否则部分邮箱会拒绝接收,例如Gmail,设置参考,其它相关设置可以参考这篇文章)
  2. DKIM 签名
  3. IP 地址反向解析(PTR)
  4. 邮件内容不要含有特殊字符以及明显的广告内容

windows下doc查看ptr反向解析是否生效

nslookup -qt=ptr 45.62.116.147

windows下doc查看邮件mx记录是否生效

nslookup -qt=mx kyzy.cc
telnet mail.kyzy.cc 25

刷新dns

/etc/rc.d/init.d/nscd restart

删除postfix邮件发送队列

postsuper -d ALL

[button color="info" icon="" url="" type="round"]推荐相关文章[/button]
[post cid="99" /]