5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SESルールの設定方法

Last updated at Posted at 2020-05-29

やりたいこと

受け取ったファイルを自動でどこかに保管し、管理したい(後続の処理で使いたい)!

  • ファイルの受け取り方法: メール
  • ファイルの保管場所: どこでも

考えた案

保管場所をAmazon S3にして、Amazon SESの Rule Setsを使用する
指定のメールアドレスにメールが送られたら、メールの内容(MIME)をS3にアップロードするよう設定する

前提条件

指定のメールアドレスには、Amazon Route53で用意したドメインのメールアドレスを用いる

事前準備(SESへ権限追加)

SESからS3にアップロードする際は、S3 バケットに書き込むためのアクセス権限をSES に付与する必要がある。
方法は、 公式の記事 参照。

※ この事前準備(S3 バケットにSESに権限の付与)をせずにSESの設定を進めると
 後述するStep4 で下記のエラーが出ます。先に設定しましょう。
Could not write to bucket: XXXXX (Request ID: XXXXXXXXXXXXXXX)
us-west-2.console.aws.amazon.com_ses_home_region=us-west-2 (8).png

SES Rule の設定を行う

メールが届いたらS3にアップロードするよう、設定を行う場合は
SESのルールと呼ばれるものを設定します。
us-west-2.console.aws.amazon.com_ses_home_region=us-west-2 (3).png

リージョンはオレゴンに設定(社内の他のプロダクトに合わせたため)
Rule Setsという部分を押下すると、Create a Receipt Ruleというボタンが出てくるので
そのボタンをクリックでルールの設定を進められます。

Step 1 : Recipients(受取人)の設定

ここで設定したアドレスにメールが届くと、このルールが適用されます。
Add Recipients押下で、メールアドレスがセットされます。
us-west-2.console.aws.amazon.com_ses_home_region=us-west-2 (3).png
セットされたアドレスはドメインの検証が必要となるため、Verify domainを押下します。
ドメインの検証が終わったら、Next Stepを押下し、次のステップに進んでください。

ドメインの検証

ドメインのDNS設定にレコードを追加
↑の画像にある、Verify domainを押下すると、モーダル出現します。
SESがドメインを認証するためのTXTレコードが表示されるので、表示されたレコードをDNSへ登録してください。
前提条件で述べたとおり、今回はドメインにRoute 53を使用しているので、Use Route 53をクリック
us-west-2.console.aws.amazon.com_ses_home_region=us-west-2 (11).png
※ Use Route 53ボタンが無く押下出来ない場合や、ドメインの管理を他のサービスで行なっている場合は
 値をメモっておき、Route53やその他サービスのドメインにレコード追加すればOKです。

もし、下記のWARNINGが出た場合
「このオプションは、既存のすべてのmxレコードを置き換えますが、問題ないですか?」という確認なので
問題ければ、そのままEmail Rceiving Recordのチェックボックスにチェックを入れCreate Records Setsを押下で
ドメインの検証が完了します・・!
us-west-2.console.aws.amazon.com_ses_home_region=us-west-2 (12).png

ドメイン検証完了の確認

Route53で、Step1で設定したアドレスのドメイン確認します。
MXレコードとTXTレコードが追加されていればOK!
スクリーンショット 2019-11-22 16.37.30.png

補足

ドメインの検証をせずに、ルールの設定を完了してしまった場合・・・
ドメインの検証は、ルールの設定の最中ではなく後からでも可能です。
SESの「Domains」にてVerify a New Domain押下で設定するか、
スクリーンショット 2019-11-22 16.36.19.png

Domain Identiesの一覧にある、ドメインから検証完了していないドメインを選択すると
検証をする画面に遷移するので、ドメイン検証可能です。
us-west-2.console.aws.amazon.com_ses_home_region=us-west-2 (10).png

Step 2 : Actionsの設定

ドメインの検証が終わりモーダルを閉じたら、引き続きルールの設定が可能。
今回は、S3のバケットにアップロードしたいのでS3を選択!
選択したら、Next Step押下します。
us-west-2.console.aws.amazon.com_ses_home_region=us-west-2 (4).png

次にアップロードするS3バケットと、バケット内のどのに格納するかのkey(ディレクトリ)名を設定します。
us-west-2.console.aws.amazon.com_ses_home_region=us-west-2 (5).png

Step 3 : Rule Detailsの設定

ルールの詳細を設定できます。
今回は、ルールの名前だけ設定します。
あとはデフォルトのままにしました。(デフォルトのままの部分は、TLS対応やSPAM、ウィルスのスキャンを設定できるそうです。)
us-west-2.console.aws.amazon.com_ses_home_region=us-west-2 (6).png

Step 4 : ルールの確認

ルールを確認し、問題なければCreate Ruleを押下。
us-west-2.console.aws.amazon.com_ses_home_region=us-west-2 (7).png
これで、SESのRule設定完了です。

動作確認方法

Step1で設定したメールアドレス(Recipients)にメールを送信すると
MIMEデータが指定のS3バケット内にアップロードされることが確認できます。

Step2で指定したS3バケットを見に行きましょう。

5
6
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
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?