[英]Laravel email queue works but doesn't send
我有一個問題,我正在嘗試將消息排隊發送給注冊用戶,當我正在運行一切正常,但隊列只是不工作,有人可以幫我這個嗎? 這是注冊控制器
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'type' => $data['type'],
]);
$email = (string)$data['email'];
$job = (new SendEmailJob($email))->delay(Carbon::now()->addSeconds(5));
dispatch($job);
return $user;
}
我已經檢查過我是否可以發送電子郵件,它可以發送電子郵件,但當我指向一個特定的電子郵件,而不是來自注冊表格的數據。 這是SendEmailJob
public function handle($user)
{
Mail::to($user)->send(new SendEmailMailable());
}
聽起來你沒有運行隊列。 你可以這樣做
php artisan queue:work
你也可能想要一個失敗的工作表,工匠有一個命令:
php artisan queue:failed-table
php artisan migrate
如果要刪除所有失敗的作業,可以執行以下操作:
php artisan queue:flush
我建議在laravel docs網站上閱讀所有這些內容: https ://laravel.com/docs/5.7/queues
我還希望在有關隊列的stackoverflow上分享一篇好文章 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.