exolnet/laravel-emails-confirmation

类似于Laravel原生的密码重置的邮件确认。

v6.10.0 2023-03-09 20:36 UTC

README

Latest Release Total Downloads Build Status Software License

类似于Laravel原生的密码重置的邮件确认。

准备工作

您应该已经启动了一个Laravel 5.5项目,并部署了认证框架

composer create-project --prefer-dist laravel/laravel your-project-name "5.5.*"
php artisan make:auth

安装

使用composer安装exolnet/laravel-emails-confirmation用于Laravel 5.5

composer require "exolnet/laravel-emails-confirmation:5.5.*"

如果您不使用包自动发现,请将服务提供者添加到config/app.php中的providers数组

Exolnet\Auth\Emails\EmailServiceProvider::class,

并将外观添加到config/app.php中的facades数组

'Email' => Exolnet\Support\Facades\Email::class,

发布

此模块提供许多可发布的文件。其中一些覆盖了标准Laravel应用文件,其他覆盖了来自认证框架的文件(控制器和视图)。

如果您刚开始一个新项目,您可以简单地强制发布所有内容

php artisan vendor:publish --provider="Exolnet\Auth\Emails\EmailServiceProvider" --force

如果您已经有了既定的项目,您可以选择仍然强制发布所有内容并查看git diff来修复可能被覆盖的重要内容,或者您可以手动复制可发布的文件。

迁移

运行迁移

php artisan migrate

路由

在路由文件中调用Route::emails()

Route::emails();

或明确定义以下路由

// Email Confirmation Routes...
Route::get('confirm', 'Auth\ResendConfirmationController@showLinkRequestForm')->name('email.resend');
Route::post('confirm', 'Auth\ResendConfirmationController@resendConfirmLinkEmail');
Route::get('confirm/{email}/{token}', 'Auth\ConfirmController@confirm')->name('email.confirm');

如果您想明确定义认证路由而不是使用Route::auth()宏,使用此方法

// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');

// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');

测试

要运行phpUnit测试,请使用

composer test

贡献

请参阅CONTRIBUTINGCODE_OF_CONDUCT以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件security@exolnet.com而不是使用问题跟踪器。

鸣谢

许可协议

此代码受MIT许可协议许可。请参阅许可文件以获取更多信息。