在Laravel上发送电子邮件时出现错误代码“ 354”

Nat*_*han 4 php email laravel-5

嗨,我正在制作一个Web应用程序,需要发送一些电子邮件。我使用的是Laravel 5.6,并使用Mailtrap对本地电子邮件功能进行了测试,效果很好。但是,当我将其放在服务器上时,出现了一个奇怪的错误,如下面的图片所示。

我已经为主机Hostinger设置配置了系统。

这是.env文件中的配置代码

MAIL_DRIVER=smtp
MAIL_HOST=mx1.hostinger.com.br
MAIL_PORT=587
MAIL_USERNAME=E_MAIL_HERE
MAIL_PASSWORD=PASSWORD_HERE
MAIL_ENCRYPTION=null
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

haz*_*haz 5

代码 354 实际上是 Laravel 所期望的,而不是错误代码。这是 SMTP 服务器告诉 Laravel 继续并发送电子邮件正文。请注意,这是预期的结果,而不是您收到的结果。

来自邮件服务器的代码 554 表示:“交易失败”,您会注意到这就是您实际收到的内容。

消息中进一步指出了失败的原因:错误:没有有效的收件人。

如果没有进一步的数据,我无法判断为什么在生产服务器上没有正确设置收件人。

更完整的代码列表可以在这里找到: https: //www.greenend.org.uk/rjk/tech/smtpreplies.html

  • 问题看起来是 config/mail.php 文件我没有更改 FROM_EMAIL 变量,并且在本地服务器上工作 (2认同)

小智 5

我也遇到过同样的问题。

基本上,我将config/mail.php变量更改MAIL_FROM_ADDRESS为实际的电子邮件,并且可以正常工作。

在此处输入图片说明

  • 我建议您将 MAIL_FROM_ADDRESS="no-reply@test.com" 添加到您的 .env 文件中 (2认同)