Simple Email Service(SES)でメールを受信してみた

AWSのサービスの一つであるSimple Email Service(SES)を使えばメールサーバーを立てることなくメールの送受信が可能です。

送信については当ブログに記事を載せていますのでご覧ください。

関連記事

Lightsailインスタンスはpostfixを動かしてもメールを送ることができないようです。 「数通だったら送れた」という情報も見受けられますが、うちで試したところ1通も送ることができませんでした。 これを解除することもできるようです[…]

今回、SESでメールの受信をしてみたのでその手順を記事にまとめてみたいと思います。

前提条件

  • AWSアカウントを持っていること
  • サーバー運用に関する知識があること
  • DNSレコードの設定ができること
  • SESでドメインの認証を終えていること

注意点

SESでメールを受信する場合、いくつか注意点があります。

受信に対応しているSESのリージョンは限られている

現状(2021年7月11日時点)では下記の3リージョンのみが対応しています。

Region Name Region Receiving Endpoint
US East (N. Virginia) us-east-1 inbound-smtp.us-east-1.amazonaws.com
US West (Oregon) us-west-2 inbound-smtp.us-west-2.amazonaws.com
Europe (Ireland) eu-west-1 inbound-smtp.eu-west-1.amazonaws.com

受信に対応していないリージョン(例えば東京リージョン)でSESのセットアップを行った場合でもMXレコードに設定すべきReceiving Endpointは上記3リージョンのものが表示されるようです。
そうすると送信用の設定は東京リージョンで行い、受信用の設定は上記3リージョンのいずれかで行うことになり二度手間になってしまいます。
送信だけではなく、受信も想定している場合は上記3リージョンでSESのセットアップを行うことをオススメします。

通常のメールクライアントでは受信できない

SESはPOPサーバーやIMAPサーバーとしての機能を提供していません。
そのためOutlookなどのメールクライアントを使って受信することができません。
当記事では受信メールをAmazon S3バケットに配信して、そこから取得することで内容の確認を行う手順を説明しています。

SESの設定手順

  1. AWSマネジメントコンソールからSESを探します。
    「カスタマーエンゲージメント」に分類されています。
  2. SESのトップ画面の左側にあるメニューから「Rule Sets」をクリックし、上の方にある「View Active Rule Set」をクリックします。
    このボタンが存在しない場合、この手順は無視してください。
    尚、「Rule Sets」がグレーアウトしていてクリックできない場合は右上にあるリージョンが前述の受信に対応しているリージョンになっているか確認してください。

    ルールセット選択
  3. 「Create Rule」をクリックし、受信したいドメインやメールアドレスを入力して「Add Recipient」をクリック、右下の「Next Step」をクリックします。
    尚、何も入力しない場合は認証済みのドメイン宛のメールが全て受信されます。

    メールアドレスの追加
  4. 「Add action」で「S3」を選択して必要な情報を入力、右下の「Next Step」をクリックします。
    尚、S3バケットについては既存のものを選択するか、新規に作成するかを選ぶことができます。
    「Object key prefix」を入力するとS3バケットの中にその名前のディレクトリが作られてそこにメールが保存されます。

    アクションの追加
  5. 「Rule name」を入力して、「Next Step」をクリックします。
    ルール名の入力
  6. 確認画面が表示されるので問題がなかったら「Create Rule」をクリックします。
    確認画面

受信したメールの確認手順

前述の通り、通常のメールクライアントでは受信できないのでAWSマネジメントコンソールからS3バケットにアクセスして確認します。

  1. AWSマネジメントコンソールからS3バケットにアクセスします。
    当該バケット内に受信されたメールが入っています。

    S3バケットの中身
  2. 当該メールを選択して「ダウンロード」をクリックします。
  3. ダウンロードされたファイルに拡張子「eml」を付与すると通常のメールクライアントで開けるようになります。
    もしくは、Chromeを起動してファイルメニューから当該ファイルを開くと中身を確認することができます。

    メール本文

まとめ

受信した後のメールの扱いに若干クセはありますが、メールサーバーを立てることなくメールの受信ができるのは便利だと思います。

公式ドキュメントにもいろいろと情報が載っていますので参考にしてください。

Amazon SES を使用して E メールを受信する方法。…