SESのEmail ReceivingとSNSによるEメールトリガーでジョブを実行する

Trigger

Posted on Sep 30


こんにちは、Cloud Automator開発チームの柳瀬です。

先日、AWSのSESがメールの受信をサポートしたという嬉しいニュースがございました。
この機能の詳しい説明については、日本語記事もアップされておりますので割愛致しますが、Cloud Automatorと組み合わせるとEメールをトリガーにしてアクションを実行する事が可能となります。
今回はそのセットアップからジョブの実行までをご紹介したいと思います。

概要図

今回ご紹介するEメールトリガーの概要は以下となります。
ユーザーのメールをSESが受信することをトリガーにしてCloud Automatorのジョブを実行します。

Cloud Automatorのジョブ作成

SNSトリガーを使ったジョブの作成方法は、以前のブログでご紹介しておりますのでご参考下さい。
作成されたジョブの詳細画面にURLが記載されており、これを後ほど使用致します。

SESの設定

今回のポイントとなるSESの設定を説明致します。

DNSサーバーにMXレコードを作成

送信したメールがSESに到達出来るようにMXレコードの設定をします。
エンドポイントは使用するリージョンによって変わりますので、こちらのページを参考にしてください。今回はバージニアを使用しますのでinbound-smtp.us-east-1.amazonaws.comとなります。
ご覧のとおりDNSサーバーはRoute 53を使用しております。

Receiving Emailの設定

次にReceiving Emailを設定します。
SESのコンソール画面右メニューのRule Setsを開き、Create a Receipt Ruleをクリックします。

最初は受信許可の設定となります。以下のようにメールアドレスを入力して(ドメイン単位でもOKです)次のステップに移ります。

先ほど入力したメールアドレスが表示されておりますので、Verify Domainをクリックします。

正当なドメインの所有者か確認するためのレコードセットが表示されています。Route 53以外のDNSサーバーを使っている場合は、表示されている情報でテキストレコードを作成して下さい。
今回はRoute 53を使用しているので、画面右下にあるUse Route 53をクリックします。

先ほどと同じテキストレコードが表示されているので、Create Record SetsをクリックしてRoute 53にレコードを登録します。

レコードの設定が終わったばかりはVerification StatusがPendingとなっていますが(確認が完了するとVerifiedとなります)、次のステップに進みます。

Eメールを受信したときにどのようなアクションを実行するかを設定します。今回はSNSと連携させますのでaction typeでSNSを選択します。

Create SNS topicを選択して、メッセージ送信先となるSNS topicを新規作成します。

以下のように任意の名前を指定して下さい。

SNS topicが作成したら次のステップに進みます。

作成する任意のルール名を指定します。セキュリティに関する設定はデフォルトを使用しました。

最後に設定内容を確認し、Create Ruleをクリックします。

SNSの設定

先ほど作成したSNS topicにSubscriptionの設定をします。
SNSコンソール画面のTopicsから作成したtopicを選択し、ActionsのSubscribe to topicをクリックします。

ProtocolでHTTPSを選択し、EndpointにCloud Automatorのジョブ詳細画面に記載されていたURLを貼り付けてCreate Subscriptionをクリックします。

動作確認

全ての設定完了後、Eメールを送信して動作確認をします。

ジョブが実行され、成功したログが作成されました!

まとめ

Cloud Automatorではジョブを起動するためのトリガーを複数用意しておりますが、このように少し工夫をすることでオリジナルのトリガーを作成することも出来ます。
Eメールは普段から多くの人が使っており、とても簡単にジョブが実行出来るメリットがありますね。

参考



Search

Tags

By year

  1. 2017 (1)
  2. 2016 (30)
  3. 2015 (31)
  4. 2014 (42)