Laravel6にメール設定(MailGun編)

2020/03/11

前回、Laravelのログイン機能を自動生成し、各画面を確認しました。

しかし実はこのままだとメールの設定をしていないので、「リセットパスワード」が使えません。

今回はLaravel6にメールの設定をしてリセットパスワードを使えるようにしてみます。

もちろん、ローカル環境でも利用できます。

 

手順

1.MailGunのアカウントを作成

MailGunとはAPIベースのメール配信サービス(SaaS)です。

登録段階では無料で1日300通のメール配信ができます。

さらにドメイン登録を済ませると1日1万通まで無料で送れるようになります。

今回はドメイン登録の作業を省略して試していきます。

まず、MailGunを利用するにはアカウントを作成する必要があります。

サイトにアクセスしてアカウントを作成します。

Laravelメール送信の為の提供ドライバ
SMTP SMTPサーバから送信
sendmail PHPのmail関数で送信
MailGun MailGunというAPIベースのメール配信サービスから送信
MailDrill MailDrillというAPIベースのメール配信サービスから送信
Amazon SES AWSが提供する Amazon SES から送信
SparkPost SparkPostというAPIベースのメール配信サービスから送信
log 送信は行わず、ログファイルに書き込む
array ロジックは通るが、送信はされない

 

2.Guzzle HTTPライブラリを入れる

MailGun(API)にHTTPリクエスト送信するのに「Guzzle」を使用します。

Composerを使って「Guzzle」を入れます。


$ composer require guzzlehttp/guzzle

 

実演

 

3.envにMailGunを設定

Laravelの.envファイルにMailGunの情報を設定します。

 

1)MailGunのドメインを確認

「ログイン」→「Sending」をクリック。

「sandbox****.mailgun.org」と記述されているのがMailGunのドメインになります。

 

2)MailGunのシークレットキーを確認

先ほどの画面でMailGunのドメイン「sandbox****.mailgun.org」をクリック。

「API」→「cURL」をクリック

「API key」と記述されているのがMailGunのシークレットキーになります。

 

3)envに書き込む

:
MAIL_DRIVER=mailgun
MAIL_HOST=null
MAIL_PORT=null
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

MAILGUN_DOMAIN=sandboxb*****.mailgun.org
MAILGUN_SECRET=key-****
:

 

config\services.phpconfig\mail.php にはデフォルトでMailGunの設定が記述されています。

 

4)設定ファイルをキャッシュする

.envファイルを変更したら以下のコマンドを実行して設定を反映させます。


php artisan config:cache

 

 

4.動作確認

リセットパスワードを使ってみます。

1)ユーザー登録

Laravelの認証機能でユーザーを作成します。

メールアドレスはMailGunでアカウントを作成したメールアドレスを入力します。

MailGunで作成したメールアドレス以外だと以下のようにエラーになります。


1.MailGunのダッシュボードから「Authorized Recipients」にメールアドレスを入力

 
2.入力したメールアドレス宛に確認用メールアドレスが届くので確認

承認するためのリンクをクリック。

 
3.リンクをクリックすると承認成功画面に飛びます

 
4.ステータスが「未確認」から「検証済み」に変わったらOK

 

2)リセットパスワード画面でメールアドレス入力

ログアウトして、リセットパスワード画面にて先ほど作成したメールアドレスを入力します。

 

3)メール確認

入力したメールアドレス宛にリセットパスワードの通知が届きます。

 

4)リセット画面

通知メールのリンクをクリックすると以下の画面に飛びます。

パスワードを入力して「Reset Password」ボタンをクリック。

以下のような画面になればOKです。

 
以上です。

 

速習 Laravel 6 速習シリーズ

Laravel6になったので、改めてLaravelの学習本をチェックしてみると、評価がかなり高い本を見つけました。Kindle版しか発売していませんが、値段が良心的(700円)だったので購入。以前までは掌田 津耶乃さんの『Laravel入門』を当ブログでは推薦していたのですが、ざっと一通り読んだ感想はこちらの本のほうがわかりやすいというのが正直な感想です。しかし、かなりわかりやすく解説されているとはいえ、PHP中級者以上のスキルは必要です。PHP自体の知識が乏しい方は独習PHP 第3版をあわせて購入することをお勧めします。

Amazonで詳細を見る

オススメ

 

本庄マサノリ

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら

>> Twitter をフォローする

 

-チュートリアル, 初級