LoginSignup
29
18

More than 5 years have passed since last update.

AWSのSES利用時に知っておくべきSRSの挙動

Posted at

この記事の話題

AWS SESでSPFを設定しようと思ったら以下のドキュメントに当たります。

Amazon SES で MAIL FROM ドメインを設定する

この中で、SPFを設定しようと思ったらなぜかMXレコードを設定せよと記載されてます。
そのあたりの設定がなんで必要なのかこの記事にまとめます。

前提

設定の前提

過去の記事でAWS SESでのメール送信時にSPFの設定は必要だよ!って書いたので、送信元ドメインでSPFレコードを公開するように設定することを前提とします。

SPFの設定

Amazon SES で MAIL FROM ドメインを設定する

上記のリンク先から大まかな手順を引用すると

  1. Amazon SES コンソールまたは API で、指定した MAIL FROM ドメインが使用されるようにアイデンティティを設定します。
  2. MAIL FROM ドメインの DNS サーバーに MX レコードを公開します。このレコードは、セットアッププロセスの間に Amazon SES から提供されます。
  3. (オプション) E メールが Sender Policy Framework (SPF) チェックに合格するには、カスタム MAIL FROM ドメインの DNS サーバーに SPF レコードを公開する必要があります。

のステップになってます。

通常のメール配信

通常のメール配信は以下のイメージです。

スライド1.png

  1. SESでメール配信を依頼
  2. SESがenvelope from を書き換えます
  3. 宛先のMTAで書き換えられたenvelope fromに対してSPFの検証が実施されます

カスタム MAIL FROM ドメインをWebコンソール上から設定した送信元のドメイン、設定がない場合amazonses.comに変更されます。
ポイントとしては、設定可能なのは認証済みのドメインそのものではなくサブドメインでないとSESのコンソール上からカスタムMAIL FROMドメインとして設定できません。

バウンスメール配信

amazonses.comからメールを配信したあとに、バウンスメールがenvelope fromのアドレスに配信されます。
以下のようなイメージです。

スライド2.png

  1. 通常のメール配信で書き換えたenvelope fromに対してエラーメールを送ります。この時にenvelope fromを元のenvelope fromに書き戻す必要があるので一度SESに送信
  2. envelope fromを元のenvelope fromに書き戻す
  3. 元のenvelope fromアドレスでSESからエラーメールを受信

1のためにカスタムMAIL FROMドメインに利用するドメインに対してMXレコードを定義する必要があります。

この時点で当初疑問に思った、MXレコードの定義が必要な理由が分かりました。

envelope fromの書き換え

SESが行っているenvelope fromの書き換えは、大きな枠組みでいうと、
SRS(Sender Rewriting Scheme)/Wikipedia(参考)
に属する挙動と言えます。

SESではなぜSRSを実施する?

私見ですが、メールを送信するだけであれば送信元が最初に付与するenvelope fromを維持しても良いような気はします。しかし、AWSの提供するSESとしては送信したメールのバウンスメールの発生を計測するために、バウンスメールがSESを経由して送付されるように設計されているものかと思います。

あまりにもバウンスメールの多い利用をする場合は不審な利用とみなして利用を停止できるようにしているものと思います。
これによってAWSはSESの送信するメールの健全性を確保しているものかと思います。

まとめ

SESではバウンスメールの計測を行うため、SPFのためのカスタムMAIL FROMを設定する場合に、MXの指定が必要になるよ。

29
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
18