Laravel6にメール設定(Amazon SES編 その2)

2020/08/12

以前に、Laravel6のメールにAmazon SESの設定をエントリーしたのですが、今回はその続きです。

手順は以下の2つに分かれます。

  • Amazon SESの設定(メールアドレス登録、SMTP credentials の設定)
  • Laravel側の設定(AWS sdkのインストール、.envの設定)

前回はAmazon SESの設定をメインに行いました。

今回はLaravel側の設定を行い、最後に動作確認を行います。

 

手順

1.AWS sdkをインストール

composer を使って 『AWS sdk』 をインストールします。


$ composer require aws/aws-sdk-php

 

実行例

composerについてわからない方は以下をご参考ください。

 

2.envファイルの設定

Laravel側の .envファイル

・IMAのアクセスキーID
・シークレットアクセスキー
・リージョン

の設定を追記します。


:
MAIL_DRIVER=ses
MAIL_FROM_ADDRESS=【Amazon SESで登録したメールアドレス】

AWS_ACCESS_KEY_ID=【IAMのアクセスキーID】
AWS_SECRET_ACCESS_KEY=【IAMのシークレットアクセスキー】
AWS_DEFAULT_REGION=【Amazon SESのリージョン】
:

SMTP credentialsの作成時に表示される「SMTPユーザー名」「SMTPパスワード」ではないので注意!

 

3.services.phpの設定

config/services.php を以下のように編集します。


:
'ses' => [
    'key' => env('SES_KEY'),
    'secret' => env('SES_SECRET'),
    'region' => env('SES_REGION', 'us-east-1'),
],

 

4.キャッシュの作成

Laravelの環境ファイル(.env)を変更したのですが、このままだとbootstrap/cache/config.phpが優先されるので反映されません。

artisanコマンドでキャッシュをクリアにして再度作成します。

(※php artisan config:cache だけでもOK)


$ php artisan cache:clear
$ php artisan config:cache

上記のコマンドでも内容が反映されない場合は rm -f bootstrap/cache/config.php コマンドを実行。

 

5.動作確認

Laravelのartisanコマンドのtinkerコマンドでメールテスト送信します。


# tinker起動
$ php artisan tinker

# 構文
>>>Mail::raw('メール本文', function($message) { $message->to('送信先メールアドレス')->subject('メールタイトル'); });

# 実例
>>>Mail::raw('テストです', function($message) { $message->to('mail@example.com')->subject('テスト送信'); });

 

実行例

以下のようにメーラーでテストメールを受け取れたらOKです。

 
以上です。

 

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

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

Amazonで詳細を見る

オススメ

 

本庄マサノリ

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

>> Twitter をフォローする

 

-基礎知識