Laravel 5.5
bestmomo/laravel-email-confirmation 1.1
を使用します。
インストール&準備
最初にartisan make:auth
でLaravel標準のユーザー認証用のファイルを生成。
php artisan make:auth
コンポーザーでLaravel Email Confirmation
をインストールします。
composer require bestmomo/laravel-email-confirmation
providers
に追記します。
config/app.php
'providers' => [ // ... Bestmomo\LaravelEmailConfirmation\ServiceProvider::class, ],
migrate
でデータベースを作成。
php artisan migrate
ファイルの書き換え
make:auth
で生成されたコントローラー各ファイルを書き換えていきます。
基本的にuseの部分を書き換えるだけです。
app/Http/Controllers/Auth/LoginController.php
//use Illuminate\Foundation\Auth\AuthenticatesUsers; use Bestmomo\LaravelEmailConfirmation\Traits\AuthenticatesUsers;
app/Http/Controllers/Auth/LoginController.php
//use Illuminate\Foundation\Auth\RegistersUsers; use Bestmomo\LaravelEmailConfirmation\Traits\RegistersUsers;
app/Http/Controllers/Auth/ResetPasswordController.php
//use Illuminate\Foundation\Auth\ResetsPasswords; use Bestmomo\LaravelEmailConfirmation\Traits\ResetsPasswords;
続いてViewのメッセージを表示する部分です。
これは下記コマンドで書き出されます。
php artisan confirmation:auth
login.blade.php
とregister.blade.php
に追記されます。
ローカライズ
標準では日本語に対応していないので作成しましょう。
php artisan vendor:publish --tag=confirmation:translations
php artisan confirmation:notification
resources/lang/vendor/confirmation
ディレクトリが作成されるので他の言語ファイルをコピーして、ja
ディレクトリを作成します。
メールの内容を書き換えたい場合はapp/Notifications/ConfirmEmail.php
を編集します。
メールのテンプレート自体を変更したい場合はtoMail
メソッドのMailMessage
にview
を指定すると独自のViewファイルを読み込めます。
app/Notifications/ConfirmEmail.php
public function toMail($notifiable) { return (new MailMessage) ->subject('登録ありがとうございます。') ->view( 'emails.register', ['confirmation_url' => url("confirmation/$notifiable->id/$notifiable->confirmation_code")] ); }
ほぼドキュメントのままですが、以上です。
これで/register
にアクセスして、登録情報を入力すると登録URLが記載されたメールが送られて登録できるようになります。
詳しくは下記リンク先のページを参考にしてください。
bestmomo/laravel-email-confirmation