Laravel 8 不会发送从作业发起的电子邮件,但是当从控制器发起的相同电子邮件时,一切都很好



我目前正试图找到导致我的Laravel应用程序不发送电子邮件的原因,当我从一个工作(但当我从控制器,一切工作完美)。

我有一个工作,它以一个通知结束:

$userToSend->notify(new InfoEmail());

这行代码正在执行-我使用jdavidbakr/mail-tracker来跟踪电子邮件,它显示此电子邮件已发送,但没有实际的电子邮件被传递。由于这行代码是从作业中运行的,并且该作业的其余代码运行良好,因此我100%确定队列管理器本身正在工作。$userToSend有所有必要的数据-我在日志中看到它。

当我从控制器上运行同一行代码时,一切都运行得很好,电子邮件也发送了。

如果我使用Mail::to->queue,效果是相同的-当它从控制器运行时,一切正常,当我在作业中执行相同操作时-电子邮件不发送。

你能建议一个解决这个问题的方法吗?

这是我的邮件配置从。env(###隐藏网站的实际名称,位于BlueHost共享主机)

MAIL_MAILER=smtp
MAIL_HOST=mail.###.com 
MAIL_PORT=465 
MAIL_USERNAME=robot@###.com 
MAIL_PASSWORD=######### 
MAIL_ENCRYPTION=ssl 
MAIL_FROM_ADDRESS=robot@###.com 
MAIL_FROM_NAME="###.com Mail Robot"

Laravel 8要求Office 365禁用安全默认配置。我发现它在这里:https://learn.microsoft.com/en-us/answers/questions/618809/intermittent-smtp-authentication-errors-with-larav

相关内容

最新更新