在 Laravel 电子邮件验证中选择收件人电子邮件
Choosing Recipient Email on Laravel Email Verification
我在我的 Laravel 应用程序中实现了 email verification。默认情况下,当用户注册时,验证电子邮件会发送给用户。但是,我想要的是向我的邮箱发送一封验证邮件,即选择收件人,以便网站管理员(在本例中为我)批准用户注册。
有什么办法吗?怎么样?
为此,我不推荐 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 */
],
];
...
抱歉,这个答案不够详细,但它会让你继续。
我在我的 Laravel 应用程序中实现了 email verification。默认情况下,当用户注册时,验证电子邮件会发送给用户。但是,我想要的是向我的邮箱发送一封验证邮件,即选择收件人,以便网站管理员(在本例中为我)批准用户注册。
有什么办法吗?怎么样?
为此,我不推荐 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 */
],
];
...
抱歉,这个答案不够详细,但它会让你继续。