- 利用observer进行监控created并发送邮件
- 创建observer文件
- 在app/Providers/AppServiceProvider.php中进行注册
public function boot()
{
User::observe(UserObserver::class);
}
- 在observer中创建created方法并写入邮件发送
public function created(Admin $admin)
{
$user = auth('admin')->user();
$admin->notify(new EmailNotify($user));
}
- 利用event事件来监控并发送邮件
- 生成listener事件监听文件
- 将listener事件监听文件与事件进行绑定
protected $listen = [
Registered::class => [
SendRegisterMailListener::class,
SendEmailVerificationNotification::class,
],
];
- 生成notify邮件模板并在监听文件中写入邮件发送功能
public function handle(Registered $event)
{
$user = $event->user;
$email_token = \Str::random(5);
$user->mail_token = $email_token;
$user->save();
$user->notify(new EmailNotify($user));
}
- 不使用notify,自己创建模板,普通发送邮件方法
artisan make:mail RegMail
class RegMail extends Mailable
{
use Queueable, SerializesModels;
public $user;
public function __construct($user)
{
$this->user = $user;
}
public function build()
{
return $this->view('mail.reg');
}
}
$user = User::find(2);
\Mail::to($user)->send(new RegMail());