AWS SESを使ってブログサーバからメール送信
概要
このblogはawsのlightsailを使って構築していますが、lightsailインスタンスはinternet向けの25番ポートが制限されているため、このままではメール送信ができません。
対策はこの辺り?
- 25番ポートの制限解除申請をする
- AWS SES(Simple Email Service)を使ってメール送信をする (587SMTP 認証)
- Sendgrid などAWS以外のメール送信サービスを使う
- 現時点ではあえてAWS以外のサービスを使う理由がないので今回は除外
25番ポートの制限解除申請をする (結論 失敗)
このawsのドキュメントでは送信制限解除申請をすれば良いとありましたが、ドキュメント通り申請をしても、「SESを使ってださい」という主旨の返事が来ました。ユースケースや送信頻度なども追記して返事をしてみましたが、結果は変わらず。ということで25番ポートの制限解除は諦め。
Hello,
Thank you for submitting your request to have the email sending limit removed from your account and/or for an rDNS update.
After a thorough review, we confirmed our original finding and cannot grant your request.
Please consider looking into the Simple Email Service (SES) https://aws.amazon.com/ses/
SESを使ってメール送信をする
SESの設定メモ
- リージョンの選定
- SESリリース当初は東京リージョンがなかったけど、現在は対応しているので東京リージョンを選択
- SES ドメイン(identity)のセットアップ
- Create identity
- Identity type: domain
- Domain: 自分の使いたいドメインを設定
- Easy DKIMを選択
- ドメイン認証確認のため、CNAMEレコードを設定
- ドメインを所有していることを確認するため、SESの画面に表示される3つのCNAMEレコードを設定
- Identity statusがVerification pendingからVerifiedになればOK
- sandbox外の移動申請
- https://docs.aws.amazon.com/ja_jp/ses/latest/dg/request-production-access.html
- 設定初期段階では制限のかかったサンドボックス環境にあるため、移動申請を行う
- 適当な文章だとサポートで受理されないため、ユースケース、送信頻度、アドレスの管理など適切な内容を書く
- ドメインにSPFレコードを設定
- 迷惑メールとして拒否されないためにSPFレコードをTXTに設定する
- "v=spf1 include:amazonses.com ~all"
SMTP認証のユーザ設定
- Account dashboard - Simple Mail Transfer Protocol (SMTP) settings
- "Create SMTP credentials" をクリック
- SESを利用するIAMユーザが作成される。IAM User Nameを入力。こだわりがなければデフォルトで良い
- IAMのユーザ名、パスワードが表示されるので控える (SMTP認証に利用する)
wordpressからの送信テスト
WP Mail SMTP pluginを利用した。
プラグイン一覧から WP Mail SMTP の設定画面へ。
- メーラー: その他のSMTP
- ホスト名: email-smtp.ap-northeast-1.amazonaws.com
- ↑東京リージョンの場合
- ユーザ名、パスワードに先程作成したIAMの認証情報を入力
人気ブログランキング
僕にはプラグインを使わずにPostfixでやれゆーたのに!
なんやて。全然覚えてない!ごめんw