我想在新用户注册时收到 2 条通知:
- 通知管理员我们有新用户进行审核
- 向新用户发送欢迎电子邮件
我创建了 2 个事件,将它们放在 EventServiceProvider 中,但结果我有 2 封电子邮件给管理员。我已经尝试用不同的电子邮件注册 4 个用户,但他们都没有收到欢迎电子邮件。它总是发送给管理员config('mail.to.address')
由于某种原因欢迎电子邮件发送给管理员,而不是新用户。怎么了?我的代码如下。
事件服务提供者
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
SendWelcomeEmail::class,
SendNewUserRegisteredEmail::class,
],
];
发送欢迎电子邮件
<?php
namespace App\Listeners;
use Mail;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Auth\Events\Registered;
class SendWelcomeEmail
{
public function __construct()
{
}
public function handle(Registered $event)
{
$data = array(
'name' => $event->user->name,
'email' => $event->user->email
);
Mail::send('emails.welcome', $data, function($message) use ($data) {
$message->to($data['email'])
->subject('Добро пожаловать на сайт '.config('app.name'). '.');
$message->from(config('mail.from.address'));
});
}
}
发送NewUserRegisteredEmail
<?php
namespace App\Listeners;
use Mail;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Auth\Events\Registered;
class SendNewUserRegisteredEmail
{
public function __construct()
{
}
public function handle(Registered $event)
{
$data = array(
'name' => $event->user->name,
'email' => $event->user->email
);
Mail::send('emails.registered', $data, function($message) use ($data) {
$message->to(config('mail.to.address'))
->subject('Новый пользователь на сайте '.config('app.name'). '.');
$message->from(config('mail.from.address'));
});
}
}