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

标签 dns smtp spf dkim

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

目标:

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

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

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

这已经工作了几个月了。现在我想实现目标 2(上文)。我使用 opendkim 创建了一个 DKIM key :

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 关心这个方向性吗?)

最佳答案

好吧,无论如何,让我们开始调试这个......(坦率地说,这不是一个编程问题,所以 super 用户是更好的选择,但我喜欢你想要托管自己的邮件:))

您的 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 的方法。

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

关于dns - 多个 DKIM(包括 MX)的 SPF 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61968628/

相关文章:

laravel - 在 Laravel 5 上检查邮件是否发送成功

email - 有没有人用 CakePHP 电子邮件组件设置 DKIM?

dns - ?all -all 和 ~all 在 DNS (spf) 配置中

heroku - 将 .tk 域指向域名

c - 如何在c中捕获dns数据包?

html 电子邮件不在 codeigniter 中发送

Linux postfix/dovecot 554 中继访问被拒绝

dns - G Suite for MailChimp上有多个DKIM和SPF记录

php - 在本地服务器上设置cookie

ios - 在 iOS 中查询 DNS 以查找 NAPTR