首先,向你的CentOS添加EPEL库, http://fedoraproject.org/wiki/EPEL 可以在这里寻找适合你操作系统的库。

我的服务器使用的是 CentOS 6.5 所以下载 EPEL 6 ( 由于 EPEL 所提供的镜像是 IPV6 地址,请确保你的服务器已经开启 IPV6 )

wget http://mirror.centos.org/centos/6/extras/x86_64/Packages/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
rm -f epel-release-6-8.noarch.rpm

添加成功后,安装 opendkim

yum install opendkim

【注意】
如果提示“No package opendkim available”,可以编辑 epel 源(其实新版本搬瓦工已经安装了这个源,只不过一直没开启而已):

vi /etc/yum.repos.d/epel.repo

将 [epel] 中的enabled=0改为enabled=1之后重新生成缓存就行

yum makecache

编辑或者创建 opendkim 配置文件

vi /etc/opendkim.conf

配置如下:

Canonicalization       relaxed/relaxed
KeyFile                 /etc/opendkim/keys/regskynet.com/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:8891@127.0.0.1
Syslog                  Yes
SyslogSuccess           Yes
TemporaryDirectory      /var/tmp/opendkim
UMask                   022
UserID                  opendkim:opendkim

创建目录

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

创建密钥

mkdir /etc/opendkim/keys/regskynet.com
opendkim-genkey -D /etc/opendkim/keys/regskynet.com/ -d regskynet.com -s default
chown -R opendkim:opendkim /etc/opendkim

创建完毕后

vi /etc/opendkim/KeyTable

添加一行配置

default._domainkey.regskynet.com regskynet.com:default:/etc/opendkim/keys/regskynet.com/default.private

继续

vi /etc/opendkim/SigningTable

添加一行配置

*@regskynet.com default._domainkey.regskynet.com

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

vi /etc/opendkim/TrustedHosts

添加

127.0.0.1

到/etc/opendkim/keys/regskynet.com/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.regskynet.com
请输入图片描述
此时 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:8891@127.0.0.1

的8891这个数字相同

启动邮件服务器

chkconfig opendkim on
service opendkim start
service postfix reload

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

Selector:default
Domain name:regskynet.com

或者向这个网址 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="regskynet.com"

命令行执行

hostname regskynet.com

需要做到以下几点

  1. SPF 记录(重要)
  2. DKIM 签名
  3. IP 地址反向解析(PTR)
  4. 邮件内容不要含有特殊字符以及明显的广告内容

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

nslookup -qt=ptr 45.62.116.147

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

nslookup -qt=mx regskynet.com
telnet mail.regskynet.com 25

刷新dns

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

删除postfix邮件发送队列

postsuper -d ALL


Last modification:December 12th, 2019 at 09:52 am