SES (Simple Email Service)を使ってメールを送信する

EC2からメールを送信する場合、普通にmailコマンド等で送ろうとしても様々な制限がかかります。

AWS EC2メール送信制限にハマりそうになったので書く – ksakaの日記

Amazon EC2 Eメール送信ベストプラクティス | Developers.IO

そこで、AWSが提供するメール送信のアプリケーションサービスである、Amazon SES (Simple Email Service)を利用したいと思います。
SESであれば、SMTP25番ポート以外での送信に対応しているのでメール送信の事前申請が不要ですし、RBL対策も必要ありません。SPF/DKIMについても、Route 53の設定を自動生成する機能があり非常に簡単に対応することができるようです。

以下、SESの設定方法を記載します。

現時点では、TokyoリージョンではSESが提供されていないようなので、今回はUS West(Oregon)を選択します。

20141020_ses_1

次に、SESで送信元となるメールアドレスをVerified Sendersに登録します。
※ SESがプロダクション環境でない場合は受信先メールも登録する必要があります。SESをプロダクション環境として登録する方法についての参考サイトは下部にて紹介します。

20141020_ses_2

下記画面で送信元メールアドレスを記入し「Verify This Email Address」を押すと、このアドレス宛てに確認メールが送信されます。

20141020_ses_3

送られてきたメールにある確認URLをクリックすると、下記のようにアドレスが承認された旨、メッセージが表示されます。

20141020_ses_5

コンソール画面でも当該アドレスが認証された状態が確認できます。

20141020_ses_4

次に、SMTP Settings メニューに移ると、SMTPサーバ名等の情報があるのでこれを記録しておきます。

「Create My SMTP Credentials」をクリックします。

20141020_ses_6

SMTP CredentialsはIAMによって提供されていますので、IAMのユーザー名を指定します。このユーザーのIAMポリシーも確認します。

20141020_ses_8

IAMのユーザーを作成すると以下のようにSMTPユーザーとパスワードが発行されます。

20141020_ses_9

これで、SMTPサーバに接続して、ユーザー、パスワードを使ってメール送信ができます。

WordPress ですと、プラグインの「WP Mail SMTP」などでプログラムから直接SMTPサーバに接続してメールを送信することができます。(これについては別途紹介します)

今回参考にした記事:
Amazon SESをSMTPインターフェースとして使う時のまとめ – okochangのインフラ日誌

SESのプロダクション環境への移行についての参考記事:
[AWS][SES] プロダクション環境へのアクセスをリクエストする – Blue21(awsses_03)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です