AWSからのメール送信

スポンサーリンク

「AWSからのメール送信」の内容

  1. AWSからのEmail送信 Amazon Data Services Japan
  2. AWSからのメール配信の選択肢 1. EC2上にMail Transfer Agent (MTA)を構築して配信 2. Amazon Simple Email Service (SES)の利 用 3. 外部Email配信サービスの利 用 3.についてはAWS特有の 手順はないため省 略 して以降 では 1., 2.を取り扱います 2
  3. EC2上にMTAを構築して配信 " 利 点 慣れたMTAや既存のノウハウを活かして構築・運 用が可能 携帯キャリア向けの送信ルールの適 用など、柔軟な制御が可能 " 注意点 構築・運 用・障害対策やスケールの調整などは 自 身で 行 わなけ ればならない Email送信のための制限解除やDNS逆引きなどフォームによる 申請が必要な項 目あり(後述) 3
  4. Simple Email Service (SES)の利 用 " 利 点 AWSが管理 するクリーンに保たれた(Spammer登録などされてい ない) 大きなIPアドレスプールを使ってメール送信可能 MTAを 自前で 立 てなくてもAPIを叩く事でメール送信可 簡単DKIM設定 " 注意点 現状 日本国内の携帯キャリアの制限を 十分考慮した配信アルゴリズ ムにはなっていない(特に迷惑メールフィルタの考慮など) BounceやComplaintの処理 を 行 っていないと送信レートの抑制や 送信停 止措置が取られる事もある (IPアドレスプールをクリーンに保つとともに、世の中のメールの 信頼性・健全性向上を促すため) SESのエンドポイント及び送信元IPアドレスはUS-- east-- 1となる (2013年 12 月現在) 4
  5. 2つの選択肢から適切 な 方法を選ぶ基準 5 Bounce処理 を実装予定 No Bounce処理 はどちら の 方法でも重要です。 実装しましょう。 携帯キャリア のアドレスに 送信予定あり Yes Yes 1. EC2上のMTA構築 を検討 No Bounceやコンテン ツの問題による送信 レート抑制を受 入可 No 2. SESの利 用も考慮に Yes
  6. EC2からメール送信を 行 う前の準備
  7. EC2インスタンスからのメール送信 " デフォルトでは外向きTCP 25番ポートは制限対象 Spamのリレーを防ぐ 誤ったSpam送信から利 用者様を守る 7 SMTP (TCP: 25) SMTPS (TCP: 587) 587番を使って認証付き で外部サービスを利 用す るのは特に制限なし この制限は申請ベースで解除出来ます MTA
  8. EC2でMTAを構築するまで 1. MTAのホスト名とIPアドレスを 用意 ホスト名を決める Elastic IPを取得 ホストのAレコードをドメインに登録する 2. 制限解除と逆引きDNSの登録を申請する 3. メール関連のDNS設定を 行 う SPFレコード DKIM MXレコード (Optional: 受信もする場合) 8
  9. 構成とDNSレコードの例 " DNSレコード例 9 ;; example.com @ IN A 203.0.113.3 @ IN MX 10 mx1 @ IN MX 20 mx2 mx1 IN A 203.0.113.4 mx1 IN A 203.0.113.5 mta1 IN A 203.0.113.6 mta2 IN A 203.0.113.7 @ IN TXT "v=sfp1 ip……" @ IN SPF "v=sfp1 ip……" mta1 mta2 mx1 mx2 DNS *.113.0.203 1. RCPT TO alice@receiver.com MAIL FROM bounce@example.com mx.receiver.com 2. 203.0.113.6? 3. PTR mta1.example.com (Bounce/error) * DNS example.com 4. SPF? 5. SPF "v=sfp1 ip…" 逆引き申請 で登録 * 一般にバウンス等のエラーは受信側MXサーバによりセットされるreturn-- pathヘッダに記載のア ドレスに返される。
  10. 1. MTAのホスト名とIPアドレス " MTAのホスト名を決める 例 :mta1.example.com, mta2.example.com " IPアドレスの取得 通常通りElastic IPをホスト名の数だけ取得 " DNS Aレコードを登録 mta1.example.com IN A <EIP 1> mta2.example.com IN A <EIP 2> 10
  11. 2. 制限解除と逆引きDNSの登録を申請 " 専 用フォームより申請 AWSのHP下部 11
  12. 申請フォーム " メール送信の 目的を記 入 " 申請対象のEIP " EIPの逆引き結果 となるべきホスト 名を記 入 12 DNSの正引きの 一致が必要
  13. 申請時の注意点 " ユースケースはUS側で対応するため英語でご記 入下さい 難しい場合は担当営業にご相談下さい " DNS 正引き結果が申請内容と 一致する場合のみ逆引き設定を 行 います 正引きの設定をした上で申請をお願いします 13
  14. 3. SPF, DKIMの設定
  15. SMTPにおける送信元認証のための技術 " 送信元IPアドレスに基づく認証 Sender Policy Framework (SPF) Sender ID 各ドメインでメール送信元であるべきホストのIPアドレスやド メイン名をDNSで公開 各DNSドメインにレコードを追加するだけで開始できる " 送信元による署名に基づく認証 Domain Keys Identi ed Mail (DKIM) 送信元で各メールにデジタル署名をし、公開鍵をDNSで公開 送信者あるいは送信元サーバでの対応が必要
  16. SPFの設定例 " 送信元サーバの逆引き結果が*.example.comである場 合に正当な送信者であると宣 言する場合の設定例 一致しない場合はソフトフェイルとする場合 example.com. TXT "v=spf1 include:example.com ~ all" example.com. SPF "v=spf1 include:example.com ~ all" 一致しない場合はハードフェイルとする場合 ( 一致しない場合に受信側MTAに受信拒否を要求) example.com. TXT "v=spf1 include:example.com -- all" example.com. SPF "v=spf1 include:example.com -- all" 16 注:RFC4408によれば、SPFかTXTどちらかが定義されていれば動作 するものの、両 方のレコードに同内容を設定することが推奨される
  17. SPFの設定例 (SESの場合) " 送信元サーバの逆引き結果が*.example.comである場 合に正当な送信者であると宣 言する場合の設定例 一致しない場合はソフトフェイルとする場合 example.com. TXT "v=spf1 include:amazonses.com ~ all" example.com. SPF "v=spf1 include:amazonses.com ~ all" 一致しない場合はハードフェイルとする場合 ( 一致しない場合に受信側MTAに受信拒否を要求) example.com. TXT "v=spf1 include:amazonses.com -- all" example.com. SPF "v=spf1 include:amazonses.com -- all" 17 注:RFC4408によれば、SPFかTXTどちらかが定義されていれば動作 するものの、両 方のレコードに同内容を設定することが推奨される
  18. DKIM有効化時のメール送受信の流 れ " MTAでキーペアを管理 、公開鍵をTXTレコードで送信元 ドメインに設定 sender.com MTA smtp.receiver.com 2. 署名付きEmail送信 From: foo@sender.com To: bar@receiver.com DKIM-- Signature: s=xyz; d=sender.com … 1. Email送信 From: foo@sender.com To: bar@receiver.com 3. 公開鍵問い合わせ TXT xyz._ domainkey.sender.com 4. 公開鍵返答 TXT "公開鍵" MTA及びDNSに必要な設定をすることで導 入
  19. DKIM有効化時のメール送受信の流 れ (SESの場合) " SES側でキーペアを管理 、公開鍵をCNAMEでユーザド メインに設定 sender.com amazonses.com SES smtp.receiver.com 2. 署名付きEmail送信 From: foo@sender.com To: bar@receiver.com DKIM-- Signature: s=xyz; d=sender.com … 1. Email送信 From: foo@sender.com To: bar@receiver.com 3. 公開鍵問い合わせ TXT xyz._ domainkey.sender.com 4. CNAMEレコード返答 CNAME xyz.dkim.amazonses.com 5. 公開鍵問い合わせ TXT xyz.dkim.amazonses.com 6. 公開鍵返答 TXT "公開鍵"
  20. SESの簡単DKIM設定機能 1. ドメインを選択 2. DKIMタブで有効化 3. DNSにレコードを追加 Route53なら2クリック! 4. 設定完了 通知を待つ
  21. Bounce処理 の実装
  22. SMTPの正常時のシグナリング Sender.example.com HELO sender.example.com 250 OK MAIL FROM: user@example.com 250 OK RCPT TO: user1@example.jp 250 OK example.jp DATA 354 Start ヘッダ,本 文.. <CRLF>.<CRLF> 250 OK QUIT 250 OK MTA MUA
  23. SMTPのステータスコード " 200番台 正常応答 情報提供 " 300番台 データ 入 力 を促す(354) " 400番台 一時的なエラー: サーバシャットダウン、メールボックスbusy、 メールボックス溢れ " 500番台 システムエラー: コマンド間違い 転送エラー: メールアドレスなし、処理 失敗通知
  24. 配信エラーメール " SMTPセッション時のエラー 送信元のMTAが作成。 エンベロープの発信者メールアドレスにエラーメールが戻る (Return-- Path or Errors-- To ヘッダに記載) " SMTPセッション時以外 送信先のMTAが作成 エンベロープの発信者メールアドレスにエラーメールがに戻る エラー発 生時、ユーザが存在しないなどの恒久的なエラー(ハードバウンス) については再度 送信しないように送信側で対処(バウンス処理 )が必要
  25. バルクメール配信とバウンス処理 の例 25 smtp 顧客情報 Message to each receiver Message Producer Bounce記録のあ る宛先を除いて 送信先を抽出 送信ステート テーブル 送信中/送信済 ステートを記録 (送信中/送信済 はスキップ)
  26. バルクメール配信とバウンス処理 の例 (SESの場合) 26 顧客情報 Message to each receiver Message Producer Bounce記録のあ る宛先を除いて 送信先を抽出 送信ステート テーブル Amazon SES Amazon SNS 送信中/送信済 ステートを記録 (送信中/送信済 はスキップ)
  27. 参考情報 " 携帯キャリア各社からのメール送信に関する注意事項 送信ドメイン認証(Sender ID/SPF)について | NTTドコモ http://www.nttdocomo.co.jp/service/communication/imode_ mail/ notice/sender_ id/ 同報メールを 大量 に送信されるお客様へ | NTTドコモ http://www.nttdocomo.co.jp/service/communication/imode_ mail/ notice/mass_ send/ EZwebへメール送信する際の注意事項(概要)│au http://www.au.kddi.com/mobile/service/mail/attention/ メール送信時のお願い│EZwebへメール送信する際の注意事項(概要)│au http://www.au.kddi.com/mobile/service/mail/attention/request/ 迷惑メールに対するソフトバンクモバイルの取り組み | ソフトバンクモバイル http://www.softbank.jp/mobile/support/antispam/report/wrestle/&quot; メールシステムのおはなし #Mailerstudy http://www.slideshare.net/ar_ maniacs/mailerstudy 27

このスライドを共有する

  • このエントリーをはてなブックマークに追加

関連スライド

おすすめスライド

↑