0

我想在新用户注册时收到 2 条通知:

  1. 通知管理员我们有新用户进行审核
  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'));
        });
    }
}

4

0 回答 0