php - 使用 PHP Swiftmailer 时如何解决错误 554 5.5.1(无有效收件人)?

标签 php email swiftmailer

在测试我们的邮件服务器时,我们偶然发现了一个错误,该错误阻止我们通过 PHP 发送邮件,尽管每个 Mail-in-a-box 的常规发送/接收工作没有任何问题。 我们正在运行一个单独的 Ubuntu 18.04 服务器,该服务器仅运行 Mail-in-a-box 及其所有需要的组件。

error.log 文本文件中的输出

PHP Fatal error: Uncaught Swift_TransportException: Expected response code 354 but got code "554", with message "554 5.5.1 Error: no valid recipients\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('contact@abc.xy')
    ->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(['contact@abc.xy'])
    ->setBody('E-Mail: ' . $request_email . $request_text)
    ->setContentType("text/html");

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

我们尝试的是重新安装所有 Mail-in-a-box 和所有组件,并检查所有内容是否有拼写错误。收件人确实存在于我们的邮件服务器上,并且可以通过客户端手动接收和发送邮件。

最佳答案

我已经解决了这个错误(554),只需将这两行添加到 laravel(.env 文件):

MAIL_FROM_ADDRESS=you@email.com
MAIL_FROM_NAME="you@email.com"

最后,运行此命令来刷新邮件缓存配置:

php artisan config:cache

关于php - 使用 PHP Swiftmailer 时如何解决错误 554 5.5.1(无有效收件人)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54616706/

相关文章:

php - 使用 SwiftMailer 批量发送电子邮件

php - 在不发送电子邮件且不在 PHP 中使用 pear 的情况下检查 SMTP 身份验证

php - WordPress 自定义 API 端点 POST 请求在 React 中失败

php - 调用未定义函数 Doctrine\Common\is_object()

php - MySQL表关系,继承与否?

php - 使用PDO打印两次MYSQL查询结果

python - 使用 Python 对多部分电子邮件进行 PGP 签名

ios - 应用发布后试飞发送邮件通知 | iOS

matlab - 如何在 Matlab 中发送描述矩阵内容的电子邮件

php - HostGator 不会通过 PHP SwiftMail API 发送邮件