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
当我们运行这个命令时,将生成以下输出:
注册:
电子邮件提醒:
电子邮件:
成功: