Laravel8 实现注册新用户时邮箱验证

这篇博客介绍了在 Laravel8 项目中手动实现注册新用户时的邮箱验证过程。内容包括:前期准备,如安装组件和配置数据库及邮箱(推荐使用 MailTrap 或谷歌邮箱);在数据库迁移文件中添加验证字段;通过邮件发送验证链接,创建视图和控制器方法;设置验证链接的路由及处理方法;最后,确保只有验证过的用户才能登录。
摘要由CSDN通过智能技术生成

实现注册时邮箱验证的方法有很多…
如果项目使用了 laravel 内置的 Auth 相关的控制器登录和注册,官方文档有更简单的方法…
本文手动实现发送邮件以及验证的功能…

前期准备

安装需要的组件

// 新建一个 Larave 项目
composer create-project laravel/laravel ./email_test
// 安装 Laravel ui 和 vue
composer require laravel/ui
php artisan ui vue --auth
// 安装相关依赖,编译 vue
npm install && npm run dev
// 数据库迁移
php artisan migrate

配置数据库

配置邮箱

方法一:使用 MailTrap

MailTrap 官网

方法二:使用谷歌邮箱

.env 文件中修改相关信息

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com 	// 如果用 gmail 就改为 smtp.gmail.com
MAIL_PORT=465		// 下面的 ENCRYPTION 如果是 ssl,则为 465
MAIL_USERNAME=your-email@gmail.com	// 修改为自己的邮箱地址
MAIL_PASSWOR=******		// 填写邮箱的授权码 
MAIL_ENCRYPTION=ssl	// 加密类型,可为不填或 ssl 或 tls,如果上面的 MAILER 选择 smtp,ENCRYPTION 填 ssl
MAIL_FROM_ADDRESS=your-email@gmail.com	// 修改为自己的邮箱地址
MAIL_FROM_NAME=test		// 发送邮件时显示的名字

谷歌邮箱授权码获取方式见 Gmail 官网文档

1. 数据库迁移文件添加字段

databse/migrations/2014_10_12_000000_create_users_table 中添加

$table->string('verification_code')->nullable();
$table->integer('is_verified')->default(0);

添加后如下

    public function up()
    {
   
        Schema::create('users', function (Blueprint $table) {
   
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->string('verification_code')->nullable();
            $table->integer('is_verified')->default(0);
            $table->rememberToken();
            $table->
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值