環境
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 ←これ成功!メール確認して届いてたら成功!
※上で成功したのに仮にお問い合わせフォームとかでエラー出たら自分で書いたソースを疑った方がいいかもです。。。知らんけど。
終了