Я смотрю на отправку приветствия по электронной почте через модель Eloquent с использованием события saved
.
Кажется, все работает нормально, вплоть до отправки письма. Поэтому я добавил это вверху модели User.php
.
protected $dispatchesEvents = [
'saved' => \App\Events\UserCreated::class
];
Файл UserCreated.php
содержит только базовый шаблон и назначение пользователя
<?php
namespace App\Events;
use App\Models\User;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Queue\SerializesModels;
class UserCreated extends Event
{
use InteractsWithSockets, SerializesModels;
/**
* @var User
*/
public $user;
/**
* Create a new event instance.
*
* @param User $user
*/
public function __construct(User $user)
{
$this->user = $user;
}
}
Внутри EventServiceProvider.php
Я слушаю, чтобы затем запустить файл SendWelcomeEmail.php
.
protected $listen = [
'App\Events\UserCreated' => [
'App\Listeners\SendWelcomeEmail'
]
];
SendWelcomeEmail.php
выглядит так ...
<?php
namespace App\Listeners;
use App\Events\UserCreated;
use App\Mail\WelcomeEmail;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Mail;
class SendWelcomeEmail
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param UserCreated $event
* @return void
*/
public function handle(UserCreated $event)
{
$user = $event->user;
Mail::to($user->email_address)->send(new WelcomeEmail($user));
}
}
Пока что я могу сделать dd
внутри класса WelcomeEmail
и увидеть, как он отображается на экране, однако запрос завершается, я получаю ответ обратно и не получаю ошибки. Однако письмо никогда не отправляется пользователю.
Я использую SendGrid для этого, и я точно следовал всему, что они вставили, я не вижу никаких запросов, поступающих в SendGrid, и запрос с моей стороны очень быстр, чтобы фактически отправить электронное письмо.
Я зарегистрировал почтовый конфиг и MailServiceProvider
внутри app.php
, поэтому я действительно не знаю, что это может быть.
Я также на 100% знаю, что получаю правильный адрес электронной почты пользователя и выкидываю, что получаю правильный ввод.
Заранее спасибо.