我尝试使用Laravel队列作业发送邮件,我的网站在hostmonster网络服务器上,但是当我解除php artisan queue:work
时它没有发送邮件,它清除了Job表但没有收到邮件到我的电子邮件地址。 / p>
这是我的队列和发送邮件功能的代码:
//It is working
$to = '****@g***l.com';
\Mail::to($to)->send(new ContactUsMail($contactUsId));
//It is not working: on same host email working not work with hotmail - gmail - other
$to = '****@g***l.com';
\Mail::to($to)->queue(new ContactUsMail($contactUsId));
邮件发送工作正常,有2个案例:
send()
方法发送邮件(旁路/忽略队列)queue()
发送到同一主机电子邮件(如info@myhost.com
)但是现在如果我使用xyz@yahoo.com
/ xyz@gmail.com
然后在这种情况下队列不工作 - 作业表也删除条目作为邮件发送但bingo .. !!邮件寄的地方我不知道。
cron也发送了与队列简单mail()
函数相同的问题,那里没有Mail::send()
工作..!
答案 0 :(得分:1)
php artisan queue:work
。QUEUE_DRIVER=sync
更改为QUEUE_DRIVER=redis
或QUEUE_DRIVER=database
答案 1 :(得分:0)
经过多次尝试后,我发现我的服务器的解决方案低于设置工作正常:
.env
文件设置MAIL_DRIVER=sendmail
。
config/mail.php
档'sendmail' => '/usr/sbin/sendmail -t'
将-bs
替换为-t
。