SESでエイリアス宛メールを受信後S3に送りたい

記事タイトルとURLをコピーする

こんばんは、SWX3人目の熊谷(悠)です。

特別な設定が必要なわけではありませんが、備忘録として残しておきます。

結論

Also matches variations of the address that contain labels (such as user+123@example.com and user+xyz@example.com).

Creating receipt rules console walkthrough - Amazon Simple Email Service より

エイリアス付きのアドレスにも送れます。
また、受け取った MIME 形式のメールや受信メールイベントの To に、エイリアス付きのアドレスが記録されます。

検証

構成図

ses-receive-mail.png

前提

  • 受信用のドメインは Route 53 の NS を有効なホストゾーンとして設定している
  • 受信用のドメインで SES の検証済みIDを作成し、検証済みである

設定

S3 バケットは受信ルールの作成時に作成します。

MXレコードの設定

Email receiving に記載の通り、Route 53 にて以下の受信エンドポイントを MX レコードとして登録します。

Region Name Region Email Receiving Endpoint
Asia Pacific (Tokyo) ap-northeast-1 inbound-smtp.ap-northeast-1.amazonaws.com

2024-02-15_20h53_56.png

受信ルールの作成

SES コンソールの E メール受信を開きます。

2024-02-15_21h11_25.png

まずは任意の名前でルールセットを作成します。

2024-02-15_21h13_34.png

次にルールの作成を行います。

2024-02-15_21h13_47.png

任意のルール名を指定します。

2024-02-15_21h16_11.png

ガイドラインやドキュメントを参考に受信者の条件を指定します。
※何れの指定でもエイリアスアドレスは受信可能です。

今回は特定のE メールアドレスmail@example.comと一致させる条件で設定します。

2024-02-15_21h17_01.png

アクションは S3 バケットへの配信 を選択します。

2024-02-15_21h47_26.png

S3 バケットの作成をします。
※既存バケットも指定できますが、バケットポリシーの設定が別途必要です。

2024-02-15_21h18_04.png

自動作成されたバケットには、検証用のオブジェクトが作成され、バケットポリシーが設定されます。

2024-02-15_21h58_26.png

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowSESPuts-1701234464477",
            "Effect": "Allow",
            "Principal": {
                "Service": "ses.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::ses-receive-mail-123456789012/*",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "123456789012"
                },
                "StringLike": {
                    "AWS:SourceArn": "arn:aws:ses:*"
                }
            }
        }
    ]
}

最後にルールセットを有効として設定します。

2024-02-15_21h20_43.png

2024-02-15_21h20_58.png

メール送信

受信者の条件として指定したアドレスmail@example.comにエイリアスを付けたアドレスmail+hogefuga-alias@example.comへ宛てたメールを送信します。

2024-02-15_22h11_32.png

バケットに MIME 形式のメールのオブジェクトが登録されています。

2024-02-15_22h15_45.png

ファイルの中を確認すると、宛先に指定したエイリアス付きのアドレスが To に記録されていました。

Return-Path: <hogefuga@gmail.com>
Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.53])
 by inbound-smtp.ap-northeast-1.amazonaws.com with SMTP id gekvq8nmp1n8nl2gvlrm0fvm5n67qnji9h9s5v01
 for mail+hogefuga-alias@example.com;
 Thu, 15 Feb 2024 13:14:08 +0000 (UTC)
X-SES-Spam-Verdict: PASS
X-SES-Virus-Verdict: PASS
Received-SPF: pass (spfCheck: domain of _spf.google.com designates 209.85.160.53 as permitted sender) client-ip=209.85.160.53; envelope-from=hogefuga@gmail.com; helo=mail-oa1-f53.google.com;
Authentication-Results: amazonses.com;
 spf=pass (spfCheck: domain of _spf.google.com designates 209.85.160.53 as permitted sender) client-ip=209.85.160.53; envelope-from=hogefuga@gmail.com; helo=mail-oa1-f53.google.com;
 dkim=pass header.i=@gmail.com;
 dmarc=pass header.from=gmail.com;
X-SES-RECEIPT: AEFBQUFBQUFBQUFIVDRsOWZ3aGR5N3ZkUUwrKy9hVFhFSDJGdW1ISjdzVnZPNlJlREVFUkV5OU50MCtzL3U2UXZhaVRvTVdhMGQ5S0JIZ3VyYkM5Si8wR2FaMVJHeStkSGptVE93eXh0ekdKMmRzUndNZlZJSGFxcW85NnVZT2dmV2EvSEZidDErOWVUMnRCNWEyVWNpVWQ0M3ZsZmlERkE0TGdiWVc2Kyt2emlQR3gxaXRSTmV5QkczMlFiYmdsVHdWckNkcGRybWVlNWkyNGliSkhIWkF3TWpQdmtlVVVGQ1lLOW53My9WYk5lNzVQQm1jNk9FR3dQc1VzSVFRSWo0djhVazNwSkprVklBSkVQcjRWQkRnMGFXcmdiRnQxZFAvQy9sTE52ZU8yRDBsSGJhaEdVaHc9PQ==
X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=mUKwpLmQ4PUuJ3tcB+IgUfxgu5pEfraJp2zVcr4ep4ZqZI7+1dzD9oE8IEbexJAiggtunUNFMh9kCGEpcdoesh2U1fldMGm77qGqwC6n38yJmSLlRrvCXNki7/e9cO13TNJv3gk2NeET8taPzR5w8bjBzdFTXpzQYq0ujsJFW0g=; c=relaxed/simple; s=zh4gjftm6etwoq6afzugpky45synznly; d=amazonses.com; t=1708003563; v=1; bh=nI50x1v7xgitw4Q592+WA/EeaOT7UZ77uVJKHzGg+D4=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT;
Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-214309bbbf0so109985fac.1
        for <mail+hogefuga-alias@example.com>; Thu, 15 Feb 2024 13:14:08 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1708003561; x=1708608361; darn=example.com;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=nI50x1v7xgitw4Q592+WA/EeaOT7UZ77uVJKHzGg+D4=;
        b=b/EpK9TENr7vZVyFYnN4NVXFPJr8r5WzJ5tqp0cFzaryXAxPa/7sLUBOPZT9Kq5YPK
         etpzostS/RGo3WsmZag0PrT00QjDj1dtjfYVmI6QMUIRhGFdYmolMzX4m3e32aNty6yd
         WJENlngSU97KZBqYNYEFvIGIdmv8yxpq55xVEp1VoyJuRhMcyi+HvDExbS0Ptl8f4Tf1
         222XriYZXwwRun3CkbLZtxi+hkHZFPaJwlardU2sw3aDsRHGTe/7g6LnoOQDKuVLH9hO
         gIruPI9OdVep5C026p8dOLLaoW2762/FowyEU82IEyZYDIrsDIKP+syP8qLNdf06dKCu
         1gmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1708003561; x=1708608361;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nI50x1v7xgitw4Q592+WA/EeaOT7UZ77uVJKHzGg+D4=;
        b=MLn/6eP9X8Ue5yEGPk7Mbal5+UrBV9uHgiriW5UtnO4bbOi/KSyKAX3/wTVl+v4YfQ
         10yufqERiWwTBJmpd1+pooZjfmW0DMS9jD+DBc9DCsDNbUB4v26/yyz64hWkf8EFbrbg
         5TEHMDWpSk8nean0FN+mDVK1E5ZdSI1KEGzqJnnnp8kyGym0jgOjWMOBHsVE+3EtFg7s
         xsth0WhjkfWuKbBPvs/z0MpDvUer6hYVMtnXNoSkg3KG3OLKg6BcDWjet2Rt0yA3wTLs
         6eBGg1yNDA6hBl1HRiPutwRyf2Do4SHi6S1KeBYut8T6RCNeD31G+/tL+9AOiA07S443
         4GPg==
X-Gm-Message-State: AOJu0YwZ3GN/Sz4qnTvz+0RwuBy0MvAytJ0G3JDfgj7uYepr+iWspfl7
    tg2y+XJTeAdSW/8SKzL5WMB5261FRW7F7hDE/XOqNw13cLXfGy+Inqt6p5oI6TGz8pCAP5JRzgO
    GGDX1Z3vzfv2891RzNX8SJwNAsMK92KYfplo=
X-Google-Smtp-Source: AGHT+IF5lhkF0sZ2tkpf0uaqP0JpqYDMwQYgmKulOx3CGX2vAZ5qMh1MbE8Y97HgIaLQ0W9EXyfHjDp+MvklXnJ4Znc=
X-Received: by 2002:a05:6870:b4a8:b0:21a:2e89:7d87 with SMTP id
 y40-20020a056870b4a800b0021a2e897d87mr1708191oap.2.1708003561328; Thu, 15 Feb
 2024 05:13:47 -0800 (PST)
MIME-Version: 1.0
From: hogefuga <hogefuga@gmail.com>
Date: Thu, 15 Feb 2024 22:13:37 +0900
Message-ID: <CAGFI65eq-HazpQuFqTmPAYePVORe0+7_M0Jbx3Taiy8o5WgZ9A@mail.gmail.com>
Subject: test-subject
To: mail+hogefuga-alias@example.com
Content-Type: multipart/alternative; boundary="0000000000008c54da06116b91c1"

--0000000000008c54da06116b91c1
Content-Type: text/plain; charset="UTF-8"

test-body

--0000000000008c54da06116b91c1
Content-Type: text/html; charset="UTF-8"

<div dir="ltr">test-body<br></div>

--0000000000008c54da06116b91c1--

参考

https://docs.aws.amazon.com/ses/latest/dg/receiving-email-receipt-rules-console-walkthrough.html

https://docs.aws.amazon.com/ses/latest/dg/regions.html

https://docs.aws.amazon.com/ses/latest/dg/receiving-email-action-s3.html