[英]laravel 5.4 Mailable implements ShouldQueue don't sent email
這項工作正常,電子郵件成功發送到log(MAIL_DRIVER=log)
和mailtrap.io(MAIL_DRIVER=smtp)
class VerificationNewAccount extends Mailable
{
use Queueable, SerializesModels;
public function __construct()
{
}
public function build()
{
return $this->from('noreply@example.com')
->view('email.verification-request');
}
}
// in controller
Mail::to('test@gmail.com')->send(new VerificationNewAccount());
當我實現 ShouldQueue 時,電子郵件會打印在log(MAIL_DRIVER=log)
但是當我嘗試發送到mailtrap.io(MAIL_DRIVER=smtp)
,電子郵件永遠不會發送
// running the queue in terminal
php artisan queue:work --queue
然后該類實現了 ShouldQueue
class VerificationNewAccount extends Mailable implements ShouldQueue
{
use Queueable, SerializesModels;
public function __construct()
{
}
public function build()
{
return $this->from('noreply@example.com')
->view('email.verification-request');
}
}
// in controller
Mail::to('test@gmail.com')->send(new VerificationNewAccount());
laravel.log 文件中沒有打印錯誤。 我不知道該怎么辦。
好吧,經過多次測試,這就是我解決問題的方法。
不要使用ShouldQueue
class VerificationNewAccount extends Mailable
{
use Queueable, SerializesModels;
public function __construct()
{
}
public function build()
{
return $this->from('noreply@example.com')
->view('email.verification-request');
}
}
而是使用基礎->queue
Mail::to('test@gmail.com')->queue(new VerificationNewAccount($ran));
現在電子郵件已發送到gmail
奇怪的是,現在電子郵件沒有打印在log
。 好吧,我不在乎。 好用!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.