Laravel 5.8 邮件验证示例

Laravel 5.8 邮件验证示例

在本节中,我们将学习关于 Laravel 5.8 中的邮件验证。我们将了解已注册用户的邮件验证设置。当新用户想要登录 Laravel 5.8 时,他们应该首先验证自己的电子邮件地址。为了在 Laravel 中验证电子邮件地址,将向注册的电子邮件地址发送一个激活码。

在旧版本的 Laravel 中,我们需要手动进行电子邮件验证的过程,但 Laravel 5.8 版本提供了内置的邮件验证设置。在此版本中,新用户在完成其电子邮件地址的验证之后才能继续进行。为此,我们需要使用邮件配置、路由和中间件进行一些基本设置。执行电子邮件验证的基本步骤如下所述:

步骤1:

在此步骤中,我们将进行 Laravel 5.8 安装 。为此,我们将下载最新的 Laravel 5.8 版本。我们将通过打开命令提示符或终端来运行以下命令。

composer create-project --prefer-dist laravel/laravel blog

步骤2:

在这一步中,我们将进行 数据库配置 。为此,我们将使用.env文件并将数据库配置的详细信息添加到其中。因此,我们将创建用户名、密码等内容。像这样:

.env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel572
DB_USERNAME=root
DB_PASSWORD=root

当我们完成数据库配置的添加后,我们将使用以下命令来运行Laravel的默认迁移,如下所示:

php artisan migrate

步骤3:

在这一步中,我们将进行 邮件配置 。为此,我们将使用.env文件。当用户完成用户注册时,我们将发送一封电子邮件。我们需要添加SMTP的详细信息以发送电子邮件,如下所示:

.env:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=johnsmith@gmail.com
MAIL_PASSWORD=smith
MAIL_ENCRYPTION=tls

步骤4:

在这一步中,我们将 创建认证 。通过使用Laravel的路由,可以快速创建忘记密码、注册和登录功能。我们将使用auth命令来创建这些功能,其描述如下:

php artisan make:auth

步骤5:

在本步骤中,我们将进行 电子邮件 验证设置。我们将使用用户模型来实现电子邮件验证类。我们还将使用中间件提供保护。因此,我们将按照以下所示的方式逐个更新以下文件。

app/User.php:

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protectedhidden = [
        'password', 'remember_token',
    ];
}

routes/web.php:

Route::get('/', function () {
    return view('welcome');
});

Auth::routes(['verify' => true]);

Route::get('/home', 'HomeController@index')->name('home');

app/Http/Controllers/HomeController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{
    /**
     * It will create a new controller instance.
     *
     * @It will return void
     */
    public function __construct()
    {
        $this->middleware(['auth','verified']);
    }

    /**
     * It will display the application dashboard.
     *
     * @It will return \Illuminate\Http\Response
     */
    public function index()
    {
        return view('home');
    }
}

现在我们的以上代码已经准备好运行了。为了运行以上代码,我们将使用以下命令:

php artisan serve

当我们运行这个命令时,将生成以下输出:

Laravel 5.8 邮件验证示例

注册:

Laravel 5.8 邮件验证示例

电子邮件提醒:

Laravel 5.8 邮件验证示例

电子邮件:

Laravel 5.8 邮件验证示例

成功:

Laravel 5.8 邮件验证示例

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程