稼働するドメインを追加して、メールを利用しようとしたところ、逆引きDNSは1IPアドレスにつき一つしか設定できなくて、満足な認証がされない。
そこで、Amazon SESを利用することにした。DKIMも使えるし、十分信頼されそうだ。
まずは、Amazon SESの利用を開始する。初期状態では、以下の送信制限がある。
- 事前に登録したメールアドレス以外へ送れない
- 1日に200通しか送れない
- 1秒に1通しか送れない
Amazon SESの利用を開始する。
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/Welcome.html
- Amazon SESコンソールを開く
- Manage Identitiesの+をクリックする
- Domainsページが開かれているので、Verify a New Domainをクリックする
- ドメイン名を入力、Generate DKIM Settings をオンにしておく
- Verify This Domainボタンを押す
- 表示された情報をDNSに追加する
- _amazonses.sample.com TXT xxxxxxx
- xxx1._domainkey.sample.com CNAME xxx1.dkim.amazonses.com
- xxx2._domainkey.sample.com CNAME xxx2.dkim.amazonses.com
- xxx3._domainkey.sample.com CNAME xxx3.dkim.amazonses.com
sample.com MX 10 inbound-smtp.us-east-1.amazonaws.com
- 最後のMXレコードはS3バケット経由でメールを受信する場合に使用する。
- 検証が完了すると、DKIM setup SUCCESS for ドメイン という件名のメールがAWSアカウントに届く。
外部のメールアドレスも登録しておく
- 左ペインのEmail Addressesを選ぶ。
- Verify a New Email Addressボタンを押す。
- メールアドレスを入力して、Verify This Email Addressボタンを押す。
- 入力したメールアドレスに、Amazon Web Services – Email Address Verification Request in region xxxという件名のメールが届くので、リンクを開く。
次に、SMTP認証情報を作成する。
- 左ペインのSMTP Settingsを選び、Create My SMTP Credentalsボタンを押す。
- IAMユーザー名はデフォルトのses-smtp-user.xxxのままでかまわない。
- 表示された内容をメモしておく。再度表示されないので、忘れると別のIAMユーザーを作るしかないらしい。
WordPressのWP Mail SMTPプラグインにAmazon SESのSMTP認証情報を設定する。
- メーラー:Other SMTP
- Amazon SESは無料版では利用できない
- SMTPホスト:email-smtp.ap-northeast-1.amazonaws.com
- 暗号化:TLS
- SMTPポート:25, 465 or 587
- 認証:ON
- SMTP Username:表示されたユーザー名
- SMTP Password:表示されたパスワード
Email TestタブでAmazon SESに登録しておいたメールアドレスに送信できれば完了。