php - 在 Laravel 电子邮件验证中选择收件人电子邮件
问题描述
我已经 在我的 Laravel 应用程序中实现了电子邮件验证。默认情况下,当用户注册时,会向用户发送验证邮件。但是,我想要的是向我的邮箱发送一封验证邮件,也就是选择收件人,以便站点管理员(在本例中为我)可以批准用户注册。
有没有办法做到这一点?如何?
解决方案
为此,我不推荐 Laravel 附带的默认用户电子邮件验证,即use Illuminate\Contracts\Auth\MustVerifyEmail;
如果您想要这样做,那么用户必须得到管理员的批准,我会设置一个辅助字段,它不是email_verified_at
.
修改您的用户迁移database/migrations/*********_create_users_table.php
并添加一个布尔字段。
...
class CreateUsersTable extends Migration
{
...
public function up()
{
Schema::create('users', function (Blueprint $table) {
...
$table->boolean('approved');
...
});
}
...
}
然后你可以创建一个新的中间件来检查用户是否被批准。
为了触发电子邮件,我将添加当用户在侦听数组中注册时触发的事件app/Providers/EventServiceProvider.php
...
class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
/* add some notification here that sends you an email */
],
];
...
抱歉,这个答案并不详细,但它会让你继续前进。
推荐阅读
- r - 从 GeoPackage 中删除图层
- sql-server - SQL Server SQLCLR 函数在从一个 DB 复制到另一个 DB 后收到参数错误
- node.js - 收件人未收到 Docusign 复合模板,但显示在 DS 收件箱/已发送
- machine-learning - 自动将 On-Premise ML 训练模型移动到 Azure 存储
- html - 如何更改 HTML 中标题的颜色?
- android - Android Studio:模式中的 TableRow 不起作用
- java - 无法在 .Net c# 上匹配来自 Java 的 SHA256withRSA 签名
- vee-validate - VeeValidate v3 扩展了对 Vue 数据的访问
- python - 使用远程服务器上的 Python 代码通过 SFTP 传输文件?
- javascript - 检查包含保存在 chrome.storage.local 中的对象数组的对象中的键