Amazon SES を使用してインバウンド E メールを受信し、それらの E メールを Amazon S3 に保存する方法を教えてください。
最終更新日: 2020 年 6 月 11 日
Amazon Simple Email Service (Amazon SES) を使用してインバウンド E メールを受信したいと考えています。また、アーカイブやさらなる処理のためにこれらの E メールを保存したいと考えています。どうすればできますか?
簡単な説明
インバウンド E メールを受信し、それらの E メールを保存するように Amazon SES を設定するには、次のステップに従います。
1. Amazon SES でメールドメインを検証します。
2. Amazon SES からの E メールを保存するアクセス許可を持つ Amazon Simple Storage Service (Amazon S3) バケットをセットアップします。
3. S3 バケットにインバウンド E メールを送信する Amazon SES 受信ルールを作成します。
4. Amazon SES ルールをテストします。
解決方法
Amazon SES で E メールドメインを検証する
E メールの受信に使用するドメインを検証する必要があります。
Amazon SES からの E メールを保存するためにアクセス許可を持つ Amazon S3 バケットをセットアップする
2. バケットを作成したら、 Amazon S3 コンソールのバケットリストから名前を選択します。
3. [ ] タブを選択します。
4. [バケットポリシー ] を選択します。
5. バケットポリシーエディタで、次のポリシーを入力します。
注意: AWSDOC-EXAMPLE-BUCKET をバケットの名前に置き換えます。次に、111122223333 を AWS アカウント ID に置き換えます。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSESPuts",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET/*",
"Condition": {
"StringEquals": {
"aws:Referer": "111122223333"
}
}
}
]
}
注意: このポリシーの詳細については、「Amazon S3 バケットに書き込むためにアクセス許可を Amazon SES に付与する」を参照してください。
6. [保存] をクリックします。
S3 バケットにインバウンド E メールを送信する Amazon SES 受信ルールを作成する
1. Amazon SES コンソールを開きます。
2. ナビゲーションペインの [E メール受信] で、 [ルールセット] を選択します。
3. 既存のアクティブなルールセットにルールを追加する場合は、ステップ 4 に進みます。新しいルールセットを作成するには、[ルールセットの作成] を選択し、ルールセット名を入力して、 [ルールセットの作成]を選択します。
注意: 新しいルールセットを作成する場合は、必ずルールセットを選択し、アクティブなルールセットの表示を選択します。どの時点でも、1 つの受信ルールセットのみをアクティブなルールセットにすることができます。
4. [アクティブなルールセットの表示] を選択します。
5. [ルールの作成] をクリックします。
注意: 次のステップで説明しているのと同じ値で既存のルールを更新することも選択できます。
6. [受信者] で、検証済みドメインの特定の E メールアドレスにのみ送信された E メールを保存する場合は、その E メールアドレスを受信者として入力します。検証済みのすべてのドメインに送信されたすべての E メールを保存する場合は、受信者を入力せず、[次のステップ] を選択します。
7. [アクション] の [アクションの追加] で、[S3] を選択します。次に、以下のフィールドに入力します。
S3 bucket の場合、E メールを保存するために作成したバケットを選択します。
(オプション) [オブジェクトのキープレフィックス] に、E メールを保存する S3 プレフィックスを入力できます。このフィールドを空白のままにすると、E メールはバケットのルートに保存されます。
(オプション) Amazon SES で AWS Key Management Service (AWS KMS) キーを使用して E メールを暗号化する場合は、[メッセージを暗号化] でボックスを選択します。
注意: デフォルトのマスターキー (aws/ses) 以外のキーを使用する場合は、AWS KMS キーを使用するための Amazon SES アクセス許可を付与する必要があります。Amazon SES は、ストレージ用の S3 バケットに E メールを送信する前に、Amazon S3 暗号化クライアントを使用して E メールを暗号化します。ご使用の E メールは、Amazon S3 サーバー側の暗号化を使用して暗号化されていません。
(オプション) [SNS トピック] で、E メールが S3 バケットに配信されたときに通知を送信する Amazon Simple Notification Service (Amazon SNS) トピックを選択します。
8. その後、[次のステップ] をクリックします。
9. [ルールの詳細] で、以下のフィールドに入力します。
[ルール名] に、ルールの名前を入力します。
[有効] で、ルールがアクティブルールとして作成されるように、このチェックボックスがオンになっていることを確認します。
(オプション) ユースケースで必要な場合は、[TLS を要求する] または [スパムとウイルススキャンの有効化] を選択します。
[ルールセット] で、アクティブなルールセットが選択されていることを確認します。アクティブなルールセットには、名前に (Active) が含まれています。
ルールの後に挿入 で、ルールセット内でのルールの位置を選択します。
10. その後、[次のステップ] をクリックします。
11. [ルールの作成] をクリックします。
Amazon SES ルールをテストする
1. Amazon SES コンソールのナビゲーションペインで、 [ドメイン] を選択します。
2. 検証済みドメインを選択します。
3. [テストメール送信] を選択します。次に、以下のフィールドに入力します。
[差出人] に、テスト E メールの送信元の E メールアドレスを入力します。
[宛先] に、テストするドメインの E メールアドレスを入力します。
[件名] と [本文] に、E メールテキストの例を入力します。
4. [テストメールの送信] を選択します。
5. 数分後、 Amazon S3 コンソールを開きます。
6. Amazon SES メールを保存するように設定したバケットを開きます。
7. 送信したテストメールがバケットに保存されていることを確認します。