我目前经营一个网站,托管在 VPS 上。软件是 Plesk。
我已经通过 DNS 设置设置了 SPF 记录和 DMARC 记录。我对如何设置 DKIM 记录有些困惑。
到目前为止,我已经进入了:
设置和工具 > 邮件设置 > 已激活 DKIM
除了在整个 DKIM 服务器范围内激活之外,我还在域级别启用了它。
我已确定 DKIM 私钥存储于:
/etc/domainkeys/example.com
我现在明白我需要通过 DNS 设置输入 DKIM DNS 记录。浏览网页后,我了解到公共记录应存储在/etc/opendkim/keys/example.com/mail.txt (or default.txt)
我读过的条目看起来应该是这样的:
v=DKIM1; k=rsa; p=GHDSGGH7567KGFDBUUasd4655676vbhgvASDFsdfgh6456yh4565RFCpy4zMNWUbL6JM5XIyjBy3bUnANI5axeb/Lw/GBjUoSFLEiO80Tt8m3A5YrBKcodRQQURYiW6/YtElhLupHyfcxQhfNLU4z9JUOJKPjcpMZCj0Xv873QgVOl+7U605JdBHSPOx4ybBZwDq68cw9YFYRPmEwIDAQAB
问题是,我找不到这样的文件。我是否缺少进一步的配置要求,或者公钥是否可以存储在其他地方?
答案1
有两种方法可以在 Plesk 服务器上使用 DKIM。
如果您只想将 DKIM 用于 Web 邮件和使用 POP/IMAP 发送的邮件,则在 Plesk 中的域级别激活 DKIM 就足够了。
(请参阅https://support.plesk.com/hc/en-us/articles/115002519933-如何启用 DKIM 支持域名)
Plesk 应自动添加 DNS 记录。您可以通过发送邮件至https://dkimvalidator.com/使用网络邮件或您的邮件客户端。但是,如果您还想从服务器本身发送 DKIM 签名的邮件(例如网站上的联系表单),则需要编辑全局服务器设置以通过 DKIM 传递所有邮件。
虽然有多种方法可以做到这一点,但安装 openDKIM 是最简单的。在我的工作中,我们使用配置管理自动执行此操作,但本指南应该可以帮助您:https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
(TL;DR:安装 OpenDKIM,生成密钥并编辑你的后缀以添加以下密钥:
smtpd_milters = inet:127.0.0.1:8891, inet:127.0.0.1:12768
,
8891 用于 openDKIM)
/etc/opendkim/keys/example.com/<name>.{txt,private}
您会发现.txt 文件内容下的密钥应放在 TXT 记录中*姓名*._domainkey.example.com。从网站或服务器再次测试。
(从命令行:) mail -s 'DKIM test subject' -r '[email protected]' [email protected] < /dev/null
不要忘记仔细检查你的 DMARC 记录,否则你可能会丢失外发邮件。(例如https://dmarcian.com/dmarc-inspector/) 也许从开始p=none
。