使用PHP Swiftmailer时,我们如何解决错误554 5.5.1(没有有效的接收者)?

问题描述 投票:1回答:2

当检验出我们的邮件服务器,我们跌跌撞撞翻过阻止我们通过PHP发送邮件的错误,但正常的发送/每函件一箱接收工作没有任何问题。我们正在运行的只有函件一箱与所有需要的组件单独运行的Ubuntu 18.04服务器。

输出在error.log中的文本文件

PHP致命错误:未捕获Swift_TransportException:预期响应代码354,但得到的代码“554”,用信息“554 5.5.1错误:没有有效的接收者\ r \ n”

PHP文件

$request_email = $_POST['request-email'];
$request_name = $_POST['request-name'];
$request_text = $_POST['request-text'];

$transport = (new Swift_SmtpTransport('data.abc.xy', 587, 'tls'))
    ->setUsername('[email protected]')
    ->setPassword('*******')
    ->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false)));

$mailer = (new Swift_Mailer($transport));

$message = (new Swift_Message('Name: '. $request_name))
    ->setFrom(['' . $request_email => '' . $request_name])
    ->setTo(['[email protected]'])
    ->setBody('E-Mail: ' . $request_email . $request_text)
    ->setContentType("text/html");

$result = $mailer->send($message);

我们试图为重新安装所有的邮件,在一箱和所有的组件,并检查所有拼写错误。该ricipient确实我们的邮件服务器上存在,并且可以接收,并通过客户端手动发送邮件。

php email swiftmailer
2个回答
4
投票

我已经解决了这个错误(554)只是增加laravel(.ENV文件)这两条线:

[email protected]
MAIL_FROM_NAME="[email protected]"

在此之后运行此命令刷新邮件缓存配置:

php artisan config:cache

3
投票

554 5.5.1错误是SMTP错误“没有有效的接收者”。如果你拼错了收件人的地址,则可能发生,但如果你没有正确地验证到发件服务器,也可以发生。

所以问题是,abc.xy并不是一个注册的域名,所以你不能发送电子邮件到这个地址。我认为这是不是与你的代码。

您可以赶上Swift_TransportException错误,并在自己的代码库一样处理:

try {
    $result = $mailer->send($message);
} 
catch (Swift_TransportException $e) {
    echo $e->getMessage();
}
© www.soinside.com 2019 - 2024. All rights reserved.