CentOS7下给Postfix启用DKIM身份认证

邮件服务器搭建
https://www.jianshu.com/p/cecb77649f51

SPF 记录的设置

向你的邮件域名添加一条 TXT 记录

v=spf1 ip4:发信服务器的IP ~all

当然您也可以添加多个 IP 地址,网上有很多教程。

反向解析

请联系你的机房,或 云服务商,国内目前仅阿里云可以联系客服进行免费设置,国外一般 VPS 的控制面板就可以。

DKIM 签名

安装 opendkim
添加 EPEL 库

yum -y install epel-release
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum clean

安装

yum install opendkim

安装报错 No package opendkim available.
可能是epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 源是disabled 状态,修改/etc/yum.repos.d/epel.repo的enabled=1即可

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

[epel]
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

然后运行:
yum makecache
再检查一下:

yum repolist all
13034051-6282b85fb6d3240e.png
image.png

如无意外,就能安装 OpenDKIM 了:

yum install opendkim

修改 opendkim 配置文件(直接将原来的删除修改成下面的内容)

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

创建密钥

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

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

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

然后添加 /etc/opendkim/SigningTable

*@YourDomain.com default._domainkey.YourDomain.com

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

vim /etc/opendkim/TrustedHosts
13034051-39971b4e3d6d33e3.png
image.png

给opendkim指定用户和授权

chown opendkim:opendkim -R /etc/opendkim/
chmod -R 700 /etc/opendkim

设置 DNS 记录

到 /etc/opendkim/keys/YourDomain.com/default.txt 可以找到你的 key 。然后在域名服务商解析txt值,记录类型 TXT 子域名 default._domainkey ,记录内容就是 default.txt 里面从 v=DKIM1 开始的内容。


13034051-4721b2acb2dd05d2.png
image.png

此时 DKIM 签名软件已经可以正常工作了,接下来就要让 Postfix 所发的邮件经过其处理,
打开 Postfix 的 main.cf 配置文件,到达底部,添加如下内容

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

然后重新启动postfix和opendkim

systemctl start opendkim.service
systemctl start postfix.service
设置DMARCK记录
  1. 登录域名管理后台,找到需要添加DMARCK记录的域名,增加TXT记录;
  2. 设置DMARC记录之前,请务必确保已设置SPF记录;
记录名记录值
需要设置SPF的域名v=spf1 a mx ip4:xxx.xxx.xxx.xxx ~all
  1. 设置了SPF记录后,添加以下DMARC记录:
记录名记录值
_dmarcv=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com

注意:Dmarc记录里,有两个值可由您来自定义:

  • p:用于告知收件方,当检测到某邮件存在伪造发件人的情况,收件方要做出什么处理,reject为拒绝该邮件;none为不作任何处理;quarantine为将邮件标记为垃圾邮件。
  • ruf:用于当检测到伪造邮件,收件方须将检测结果发送到哪个邮箱地址。
    建议:p值最优设置方式是第一次设置选择none,观察发信情况一个月,再改为quarantine,再观察一个月,最后再设为reject。

可以在http://www.appmaildev.com/cn/dkim测试

13034051-6846876f24684cc1.png
image.png

发送给谷歌邮箱打开显示原始邮件可以看到


13034051-b384322a39bf02e5.png
image.png

13034051-057a4bab64ca8294.png
image.png

网页邮箱测试


13034051-d885793386485606.png
image.png

13034051-02f6fc387746d606.png
image.png

一个不错的邮箱测试工具

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值