此工作正常,电子邮件已成功发送至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文件中没有打印错误。我不知道该怎么做。
答案 0 :(得分:0)
嗯,经过多次测试,这就是我解决问题的方法。
不要使用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
中。
好吧,我不在乎。它开始了!