本指南将向您展示配置 SPF、DKIM 和 DMARC 的过程——这三个是提高电子邮件发送性能的重要组件。
正确配置 SPF、DKIM 和 DMARC 将增加邮件服务器的信任度并最大限度地降低您的邮件进入垃圾邮件的可能性。
- SPF(发件人策略框架)是一种安全措施,旨在防止他人以您的名义发送电子邮件。它决定哪些 IP 地址可以发送电子邮件,哪些 IP 地址不允许发送电子邮件。
- DKIM(域名密钥识别邮件)是一种邮件认证方法。每封电子邮件在发送时都会用私钥签名,然后在接收邮件服务器(或互联网服务提供商)用 DNS 公钥进行验证。
- DMARC(基于域的消息认证、报告和一致性)使用 SPF 和 DKIM 进行邮件认证,减少垃圾邮件和网络钓鱼攻击。
SPF 配置(发件人策略框架)
1.1. 要配置 SPF,必须在您域的 DNS 设置中添加 TXT 记录。
1.2. SPF 记录的语法如下:
- v=spf1:确定您使用的 SPF 版本。目前仅使用 SPF1。
- ip4:[Your_Mail_Server_IP]:表示您的邮件服务器IP地址被允许代表您的域发送电子邮件。
- a:指定如果域在 DNS 中具有 A 记录(IPv4 地址),则该记录中指定的服务器可以代表该域发送电子邮件。
- mx:表示如果域在 DNS 中具有 MX(邮件交换)记录,则该记录中指定的服务器可以代表该域发送电子邮件。
- ~all:表示只有 SPF 记录中的服务器才能代表该域发送电子邮件。如果电子邮件来自其他服务器,则会被标记为“软匹配”(~),这意味着可以接受,但会被标记为可能的垃圾邮件。
这些元素共同构成了如下所示的 SPF:
名称:[您的域名]
v=spf1 ip4:[Your_Mail_Server_IP] a mx ~all
将 [Your_Mail_Server_IP] 替换为您的电子邮件服务器 IP 地址。
DKIM(域名密钥识别邮件)配置
2.1.首先安装opendkim和opendkim-tools,安装过程取决于操作系统:
对于 CentOS:
yum install opendkim -y
对于 Debian/Ubuntu:
apt install opendkim opendkim-tools -y
2.2. 接下来,启动 opendkim 服务并启用其在启动时启动:
systemctl start opendkim
systemctl enable opendkim
2.3. 创建密钥存储目录:
mkdir -p /etc/opendkim/keys/yourdomain.com
2.4. 使用 opendkim-genkey 工具生成密钥:
opendkim-genkey --directory /etc/opendkim/keys/yourdomain.com/ --domain yourdomain.com --selector dkim
不要忘记用您的真实域名替换“yourdomain.com”。
2.5.为密钥设置适当的权限:
chown -R opendkim:opendkim /etc/opendkim/keys/yourdomain.com
2.6. 现在我们需要配置 opendkim。打开文件 /etc/opendkim.conf 并添加以下设置:
AutoRestart Yes
AutoRestartRate 10/1h
Umask 002
Syslog Yes
SyslogSuccess Yes
LogWhy Yes
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
UserID opendkim:opendkim
Socket inet:8891@localhost
2.7. 将您的域名添加到 /etc/opendkim/TrustedHosts 文件
127.0.0.1
localhost
*.yourdomain.com
2.8. 编辑 /etc/opendkim/KeyTable 文件,使其如下所示:
dkim._domainkey.yourdomain.com yourdomain.com:dkim:/etc/opendkim/keys/yourdomain.com/dkim.private
2.9. 更改 /etc/opendkim/SigningTable 文件。如下所示
*@yourdomain.com dkim._domainkey.yourdomain.com
2.10. 如果使用 Debian/Ubuntu,请指定端口 opendkim:
echo 'SOCKET="inet:8891@localhost"' >> /etc/default/opendkim
2.11. 重新启动 opendkim 服务以应用更改:
systemctl restart opendkim
2.12. 最后,将公钥添加到您域的 DNS 配置中。密钥位于 /etc/opendkim/keys/yourdomain.com/dkim.txt 中。
DMARC(基于域的消息认证、报告和一致性)配置
3.1. 要配置 DMARC,请在您的域设置中添加 TXT 记录:
Name: _dmarc.[Your_Domain].
Значение: v=DMARC1; p=none; aspf=r; sp=none
将 [Your_Domain] 替换为您的域名。
PTR(指针记录)配置
4.1. PTR 记录,又称反向 DNS 记录,用于将 IP 地址转换为域名。这对于邮件服务器非常重要,因为某些服务器可能会拒绝没有 PTR 记录的邮件。
4.2. PTR 记录通常在互联网服务提供商或托管服务提供商的设置中配置。如果您有权访问这些设置,您可以通过指定服务器的 IP 地址及其对应的域名来设置 PTR 记录。
4.3. 如果您无权访问 PTR 记录设置,请联系您的互联网服务提供商或托管服务提供商并提出 PTR 记录配置请求。
4.4. 安装完 PTR 后,可以在 Linux 中使用 dig 命令进行检查:
dig -x your_server_IP
将“your_server_IP”替换为您的服务器的 IP 地址。响应应包含您的域名。
完成配置 SPF、DKIM 和 DMARC 的所有步骤后,邮件服务器将您的邮件标记为垃圾邮件的可能性就会大大降低 - 它可以保证您的信件能够到达收件人。