我有一个观察者,如果用户更新了他的电子邮件地址。
public function updated(User $user)
{
if($user->isDirty('email')){
$new_email = $user->email;
$old_email = $user->getOriginal('email');
//dd($user);
event(new UserUpdate($user, $old_email));
}
}
在UserUpdate事件中,我在构造函数内部有以下内容:
public function __construct($user, $old_email)
{
$this->user = $user;
$this->old_email = $old_email;
}
在侦听器的情况下,我想将电子邮件发送到旧的电子邮件地址。
public function handle(UserUpdate $event)
{
$user = $event->user;
Mail::to($event->old_email)->send(new UserUpdated($user));
}
和邮件类看起来像这样:
public function __construct($user)
{
$this->user = $user;
}
public function build()
{
$this->subject("Updated Email");
return $this->view('emails.updatedUser');
}
更新用户时,我会收到以下错误:
Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required
我在.env
中设置了电子邮件MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=example@gmail.com
MAIL_PASSWORD=******
MAIL_ENCRYPTION=tls
在mail.php中,我还编辑了一些详细信息:
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'example@gmail.com'),
'name' => env('MAIL_FROM_NAME', 'Admin Email'),
],
我去了我的电子邮件,并启用了该选项以允许更安全的应用程序。
如何使我的电子邮件工作?
使用此问题作为参考,我注意到我要做的就是重新启动服务器并清除缓存。