我发现我的服务器发送的邮件无法到达 yahoo、gmail 等邮件收件人。
经过研究,我发现我需要检查
端口 25
反向 DNS,这意味着接收者的 MTA 可以使用我的域名来检查我的服务器是否真的存在?
因此问题是:
在那些流行的邮件服务器中发送邮件之前我需要做什么吗?我需要注册一个mx记录吗?
有人可以简单解释一下反向 DNS 吗?
答案1
很难判断你的邮件在哪里失败了,你使用的是什么服务等?有错误消息吗?
需要考虑的几件事:
1) 确保您有一个指向有效 A 记录的 MX 记录(即 MX 记录:mail.yourdomain.com
和 A 记录:mail.yourdomain.com points to 123.123.123.123
2) 检查您的邮件配置:大多数 SMTP 服务器未配置为开放服务器,因为垃圾邮件发送者可以使用您的邮件服务器发送邮件。查看“mynetworks”或允许的主机,并确保向您的服务器发送邮件的人都在此列表中。
3) 检查日志:为您的 MTA 打开详细日志记录。使用 postfix,编辑 /etc/postfix/master.cf 并在 smtpd 末尾附加“-v”(smtpd -v),默认情况下记录到 /var/log/messages
至于反向 DNS,只需确保您的邮件服务器的主机名是 FQDM(完全限定域名)并已为其分配适当的 A 记录即可。例如,如果您的服务器的公共地址是 123.123.123.123,而您机器的主机名是 mail.mydomain.com,那么您的 A 记录应该是指向 123.123.123.123 的 mail.mydomain.com。在 /etc/hosts 中,您应该有一个同名的条目(即 127.0.0.1 mail.mydomain.com localhost)或(123.123.123.123 mail.mydomain.com)
答案2
好的,如果您在家中设置邮件服务器,最好将其设置为到您的 ISP 邮件服务器或您可以进行身份验证的邮件服务器的中继。
最有可能的是,您需要设置身份验证,以便可以针对其他邮件服务器进行 SMTP AUTH。这种配置称为“智能主机”。以下是维基百科对此概念的解释:
http://en.wikipedia.org/wiki/Smart_host
如何设置取决于您使用的邮件服务器。以下是 Postfix 文档中的部分内容:http://www.postfix.org/postconf.5.html#relayhost
还应该有关于如何在 Postfix 中配置身份验证的文档。
您也不会使用端口 25。最有可能的是,您将连接到 SMTP 提交端口 587 或 SMTP SSL 端口 465。ISP 不会阻止这些端口。