簡體   English   中英

Laravel電子郵件隊列有效,但不發送

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM