mp3063/mail-activation

提供易于使用的基于邮件激活的Laravel认证!

v5.5.1 2017-04-24 12:12 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:37:07 UTC


README

对于Laravel 5.4,使用版本5.4.2

准备

在.env文件中添加您的凭证,例如

DB_HOST=localhost
DB_DATABASE=test_mail_activation
DB_USERNAME=root
DB_PASSWORD=
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=null

在config/mail.php中添加您的邮件和姓名

'from' => ['address' => 'yourmail@123.com', 'name' => 'Your Name'],

在app/User.php文件(模型)中向$fillable数组添加两个更多列,如下所示

protected $fillable = [ 'name', 'email', 'password', 'code', 'active' ];

这将安装所有必要的视图到资源文件夹。运行artisan命令

php artisan make:auth

确保从routes/web.php中删除以下行或仅将其注释掉,因为包中的routes.php文件将覆盖所有必要的认证路由。这基本上是Laravel中的同一文件(更改了3个路由以覆盖Laravel方法)

Auth::routes();

您的routes/web.php文件应如下所示

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

//Auth::routes();

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

安装

使用以下命令通过composer要求此包

composer require mp3063/mail-activation

在config/app.php文件中将此行添加到ServiceProvider数组中

mp3063\LaravelMailActivation\LaravelMailActivationServiceProvider::class,

运行

php artisan vendor:publish

这将复制数据库/migrations中的迁移文件,并激活.resources/emails/auth中的blade.php文件

运行

php artisan migrate

#####如果您的应用程序正在运行MySQL v5.7.7及以上版本,则无需进行下一步。如果您遇到此错误

[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))

#####您需要在AppServiceProvider.php文件中执行此操作,并在boot方法中设置默认字符串长度

use Illuminate\Support\Facades\Schema;

public function boot()
{
    Schema::defaultStringLength(191);
}

结束

如果您完成了所有这些步骤,那么您应该已经有了所有视图和路由,为邮件激活做好了准备!只需启动您的服务器并享受!所有由Laravel创建的功能和路由都得到了保留!