我对邮件服务器管理知之甚少。我正在拼凑用户指南。我已经购买了一个域名,并且 [付费] Protonmail 允许使用自定义域。我已经使用此功能一段时间了,但现在我无法将其扩展到另一个 DKIM 记录。
目标:
- 使用 Protonmail 从自定义域发送和接收电子邮件
- 仅从我正在运行的 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/