'No Relay Access Allowed' 在 Swift 邮件程序中

'No Relay Access Allowed' in Swift Mailer

我最近将我的服务器转移到 VPS,现在电子邮件功能不适用于外部电子邮件。 以下是我正在使用的设置:

$transport = Swift_SmtpTransport::newInstance('ns1.example.com', 465, 'ssl')
  ->setUsername('testing@example.com')
  ->setPassword('password');
$mailer = Swift_Mailer::newInstance($transport);

我得到的错误是:

SMTP error from remote mail server after initial connection:
host dedrelay.where.example.net [XX.XXX.XXX.XX]: 554
m1plded02-01.prod.mesa1.example.net : DED : 
gWqF1p02c0cB4sG01 : DED : ESMTP
No Relay Access Allowed From XXX.XXX.XXX

我试过了 telnet & 响应正常。我试过以下方法:

telnet ns1.example.com 465

回复是:

connected to xx.xxx.xxx.xx

我也无法配置我的桌面电子邮件客户端。任何人都可以告诉解决方案吗?任何帮助将不胜感激。

编辑

我什至无法通过服务器的网络邮件发送电子邮件。同样的错误。

您已尝试 telnet ns1.example.com 465 并成功连接。这表明 SMTP 服务器已启动并且 运行 并且您的计算机可以访问它。但这不是您需要的全部。

错误消息No Relay Access Allowed From 123.123.123.123表示SMTP服务器配置为不接受来自该IP地址的邮件进行中继,即需要传递到另一台服务器进行投递的邮件。

这是一项反滥用措施,表示 SMTP 服务器配置正确。

您的 SwiftMailer 配置没有问题。你用的任何邮件客户端(包括你说的桌面客户端),答案都是一样的。

您需要联系SMTP服务器的系统管理员,让他们允许您的IP地址使用他们的SMTP服务器作为中继。如果他们是您的 ISP,服务器也可能仅在身份验证后才允许中继:您有一个 username/password 对(用于阅读电子邮件,f.e。)并且您需要按顺序使用它通过他们的 SMTP 服务器发送电子邮件。但这只是一个假设(通常是这样运作的);你必须问他们才能确定。