blogですかい

株式会社Loco Partnersに勤めるエンジニアうちの一人のブログ。仕事、プライベートで学んだことなどを発信し、その内容がたとえ少数でも誰かの役に立ったらなら、それはとっても嬉しいなって

Amazon SESをSMTPサーバとして使用する

Amazon SESとは


Amazon Simple Email Service
AWSのクラウド型メール転送サービス
http://aws.amazon.com/jp/ses/
利用料は従量課金だが、無料で使用できる範囲は広く、かなり安い印象

通常のSMTPサーバとして使っても良いし、メールマガジンの送信に使うのも良いと思う。
バウンスメールの処理はSNSを併せて使うと楽に行える(らしい)
IPアドレス逆引きの設定を気にする必要がない
設定すればDKIMも使用できる

Postfixの設定が三度の飯より好きという人以外は使うと幸せになれそう。

今回はEC2で動かすWebアプリからSMTPサーバとして使う目的で設定をしてみる。

SMTPサーバとして使うための設定

SMTP認証アカウントの作成


f:id:oh-sky:20121211230526p:plain
SESのダッシュボードに入り、左ペインの「SMTP Settings」をクリック

f:id:oh-sky:20121211230553p:plain
右ペイン上部にSMTPのhost名が表示されます
TCPポートは25,465,587が使用できます
TLSを使用しないと接続できません


f:id:oh-sky:20121211230607p:plain
初期状態ではSMTP認証に使うアカウントが設定されていませんので、
「Create My SMTP Credentials」をクリックして作成します


f:id:oh-sky:20121211230625p:plain
「IAM」というサービスのアカウントを作る必要があります。
名前は任意で付けられますが、SMTP専用アカウントだとわかりやすい名前をつけると良いでしょう。


f:id:oh-sky:20121211230650p:plain
アカウントが作成できました。
「Close window」の前に「Show User SMTP Security Credentials」をクリックします。


f:id:oh-sky:20121211230822p:plain
SMTP認証に使用するID/PASSが表示されるので、控えておきます。
このタイミングでしか表示されません。
忘れてしまったらアカウントを作り直すことになるので気をつけてください。


メールアドレス または ドメインの所持確認


送信メールのFromヘッダに指定するメールアドレスまたはドメインの所持確認が必要です。

メールアドレスの所持確認

  1. SESコントロールパネル 左ペインの「Verified Senders」をクリック 
  2. 右ペインの「Email Addresses」タブをクリック
  3. 「Verify a New Email Address」ボタンをクリック
  4. 使用したいEmailアドレスを入力し、「Verify This Email Address」ボタンをクリック
  5. 入力したアドレスにメールが届くので、本文に記載のURLをブラウザで開く

ドメインの所持確認

  1. SESコントロールパネル 左ペインの「Verified Senders」をクリック 
  2. 右ペインの「Domains」タブをクリック
  3. 「Verify a New Domain」をクリック
  4. メール送信に使用するドメイン名を入力し、「Verify This Domain」ボタンをクリック
  5. 確認用のサブドメインとTXTレコードが表示されるので、DNSサーバに設定する


注意点

  • リージョンが選べない(us-eastしかない)ので、レスポンスはあまり良くない。
  • MXとしては使用できない。