中继访问被拒绝 - 与外部邮件服务结合

中继访问被拒绝 - 与外部邮件服务结合

我有一个客户网站,当您填写任何表格后,该网站都会弹出此错误消息:

收件人地址错误! 554 5.7.1:中继访问被拒绝 发送数据时出错! 221 2.7.0 错误:我也能违反规则。再见。

然后他们就收不到来自收件人地址 (info@...) 网站/表格的任何消息。

我不是该网站的主机,但已让他们调查此事。此外,邮件和所有 MX 记录也都远离网络主机,其他公司负责处理他们的 @ 电子邮件。

因此,考虑到这里有两家公司,想知道哪家公司可能是问题所在(如果可能的话,根据目前的信息可​​以确定)?他们当然都说“这里没有问题”。哦,请注意,该网站最近转移了网络托管,因此个人认为是托管方的问题。

您建议将什么问题转交给主机以便检查解决?

答案1

您对 SMTP 工作原理的理解将有助于您理解这里发生的情况。

网站正在将表单提交到 SMTP 服务器。该 SMTP 服务器正在返回您看到的错误消息。不要考虑 MX 记录和 DNS——您关心的是表单处理脚本正在使用的 SMTP 服务器。此时 MX 记录和 DNS 无关紧要。

“中继”是指将邮件转交给任何 SMTP 服务器,而不是最终负责将邮件递送到用户邮箱的 SMTP 服务器。当您在电子邮件客户端程序中指定 ISP 的“smtp.example.com”电子邮件服务器时,您正在使用该 SMTP 服务器作为“中继”。您要求该服务器代表您接受邮件并将其递送到最终目的地。(这时 MX 记录和 DNS 就会发挥作用。)

没有人会让 SMTP 中继“开放”以允许互联网上的任何人通过它发送消息。垃圾邮件发送者会很快找到开放的 SMTP 中继并开始使用它们发送垃圾邮件。因此,互联网上几乎每个可公开访问的 SMTP 服务器都会非常严格地限制中继消息(通过客户端的源 IP 地址、通过身份验证等)。

我对发生的事情有以下怀疑:表单处理脚本将 Web 托管公司的 SMTP 服务器指定为其中继。“info@...”地址最终不由该 SMTP 服务器处理。SMTP 服务器无法识别允许中继的 Web 服务器,因此拒绝了该消息。

获取配置的表单处理脚本,将邮件发送到负责传递到“info@...”地址的 SMTP 服务器,或者允许 Web 服务器中继的服务器,并且它将按预期工作。

(第二个假设是,表单处理脚本配置为使用 SMTP 服务器,习惯能够处理“info@...”地址的接收。)

相关内容