我想运行自己的电子邮件服务器,但是哎呀!这太难了,就好像电子邮件配置是互联网的拉丁语/希腊语一样。
好的,
我的 ISP 为 mx.[mydomainname].com 设置了反向 DNS (PTR) 条目
根据网上的建议,我进行了smtpd_banner = mx.[mydomainname].com ESMTP
更改
/etc/postfix/main.cf
。
但是当我使用以下方式测试我的电子邮件服务器时http://xeams.com/validation.htm
它仍然告诉我反向查找失败。
反向查找:失败 连接 IP 解析为 mx.[mydomainname].com,与 HELO 字符串不匹配
另外,我还检查了 EHLO 消息,用来telnet [mydomainname].com 25
验证它是否包含特定的反向查找 mx.[mydomainname].com,在编辑它以完全匹配后再次尝试。
每次重新运行验证报告后,它都显示同样的内容。
反向查找:失败 连接 IP 解析为 mx.[mydomainname].com,与 HELO 字符串不匹配
--- 这很令人困惑,如果有人能帮忙我将不胜感激。
更新
编辑我的配置后,我的 postfix 中的 hostmane 是mx.[mydomainname]
并且还尝试当后缀中的主机名是[mydomainname]
确保重新加载并
DNS 记录配置:
- A |[我的域名] | [我的静态 IP 地址]
- |mx.[我的域名]| [我的静态ip地址]
- MX |mx.[我的域名] | [我的域名]
- TXT |mx.[我的域名] | v=spf1 a mx ~all
- TXT |mail._domainkey.[我的域名] | v=DKIM1; k=rsa; p=...密钥代码
这两种情况下,当我尝试进行验证测试时,我都会得到这种反弹......
<[email protected]>: host mailbk.synametrics.com[74.208.84.194]
said: 550 5.1.1 <[email protected]>... User unknown (in reply
to RCPT TO command)
我不确定我是否需要给我编辑的 MX 记录一些时间来传播。如果 DKIM 设置为邮件。是一个问题,或者我遇到了什么样的麻烦。
答案1
那是错误的建议。
smtpd_banner
,从名字就可以看出,配置Postfix的smtpd 服务器进程。它是服务器进程,监听端口 25 上的传入连接,并且可能监听其他端口(如果您启用了它们)(例如提交服务)。
你需要设置如何 postfixsmtp 客户端当进程连接到另一个系统的端口 25(或另一个端口,如果您在 transport_maps 中配置了端口)时,它会自我介绍。它为此使用的值是 ,smtp_helo_name
默认情况下设置为myhostname
。
我建议更改myhostname
,因为它在很多地方用作模板。这样它就会以正确的方式影响许多其他设置。例如,smtpd_banner
默认情况下也依赖于它,并将与其他设置同步设置。
UPD:顺便说一下,Postfix 手册(man 5 postconf) 还提到smtpd_banner
:
您必须在文本开头指定 $myhostname。这是 SMTP 协议所要求的。
这也可能让你觉得原来的建议很奇怪,你必须采取一些措施myhosname
。一定要用手册检查别人的建议。我也是!
答案2
我的解决方案---
我在邮件日志中找到了我需要的提示
sudo tail -f -n20 /var/log/mail.log
host host3.synametrics.com[74.105.58.68] said: 451 Message rejected. Sender's domain does not have any MX record. (in reply to end of DATA command)
因此我向 DNS 添加了没有任何前缀/子域的 mx 记录。
- MX |[我的域名] | [我的域名]
我还保留了这个带有 mx. 前缀的 mx 记录,以匹配反向 DNS PTR
- MX |mx.[我的域名] | [我的域名]
....
以及之前的反弹
<[email protected]>: host mailbk.synametrics.com[74.208.84.194]
said: 550 5.1.1 <[email protected]>... User unknown (in reply
to RCPT TO command)
是因为mydestination
在\etc\postfix\main.cf
使用中现在设置为 mx.[mydomainname] 的变量$myhostname
,对于 PTR 反向查找也需要为 [mydomainname] 才允许中继。
...
现在我担心同一台服务器有 2 个 mx 记录会导致问题。这是另一个问题,但如果您知道,欢迎发表评论!