连接到 smtp 时出现此错误;451 4.7.1 <email@example.com>:收件人地址被拒绝:列入灰名单 5 分钟

Getting this error while connecting to smtp;451 4.7.1 <email@example.com>: Recipient address rejected: Greylisted for 5 minutes

我正在尝试使用我的测试 SMTP 服务器将电子邮件发送到 outlook 电子邮件地址,但出现此错误。使用 PHPMAILER 模块建立 SMTP 连接。

你是 greylisted,这对他们有用!

灰名单是一种反垃圾邮件措施,试图识别行为不端的邮件客户端。大部分垃圾邮件机器人生成邮件并尝试立即发送,如果失败,他们就会放弃(因为他们并不真正关心),而行为良好的邮件服务器会注意响应并稍后重试。对他们来说,您的脚本就像一个行为不端的客户。

因此,解决方案是在几分钟后再次尝试发送,但是,这在 PHP 中是一件很痛苦的事情。正确的方法是设置一个本地邮件服务器并通过它发送 - 它会立即接受您的邮件,并在您不输入任何信息的情况下自行处理后续投递,包括任何灰名单和其他垃圾邮件反制措施。