Я пытаюсь реализовать уведомление по электронной почте при возникновении события.Когда событие происходит, слушатель сгенерирует уведомление, которое является электронной почтой.
Электронная почта отправляется, когда я не реализовал очередь.Электронная почта не отправляется, если я реализовал подход с очередью.
Когда я запускаю работника очереди, он дает мне следующий результат.Но электронное письмо не отправляется.
[2019-02-24 11:10:25] Processing: App\Notifications\CustomRequestListener
[2019-02-24 11:10:25] Processed: App\Notifications\CustomRequestListener
Я настроил слушателей, события, уведомления, как показано ниже.
Слушатель
class CustomRequestListener
{
public function handle(CustomRequestCreated $event)
{
$user->notify(new CustomRequestEmail());
}
}
Класс уведомлений
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
class CustomRequestEmail extends Notification implements ShouldQueue
{
use Queueable;
public function via($notifiable)
{
return ['mail'];
}
public function toMail($notifiable)
{
return (new MailMessage)
->subject('Test Mail')
->view('layout.testmail.template');
}
}
queue.php
'default' => env('QUEUE_DRIVER', 'database'),
'соединения' => [
'sync' => [
'driver' => 'sync',
],
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'retry_after' => 90,
],
.env
QUEUE_DRIVER=database