SMTPを使ってAmazonSESのメールをGmailで送信できるようにする
AmazonSESを使って独自ドメインのメールアドレスで送受信できるようになりましたが、GmailやHotmailなどの使いなれたメーラーで活用できればもっと楽チンですよね。
SESではSMTPが利用できるので、メーラーからの送信は簡単です。GmailとWordPressで試したので結果をまとめます。
SMTPとは
Simple Mail Transfer Protocolの略。e-mailの送受信に使われるTCP/IPプロトコルです。しかし受信の能力が限定的なので、受信機能はPOP3やIMAPが代わりに行うのが主流です。
- メール送信で使われるプロトコル…SMTP
- メール受信で使われるプロトコル…POP3, IMAP
S3でメールを受け取れるように設定
あらかじめSESとRoute53の設定を済ませ、S3でメールを受信できるように設定しておく必要があります。
SMTP用のクレデンシャル情報を取得
S3でメールを受信できる状態になったら、Amazon SESの設定画面から、SMTP用のIDとアクセスキーを発行します。合わせてServer NameとPort番号をメモします。
Gmailの設定
Gamilのアカウント作成
まずドメインと紐づけるためのGmailアカウントを作成します。既存のアカウントを利用する場合は不要です。
メールアドレスの追加
Gmailの歯車アイコンからSettings > Accounts and Import > Add another email addressをクリックします。
下図のようなポップアップが開くので、メールアドレスと適当な名前を入力して次へ進みます。
Amazon SESのコンソール画面でメモしたSMTPサーバー、SMTPのアクセスIDとアクセスキーを入力します。
Username > ID
Password > アクセスキー
すると認証用のメールが届くので、開いてConfirmation codeをコピぺしてverifyボタンをクリックします。下図はS3へ送信された認証メールの中身です。
メールの送信テスト
Gmailでメールを新規作成すると、From欄で送信元のアドレスを選択できます。追加したメールアドレスを選んで、正しく送信されるか確認します。
WordPressの設定
WordPressでもSMTPで独自ドメインのメールを送信できます。Contact Form 7などのお問い合わせフォームからのお知らせメールはなりすましを防ぐため、メールアドレスのドメインとブログのドメインを同じにすることが推奨されています。
今回はWP Mail SMTPという便利なプラグインがあるのでそれを利用しました。
WP Mail SMTPの設定
WP Mail SMTPプラグインのインストール後、設定画面で、Amazon SESで設定した送信元アドレスを入力します。
送信者名にはわかりやすい適当な名前を入れ、メーラーはその他のSMTPを選択します。
SMTPホストにはSESで使用しているSMTPのサーバー名を、SMTPポートには25, 465, 587のいずれかを入力。SMTP UsernameとSMTP PasswordにSESのクレデンシャル情報を入力して保存します。
これでWordPressからの通知をSMTPで送信できます。
まとめ
Amazon SESを送信元として、GmailとWordPressからメールを送信できるようになりました。やったね!あとはS3で受信しているメールをGmailで受け取れるようにしなきゃです。