Laravel6にメール設定(MailGun編)

2020/08/12

前回、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です。

 
以上です。

 

PHPフレームワーク Laravel入門 第2版

僕がはじめてLaravelを学習するために参考にしたサイトは、掌田津耶乃(しょうだつやの)さんの libro というサイトです。当時(2016年)、Laravel学習サイトの中でもこのサイトは群を抜いてわかりやすく説明されていたので、とても勉強になったのを覚えています。この本は掌田津耶乃さんが書いた本なので、わかりやすく解説されているだろうと kindle で購入しました。2020年8月の時点でいうと日本国内にて唯一の Laravel の良書と言っても良いかと思います。口コミでもLaravel本のロングセラー定番解説書として認知されています。当サイトではチュートリアル形式でLaravelを解説しているので、初心者の方はこの本とセットで学習されるといいと思います。しかし、かなりわかりやすく解説されているとはいえ、PHP中級者以上のスキルは必要です。PHP自体の知識が乏しい方は 独習PHP 第3版 をあわせて購入することをお勧めします。

Amazonで詳細を見る

オススメ

 

本庄マサノリ

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

>> Twitter をフォローする

 

-チュートリアル, 初級