NextLeap blog

【AWS】SESでメール受信

他社メールサービスをSESで受信する


普段使っているメールを自動でパースして、内容に応じた処理をしてみようと思ったことありますか?今時ならチャットにメッセージを投稿すると、ボットが動いて何かしてもらうって感じですが、入力はメールしかない!っていう場合にやるやり方を簡単にお話します

基本は、何か簡単に処理させるといえば、AWS Lambdaですね。今回は、SESでメールを受信して、S3に保存し、S3のPutイベントでLambdaをキックするという流れです。また、Rout53でドメインを取得した場合の連携は、他のサイトでも結構情報がありますので、ここでは他社のムームーメールさんとの連携を説明します。

サブドメインの登録

AWSのSES設定を行う前に、まずサブドメインを取得しましょう。ムームードメインでドメインを取得し、ムームーメールをご使用の場合は、取得したドメインに対するMXレコードが既にムームーDNSに設定され、ムームーメールソフトで受信するようになっているかと思います。そうなると、SESに同じドメインのメールを受信したくても、受信できません。そこで、サブドメインを作り、そのサブドメイン宛てのメールをSESで受信するようにしましょう。普段使っているメアドに届くメールが見れないじゃん!と思ったかもしれませんが、そこはサブドメイン宛てに自動転送です!ムームーメールの場合は、ムームーDNSのカスタム設定に下記を設定すると、サブドメイン作成完了です

”サブドメイン名” ”ALIAS” ”ドメイン名”

MXレコードの登録

次は、さきほど登録したサブドメインにメールを飛ばすためのMXレコードを設定します。バージニアリージョンのSESを利用する場合は、下記の設定となります。優先度は10でいいでしょう

”サブドメイン名” ”MX” ”inbound-smtp.us-east-1.amazonaws.com” ”優先度”

Domainの登録

AWS SES画面を開き、Domainsに先ほど作成したサブドメインを登録します。登録すると、検証待ちとなります。で、その検証とは、何かですが、登録したサブドメインの詳細を見ると、VerificationのRecord Type:TXT, TXT Name, TXT Valueがあるかと思います。この値を自身のDNS側に設定すると、SES側で検証されるという仕組みです。それでは、設定してみましょう。入力してしばらくすると、10分ぐらい?SES画面でVerifiedと表示されます

”_amazonses.サブドメイン名” ”TXT” ”TXT Value”

Rule Setの作成

ルール名を入力し作成すると、Recipientに受信したいメールアドレスを入力してください。アカウントはここで作成される形になります。そして、Actionsにメール受信した際の処理を設定します。S3バケットは同じAWSアカウントであれば設定できるので、SESは東京にないですが、東京のバケットを使えます