Laravel 在使用 "QUEUE_DRIVER=sync" 测试我的工作 class 后将不再发送电子邮件

Laravel won't send anymore mails after testing my job class on prouction using "QUEUE_DRIVER=sync"

起初,它发送了一些电子邮件然后停止而没有给出任何错误,我测试了 tinker 并且它给出了“null”而没有收到任何东西!

这是我的配置

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=haith*****@gmail.com
MAIL_PASSWORD=******
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=haith*****@gmail.com
MAIL_FROM_NAME=Mar****

使用同步驱动程序,您实际上没有队列,因为排队的作业会立即运行。这对于本地或测试目的很有用,但显然不建议用于生产,因为它会消除设置队列带来的性能优势。尝试交换到数据库驱动程序

QUEUE_DRIVER=database

php artisan queue:table
php artisan migrate

最后,我发现当我在执行作业的同时打开 ssh 会话时,ovh 阻止了电子邮件主机的连接,所以当我测试我的代码而不是打开 ssh 会话时 运行 comman "php artisan queue:work" ,我 运行 它在我的控制器中发送后像 "Artisan::call('queue:work');"

希望对大家有所帮助!!