php - 在 Laravel 5.8 中阻止发送验证电子邮件地址电子邮件
问题描述
我在我的用户模型上使用 Laravel Notifiable trait,因此用户必须在登录之前验证他们的电子邮件地址,这很好用。
但是,我想将此电子邮件的发送延迟到应用程序的稍后时间(当管理员手动确认每个用户时)。
如何防止 Laravel 在创建帐户时发送验证电子邮件?
手动创建用户时,您可以在应用程序中随时使用 SendsPasswordResetEmails trait 发送验证电子邮件:
use SendsPasswordResetEmails;
$this->sendResetLinkEmail($request);
问题是我在标准的 Laravel 身份验证脚手架中找不到此代码以防止它发生。
解决方案
Notifiable
特征不是向用户发送电子邮件验证的内容,而是您MustVerifyEmail
的User
模型实现的接口。
因此,为了手动完成,您需要做的是从
EventServiceProvider
$listen
映射:
Registered::class => [
SendEmailVerificationNotification::class,
]
然后稍后您可以找到User
要向其发送电子邮件验证的电子邮件,并像这样发送电子邮件:
User::find($userId)->sendEmailVerificationNotification();
推荐阅读
- python - 测试 python 列表项是只有正数还是只有负数,不是两者都有
- arrays - 可以复制 char *a[] 和 char *b[]
- python - AttributeError:“int”对象没有属性“timetuple”
- python - Python 帖子不工作 400,“响应”:“需要消息正文”卷曲工作
- reactjs - 如何在运行时更改 React 组件的渲染功能?
- javascript - React react-sortable-hoc 取消重新排序(撤消订单更改)
- reactjs - Third party dependency :- Invalid hook call warning
- typescript - undefined 和 optional 声明的区别
- bash - 如何使用带斜杠的 pgrep?
- r - 通过根据另一列的值选择列来创建新变量