多个 DKIM(包括 MX)的 SPF 记录

SPF Record for Multiple DKIMs (including MX)

我对邮件服务器管理知之甚少。我正在拼凑用户指南。我已经购买了一个域名,[付费] Protonmail 允许使用自定义域。我已经使用了一段时间,但现在我无法将它扩展到另一个 DKIM 记录。

目标:

  1. 使用 Protonmail 从自定义域发送和接收电子邮件
  2. 仅从我 运行
  3. 的 Postfix 服务器发送电子邮件

为了通过我的域名使用 Protonmail send/receive 发送电子邮件,我设置了以下 TXT 记录:

Host=@   protonmail-verification=e954fa...
Host=protonmail._domainkey    v=DKIM1; k=rsa; p=MGM0....
Host=@   v=spf1 include:_spf.protonmail.ch mx ~all

这已经工作了几个月。现在我想实现 objective 2(以上)。我使用 opendkim:

创建了一个 DKIM 密钥
sudo opendkim-genkey -b 8192 -h rsa-sha256 -r -v --subdomains -s postfix -d $(hostname --domain) && \
sudo sed -i 's/h=rsa-sha256/h=sha256/' postfix.txt 

然后我添加了来自 postfix.txt 的内容,将长 p 字符串连接到我的 DNS 提供商和另一个 TXT 记录:

Host=[MY DOMAIN NAME]._domainkey      v=DKIM1; h=sha256; k=rsa; s=email; p=MEEij...

认为 我正在努力更新 spf 记录。它应该怎么看?我觉得应该是这样的:

v=spf1 include:[MY DOMAIN NAME] include:_spf.protonmail.ch mx ~all

但是,当测试从我的 Postfix 服务器发送电子邮件时,一些客户端服务器拒绝了电子邮件,在我的 Postfix 服务器中显示以下日志:

E543D5E0003: host mail.tutanota.de[81.3.6.165] said: 450 4.7.1 Client host rejected: cannot find your reverse hostname, [MY POSTFIX SERVERS IP] (in reply to RCPT TO command)

我很确定我的 spf 记录有问题。论据是否正确?顺序重要吗?如何使用 Protonmail 记录发送和接收,但将我的 Postfix 服务器限制为仅发送? (DNS 甚至关心这个方向性吗?)

好吧,不管怎样,让我们​​开始调试吧……(坦率地说,这不是一个编程问题,所以超级用户会是更好的选择,但我喜欢你想托管自己的邮件:))

您的 SPF 记录应如下所示。不需要您自己的域,因为 SPF 记录保存在它的 DNS 记录中。否则,那会(但不会)建立一个循环。

v=spf1 include:_spf.protonmail.ch mx ~all

您看到的错误本身与您的 public IP 的 PTR 查找有关,但也可能是由额外的包含引起的,这里是误报。

无论如何要确保它是正确的,请手动查找:

在 linux

dig -x <public ip of mail domain>

将(应该)打印多行,您感兴趣的行:

;; ANSWER SECTION:
XXX.XXX.XXX.XXX.in-addr.arpa. 43200 IN    PTR     my-domain.com.

在 windows:

nslookup <public ip of mail domain>

打印:

Server:  some.dns.server.com
Address:  XXX.XXX.XXX.XXX

Name:    my-domain.com
Address:  <public ip of mail domain>

这里的关键是 "my-domain.com." 部分 - 如果那不是您的邮件域,那么您的托管服务提供商很可能会为您提供一种在某处更改 PTR 的方法。

试试这个,然后我们会在必要时进一步研究它,当然如果不能查找所有信息就很难调试 ;)