チラシの裏の書き置き

技術的な話をするブログのタイトルじゃない気がする

Amazon SES+Gmailでメールを送信できるようにしてみた

AWSをいじるにあたってSESは使っておかないとなと思っていましたが、ある日メールの送信に加えて受信でもできるという事が発覚しました。
上手く使えばこのドメインで使っているメールもSESを使えば送受信できるようになるのでは?と思いましたのでチャレンジしてみます。
(できるかは今の所不明)
今回は送信編。WorkMailは知らん。

やること

ap-northeast-1(東京)で使えないので、us-west-2(オレゴン)で設定しています。 まぁメールなので遠くでも良いでしょう。

  • ドメイン認証
    • まぁ必須
    • お試しとしてses.taiko19xx.net というドメインを使います
    • Route53では管理してません
  • メール認証
    • sandbox(制限未解除)の場合は必要
  • SMTP認証作成
    • 要はIAMです
  • 受信ルール設定
    • Gmailでのメール送信設定時に必要
  • Gmail設定

ドメイン認証

まぁドキュメントはありますが...。 サイドバーのDomainsから作業します。

f:id:taiko19xx:20180419004955p:plain ドメインを入れて(DKIMは使いません)

f:id:taiko19xx:20180419005230p:plain TXTとMXをDNSに設定しろと言われるので設定して(今回は受信も設定する必要があるのでMXもセットします)

f:id:taiko19xx:20180419005252p:plain statusがverifiedになれば完了です。

メール認証

分かり(やすい|にくい)ドキュメントがあります。
サンドボックス環境の場合は送信先がメール認証済みに限られるので認証しておきます。 サイドバーのEmail Addressesから作業します。

f:id:taiko19xx:20180419005342p:plain メールアドレスを入れてVerify This Email Addressを押すとメールが飛んでくるのでクリックして

f:id:taiko19xx:20180419005403p:plain statusがverifiedになれば完了です。

SMTP認証作成

ドキュメント
サイドバーのSMTP Settingsから作業します。

f:id:taiko19xx:20180419005413p:plain Create My SMTP Credentialsを押すとIAMの設定画面に移動するので、あとは画面に沿って進むだけです。
AmazonSesSendingAccessのポリシーだけアタッチされたユーザーが作成されます。

受信ルール設定

後述しますが、Gmailの設定時にメールアドレス宛にメールを送信して存在確認をする過程があります。
なので、最低限の受信ルールだけを設定して、S3でメールを受信できるようにしておきます。 詳しいドキュメントもあります。 サイドバーのRule Setsから作業します。

f:id:taiko19xx:20180419005426p:plain Recipientsでは受信したいメールアドレスを指定して

f:id:taiko19xx:20180419005433p:plain ActionsはS3を設定して(バケットがない場合は作れます)

f:id:taiko19xx:20180419005444p:plain ルール名を適当に入れて

f:id:taiko19xx:20180419005454p:plain 確認画面で問題ない事を確認して、Create Ruleして

f:id:taiko19xx:20180419005504p:plain statusがEnabledになっていれて完了です。

f:id:taiko19xx:20180419005512p:plain 指定したS3バケットに謎のファイルも生成されています。

Gmail設定

Gmailの設定→アカウントとインポート→名前に「他のメール アドレスを追加」というリンクがあるのでそこから作業します。

f:id:taiko19xx:20180419005520p:plain 名前は適当、メールアドレスはルールのRecipientsに設定したアドレスにして
(エイリアス扱いはよく分からないので一旦外しています)

f:id:taiko19xx:20180419005530p:plain SMTPサーバーはリージョンごとにエンドポイントにしてポートは587、ユーザー名とパスワードは先ほど生成した情報にして

f:id:taiko19xx:20180419005540p:plain 「アカウントを追加」を押すとS3宛てに確認メールが届いているので、ダウンロードして拡張子emlを付けて開いて、中のリンクをクリックするなり確認コードを入力するなりして認証を完了して

f:id:taiko19xx:20180419005549p:plain こんな感じで追加されていればOKです。

テスト

f:id:taiko19xx:20180419005555p:plain Gmailで新規作成時にFromが選べるようになったので、先ほど作成したアドレスを選択して送信します。

f:id:taiko19xx:20180419005605p:plain 届きましたね。ところでWindows10のメールってヘッダ見られないんですかね?

f:id:taiko19xx:20180419005946j:plain ちなみに、Gmailへの設定後に少し待つと、スマホ版のGmailアプリからでも送信できるようになります。

おわり

簡単にメールを送信できるようになりました。手順を見直しながらやってみましたが、設定が簡単でいいですね。
リージョンは仕方ないとして、画面が英語のままなのがちょっとハードル高めでしょうか。他が日本語な場合が多いのでなおさらですね。

さて受信も色々調べていますが、中々一筋縄ではいかなそうな予感がしています。多分SNSかLambdaフックして送信するのかなぁとは思っていますが果たして...。