LoginSignup
11
12

More than 3 years have passed since last update.

LaravelでAWSのSESからメール送信する方法

Last updated at Posted at 2020-12-07

環境

Laravel:7.3
AWS SESリージョン:Tokyo(ap-northeast-1)

前提

・メールアドレスがある

やること

①composerでAmazon AWS SDK forPHPをインストールする
②SESにメールアドレスを登録する
③サンドボックスの解除
④SESのAPI使えるようにAIMでユーザー作る
⑤Laravelの設定(.env)
⑥試しにメール送信

①composerでAmazon AWS SDK forPHPをインストールする


composer.jsonに以下を記載しcomposer update する。

"aws/aws-sdk-php": "~3.0"

②SESにメールアドレスを登録する

Mails > Verify a New Email Addressの順でクリック

メールアドレスを入力してVerify This Email Addressをクリック

入力したメールアドレスに認証用のURLが記載されたメールが届きますので、URLを開いて認証を完了します。

③サンドボックスの解除

これ参考にしてくれぇ

④SESのAPI使えるようにAIMでユーザー作る

サービス(左上) > IAM > ユーザー > ユーザーの追加 > 任意の名前入力 + プログラムによるアクセスにチェック入れる > 次のステップ(右下の青いやつ) > [既存のポリシーを直接アタッチ]をクリック > [AmazonSESFullAccess] をアタッチ > 後はなんもいじらないで青いボタン押す。

重要↓

最後まで進むと、「アクセスキー」と「シークレットアクセスキー」が表示されますので、CSVでダウンロードするかメモしておきます。

⑤Laravelの設定(.env)

MAIL_MAILER=ses  //他の記事だと MAIL_DRIVER=ses ※config/mail.phpで確認してください
MAIL_FROM_ADDRESS=上で登録したメアド
MAIL_FROM_NAME="メールの送り主の名前になる"(何も書かないとExampleで送られる)
SES_KEY=上でメモした[アクセスキー]
SES_SECRET=上でメモした「シークレットアクセスキー」
SES_REGION=ap-northeast-1 //これ東京リージョンです

⑥試しにメール送信

 sudo php artisan tinker

>>> Mail::raw('mail 本文', function($message) { $message->to('送りたいメールアドレス')->subject('subjectだよーん'); });
=> null  ←これ成功!メール確認して届いてたら成功!

※上で成功したのに仮にお問い合わせフォームとかでエラー出たら自分で書いたソースを疑った方がいいかもです。。。知らんけど。

終了

11
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12