####やりたいこと
Laravelでユーザー認証をメールで行いたい。
####開発環境
- PHP7
- Laravel 5.5
- MAC version10.14
- MySQL 8.0
####やったこと
Laravelのコマンドでユーザー認証機能を作りました。
bash
1php artisan make:auth
これに、ユーザー登録時にメールを送信して、ユーザー認証を行う機能をつけたいと思い、メール認証ライブラリを使いメール認証機能を作りました。(導入方法はリンク先に記載されてます。)
.envには下記を追加して、テストメールサーバーに認証メールが送信されるように設定しました。
MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=ユーザーネーム MAIL_PASSWORD=パスワード MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=test@example.com MAIL_FROM_NAME=laravel_mail
ただ、これだと.envに記載されているメルアドにしか送信されないので、想定していた動きとは違います。
####わからないこと
ここでわからなくなったのは、
- メール認証はwebアプリケーションから直接ユーザー宛にメールを送信するか、もしくはメールサーバーに送信、転送をしてユーザーにメールを送信するのが一般的か。
- もしwebアプリーケションから直接ユーザーに送信する場合はどのようにコードを書き換えればいいか(.envファイルを都度書き換えることしか思いつきませんでした。)
- そもそも適切なライブラリを使っていない。
よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。