当我开始使用 sendmail 接收我的域的邮件时,服务器的 FQDN 设置不正确,因此当其他 MTA 连接到它时,它会显示为 localhost。
这似乎工作正常。即类似:
My Server: 220 localhost.localdomain ESMTP
Client: EHLO example.com
My Server: 250 localhost.localdomain
由于我伪装成正确的域,我也可以很好地发送邮件。我从未在该域收到过垃圾邮件。我相信垃圾邮件发送者通常会扫描互联网寻找对端口 25 的回复,当他们发现它连接时,从问候语或 250 响应后的域名中获取域名,然后在该域尝试随机用户名。
由于他们只能获取 localhost 作为域名,因此他们无法尝试此操作,因此只有知道域名的真正用户(从该域的 DNS 中的 mx 记录中获取了邮件服务器地址)才能向该域发送邮件。 (我的反向 DNS 与我的域不匹配,因此他们也无法从中获取域)。不幸的是,我现在已经使用正确的 FQDN 设置了服务器,现在正在显示该 FQDN。
现在事情是这样的:
My server: 220 (My reverse DNS which is not my domain name)
(I set this using confSMTP_LOGIN_MSG,'(My reverse DNS) Sendmail; $b')
C: EHLO example.com
My Server: 250 (My FQDN) oh no:(
如何将 250 之后的位更改为 FQDN 以外的其他内容,而不删除服务器上的 FQDN?
除了违反相关 RFC 之外,还会有什么不良后果吗?
答案1
我已将 DjMyReverseDNS 行添加到 sendmail.mc,其中 MyReverseDNS 是我想要显示的任何内容,即将 j (这是 FQDN AFAIK 的变量)设置为我想要的内容。这似乎在基本测试中有效,尽管我稍后需要对此进行更多测试。泰