AWS
ses
laravel

AWSのSESでLaravelからメールを送ろう

なんだかめちゃくちゃハマった。ゲロゲロ

AWSのメール機能

Simple Email Serviceというのが機能してる。
大まかには

  1. ドメイン登録
  2. アドレス認証(既にメールが受け取れるアドレスで!gmailとかでよい)
  3. AWSサポートへの制限解除依頼
  4. SMTP設定
  5. IAMユーザー作成

が必要になる。多分、これを読んでくれてる人は、独自ドメインでメールを送りたいという勝手な思い込みが入っている。

Laravelのenv設定

MAIL_DRIVER=smtp
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=587
MAIL_USERNAME=AKISJT76GP4M7ZI3MJQA
MAIL_PASSWORD=AlUtz238aIAlIHvoawJfz2yDmj8HpD95BGKX/1kbIe0H
MAIL_FROM_ADDRESS=noreply@example.com
MAIL_FROM_USER=EXAMPLE
MAIL_ENCRYPTION=tls

これをenvに貼れば良い。

MAIL_USERNAME=
MAIL_PASSWORD=

これはIAMユーザーを作った時に「今回しかダウンロードできません!!!」って忠告されるあれだ。