翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SES の Amazon SNS 通知コンテンツ
バウンス、苦情、および配信の通知は、JavaScript Object Notation (JSON) 形式で、Amazon Simple Notification Service (Amazon SNS)notificationType
文字列と mail
オブジェクトに加え、bounce
オブジェクト、complaint
オブジェクト、または delivery
オブジェクトのいずれかが含まれます。
オブジェクトのタイプごとの詳細については以下のセクションを参照してください。
以下は、Amazon SES の Amazon SNS 通知の内容に関する重要な注意事項です。
-
該当する通知タイプにより、複数の受信者に対応する 1 つの Amazon SNS 通知を受け取ることもあれば、各受信者に 1 つの Amazon SNS 通知を受け取ることもあります。コードでは Amazon SNS 通知を解析して、どちらの場合にも対応できる必要があります。Amazon SNS を使用して送信された通知に関しては、Amazon SES では順序付けや一括処理が保証されません。ただし、タイプの異なる Amazon SNS 通知 (バウンスと苦情など) が 1 つの通知にまとめられることはありません。
-
1 人の受信者に対して複数のタイプの Amazon SNS 通知を受け取ることがあります。たとえば、受信メールサーバーは、E メールを受理した場合でも (配信の通知をトリガーします)、そのメールの処理後に、そのメールは実際にはバウンスであると判定する場合があります (バウンスの通知をトリガーします)。ただし、通知のタイプが異なるため、これらは常に個別に通知されます。
-
Amazon SES には、通知にフィールドを追加する権限があります。そのため、これらの通知を解析するアプリケーションには、不明なフィールドを処理できるだけの十分な柔軟性が必要です。
-
Amazon SES では、E メールの送信時にメッセージのヘッダーを上書きします。
mail
オブジェクトのheaders
およびcommonHeaders
フィールドから元のメッセージのヘッダーを取得できます。
トップレベル JSON オブジェクト
Amazon SES 通知のトップレベル JSON オブジェクトには、以下のフィールドが含まれています。
フィールド名 | 説明 |
---|---|
notificationType |
通知のタイプを格納する文字列は、JSON オブジェクトによって表されます。想定される値は、 イベント発行をセットアップする場合、このフィールドの名前は |
mail |
通知に関連する元のメールについての情報を含む JSON オブジェクト。詳細については、「Mail オブジェクト」を参照してください。 |
bounce |
このフィールドは |
complaint |
このフィールドは |
delivery |
このフィールドは |
Mail オブジェクト
バウンス、苦情、または配信の通知にはそれぞれ、mail
オブジェクト内の元の E メールについての情報が含まれます。mail
オブジェクトについての情報を含む JSON オブジェクトには次のフィールドが含まれます。
フィールド名 | 説明 |
---|---|
timestamp
|
元のメッセージが送信された日時 (ISO 8601 形式)。 |
messageId
|
Amazon SES がメッセージに割り当てた一意の ID。ユーザーがメッセージを送信すると、Amazon SES がこの値を返します。 注記このメッセージ ID は Amazon SES によって割り当てられます。元の E メールのメッセージ ID は、 |
source
|
元のメッセージが送信された E メールアドレス (エンベロープ MAIL FROM アドレス)。 |
sourceArn
|
E メールの送信に使用された ID の Amazon リソースネーム (ARN)。送信承認の場合、 |
sourceIp
|
Amazon SES にリクエストを送信する E メールを実行するクライアントの送信側パブリック IP アドレス。 |
sendingAccountId
|
E メールの送信に使用されたアカウントのAWS アカウントID。送信承認の場合、 |
callerIdentity
|
E メールを送信した Amazon SES ユーザーの IAM ID。 |
destination
|
元のメールの受取人の E メールアドレスのリスト。 |
headersTruncated
|
元の E メールからヘッダーを含めるように通知設定を構成した場合にのみ、このオブジェクトが表示されます。 ヘッダーが通知で切り詰められるかどうかを示します。Amazon SES では、元のメッセージのヘッダーのサイズが10KB以上の場合、通知のヘッダーが切り詰められます。指定できる値は |
headers
|
元の E メールからヘッダーを含めるように通知設定を構成した場合にのみ、このオブジェクトが表示されます。 E メールの元のヘッダーの一覧。リスト内の各ヘッダーには、 注記
|
commonHeaders
|
元の E メールからヘッダーを含めるように通知設定を構成した場合にのみ、このオブジェクトが表示されます。 元の E メールからの一般的な E メールヘッダーに関する情報 (送信元、宛先、件名フィールドなど) が含まれます。このオブジェクト内では、各ヘッダーはキーとなります。送信元フィールドと宛先フィールドは、複数の値を含むことができる配列で表されます。 注記イベントの場合、 |
以下は、元の E メールヘッダーを含む mail
オブジェクトの例です。この通知タイプが元の E メールヘッダーを含めるように設定されていない場合は、mail
オブジェクトに headersTruncated
、headers
および commonHeaders
フィールドが含まれません。
{ "timestamp":"2018-10-08T14:05:45 +0000", "messageId":"000001378603177f-7a5433e7-8edb-42ae-af10-f0181f34d6ee-000000", "source":"sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:888888888888:identity/example.com", "sourceIp": "127.0.3.0", "sendingAccountId":"123456789012", "destination":[ "recipient@example.com" ], "headersTruncated":false, "headers":[ { "name":"From", "value":"\"Sender Name\" <sender@example.com>" }, { "name":"To", "value":"\"Recipient Name\" <recipient@example.com>" }, { "name":"Message-ID", "value":"custom-message-ID" }, { "name":"Subject", "value":"Hello" }, { "name":"Content-Type", "value":"text/plain; charset=\"UTF-8\"" }, { "name":"Content-Transfer-Encoding", "value":"base64" }, { "name":"Date", "value":"Mon, 08 Oct 2018 14:05:45 +0000" } ], "commonHeaders":{ "from":[ "Sender Name <sender@example.com>" ], "date":"Mon, 08 Oct 2018 14:05:45 +0000", "to":[ "Recipient Name <recipient@example.com>" ], "messageId":" custom-message-ID", "subject":"Message sent using Amazon SES" } }
Bounce オブジェクト
バウンスに関する情報を含む JSON オブジェクトには以下のフィールドがあります。
フィールド名 | 説明 |
---|---|
bounceType
|
バウンスのタイプで、Amazon SES によって決定されます。詳細については、「バウンスのタイプ」を参照してください。 |
bounceSubType
|
バウンスのサブタイプで、Amazon SES によって決定されます。詳細については、「バウンスのタイプ」を参照してください。 |
bouncedRecipients
|
バウンスとなった元のメールの受取人についての情報を含むリスト。詳細については、「バウンスとなった受取人」を参照してください。 |
timestamp
|
バウンスが送信された日時 (ISO 8601 形式)。この時刻は、ISP によって通知が送信された時刻であり、Amazon SES が通知を受け取った時刻ではないことに注意してください。 |
feedbackId
|
バウンスの一意の ID。 |
Amazon SES がリモートの Message Transfer Authority (MTA) に接続できた場合は、次のフィールドも表示されます。
フィールド名 | 説明 |
---|---|
remoteMtaIp
|
Amazon SES で E メールの配信を試みた先の MTA の IP アドレス。 |
配信状態通知 (DSN) がバウンスに添付されている場合は、次のフィールドも表示されます。
フィールド名 | 説明 |
---|---|
reportingMTA
|
DSN の |
以下は、bounce
オブジェクトの例です。
{ "bounceType":"Permanent", "bounceSubType": "General", "bouncedRecipients":[ { "status":"5.0.0", "action":"failed", "diagnosticCode":"smtp; 550 user unknown", "emailAddress":"recipient1@example.com" }, { "status":"4.0.0", "action":"delayed", "emailAddress":"recipient2@example.com" } ], "reportingMTA": "example.com", "timestamp":"2012-05-25T14:59:38.605Z", "feedbackId":"000001378603176d-5a4b5ad9-6f30-4198-a8c3-b1eb0c270a1d-000000", "remoteMtaIp":"127.0.2.0" }
バウンスとなった受取人
バウンスの通知には、1 人の受信者に関するものと複数の受信者に関するものがあります。bouncedRecipients
フィールドはオブジェクトのリスト (バウンスの通知が関係する受取人ごとに 1 つのオブジェクト) を保持し、常に次のフィールドが含まれます。
フィールド名 | 説明 |
---|---|
emailAddress
|
受取人の E メールアドレス。DSN が利用できる場合、これが DSN の |
オプションで、DSN がバウンスに添付されている場合、以下のフィールドも表示される場合があります。
フィールド名 | 説明 |
---|---|
action
|
DSN の |
status
|
DSN の |
diagnosticCode
|
ステータスコードは、Reporting-MTA により発行されます。これは、DSN の |
以下は、bouncedRecipients
のリストに示されるオブジェクトの例です。
{ "emailAddress": "recipient@example.com", "action": "failed", "status": "5.0.0", "diagnosticCode": "X-Postfix; unknown user" }
バウンスのタイプ
バウンスオブジェクトには、バウンスタイプとして Undetermined
、Permanent
、または Transient
が含まれます。Permanent
バウンスタイプと Transient
バランスタイプには、複数のバウンスサブタイプのいずれかも含まれます。
バウンスタイプが Transient
のバウンス通知を受信した場合は、メッセージのバウンスを起こした問題が解決されたときに、この受取人に対して将来 E メールを送信できる可能性があります。
バウンスタイプが Permanent
のバウンス通知を受信した場合、この受取人に将来 E メールを送信できる可能性はありません。このため、バウンスを生じたアドレスを持つ受取人はメーリングリストから即座に削除してください。
注記
ソフトバウンス (受信者の受信トレイが満杯であるなどの一時的な問題に伴うバウンス) が発生すると、Amazon SES は一定期間にわたり、E メールの再配信を試行します。この期間の終了時に、まだ E メールを送信できない場合、Amazon SES は試行を停止します。
Amazon SES は、ハードバウンスの通知に加えて、配信の試行を停止したソフトバウンスの通知を提供します。ソフトバウンスが発生するたびに通知を受信する場合は、イベントの公開を有効にし、配信遅延イベントが発生したときに通知を送信するように設定します。
bounceType | bounceSubType | 説明 |
---|---|---|
Undetermined
|
Undetermined
|
受取人の E メールプロバイダーはバウンスメッセージを送信しました。バウンスメッセージには、Amazon SES がバウンスの理由を判断できるだけの十分な情報が含まれていませんでした。バウンスを生じた E メールのリターンパスヘッダーのアドレスに送信されたバウンス E メールには、E メールのバウンスを起こした問題について追加情報が含まれている可能性があります。 |
Permanent
|
General
|
受取人の E メールプロバイダーはハードバウンスメッセージを送信しました。 重要このタイプのバウンス通知を受信した場合は、受取人の E メールアドレスをメーリングリストから即座に削除してください。ハードバウンスを生じたアドレスにメッセージを送信すると、送信者としての評価に悪影響を及ぼす可能性があります。ハードバウンスを生じたアドレスに E メールを送信し続けると、追加の E メールの送信機能が一時停止される場合があります。「Amazon SESアカウントレベルのサプレッションリストの使用」を参照してください。 |
Permanent
|
NoEmail
|
バウンスメッセージから受信者のメールアドレスを取得できませんでした。 |
Permanent
|
Suppressed
|
受信者の E メールアドレスは、最近の履歴でハードバウンスを生じているため、Amazon SES サプレッションリストに追加されています。グローバルサプレッションリストを上書きするには、「Amazon SESアカウントレベルのサプレッションリストの使用」を参照してください。 |
Permanent
|
OnAccountSuppressionList
|
Amazon SES は、アドレスがアカウントレベルのサプレッションリストにあるので、このアドレスへの送信を抑制しました。これは、バウンス率のメトリクスに対してはカウントされません。 |
Transient
|
General
|
受取人の E メールプロバイダーは一般的なバウンスメッセージを送信しました。メッセージのバウンスを生じた問題が解決された場合、将来、同じ受取人にメッセージを送信できる可能性があります。 注記アクティブな自動応答ルール (不在メッセージなど) が設定されている受取人に E メールを送信すると、このタイプの通知を受け取る場合があります。レスポンスの通知タイプが |
Transient
|
MailboxFull
|
受取人の E メールプロバイダーは、受取人の受信トレイが満杯であるために、バウンスメッセージを送信しました。メールボックスが満杯でなくなった場合、将来、同じ受取人に送信できる可能性があります。 |
Transient
|
MessageTooLarge
|
受取人の E メールプロバイダーは、受信したメッセージが大きすぎるために、バウンスメッセージを送信しました。メッセージのサイズを小さくすることで、同じ受取人にメッセージを送信できる可能性があります。 |
Transient
|
ContentRejected
|
受取人の E メールプロバイダーは、受信したメッセージにプロバイダーが許可しないコンテンツが含まれていたために、バウンスメッセージを送信しました。メッセージのコンテンツを変更することで、同じ受取人にメッセージを送信できる可能性があります。 |
Transient
|
AttachmentRejected
|
受取人の E メールプロバイダーは、メッセージ内に許容されないコンテンツが含まれていたために、バウンスメッセージを送信しました。たとえば、一部の E メールプロバイダーは特定のファイルタイプのファイルが添付されたメッセージや、非常に大きなファイルが添付されたメッセージを拒否する場合があります。添付ファイルのコンテンツを削除または変更することで、同じ受取人にメッセージを送信できる可能性があります。 |
苦情のオブジェクト
苦情に関する情報を含む JSON オブジェクトには以下のフィールドが含まれます。
フィールド名 | 説明 |
---|---|
complainedRecipients
|
苦情の原因である可能性がある受取人についての情報を含むリスト。詳細については、「苦情を申告した受取人」を参照してください。 |
timestamp
|
ISP が苦情通知を ISO 8601 形式で送信した日時。このフィールドの日時は、Amazon SES が通知を受信した日時とは同じでない可能性があります。 |
feedbackId
|
苦情に関連付けられた一意の ID。 |
complaintSubType
|
|
また、フィードバックレポートが苦情に添付されている場合、以下のフィールドが示される場合があります。
フィールド名 | 説明 |
---|---|
userAgent
|
フィードバックレポートの |
complaintFeedbackType
|
ISP から受け取ったフィードバックレポートの |
arrivalDate
|
ISO 8601 形式のフィードバックレポートの |
以下は、complaint
オブジェクトの例です。
{ "userAgent":"ExampleCorp Feedback Loop (V0.01)", "complainedRecipients":[ { "emailAddress":"recipient1@example.com" } ], "complaintFeedbackType":"abuse", "arrivalDate":"2009-12-03T04:24:21.000-05:00", "timestamp":"2012-05-25T14:59:38.623Z", "feedbackId":"000001378603177f-18c07c78-fa81-4a58-9dd1-fedc3cb8f49a-000000" }
苦情を申告した受取人
complainedRecipients
フィールドには、苦情の送信元と思われる受信者のリストが含まれます。この情報を使用して、苦情の送信元の受取人を特定し、この受取人をメーリングリストから即座に削除します。
重要
ほとんどの ISP は、苦情の送信元である受取人の E メールアドレスを苦情通知から削除します。このため、このリストに含まれている苦情の送信元と思われる受信者に関する情報は、元のメッセージの受信者と、苦情の送信元の ISP に基づくものです。Amazon SES では、この受信者のリストを確認するために元のメッセージを参照します。
このリストの JSON オブジェクトには以下のフィールドが含まれます。
フィールド名 | 説明 |
---|---|
emailAddress
|
受取人の E メールアドレス。 |
以下は、苦情を申告した受取人のオブジェクトの例です。
{ "emailAddress": "recipient1@example.com" }
注記
受信者 1 人につき 1 つのメッセージが送信されるように制限している (BCC 行に 30 個の異なる E メールアドレスを指定して送信しない) 場合は、この動作を利用して、メッセージに関する苦情を伝えている E メールアドレスをより確実に特定することできます。
苦情のタイプ
complaintFeedbackType
フィールドには以下の苦情のタイプが示されます (Internet Assigned Numbers Authority ウェブサイト
-
abuse
— 未承諾またはその他種類の不正使用メールを示します。 -
auth-failure
— E メールの認証の障害を示します。 -
fraud
— なんらかの詐欺またはフィッシング行為を示します。 -
not-spam
— レポートの提供者がこのメッセージをスパムではないと見なしていることを示します。このタイプは、誤ってスパムとしてタグ付けまたは分類されたメッセージを修正するために使用される場合があります。 -
other
— その他の登録されたタイプに該当しないフィードバックを示します。 -
virus
— 元のメッセージでウイルスが見つかったことを示します。
配信オブジェクト
配信に関する情報を含む JSON オブジェクトには常に以下のフィールドがあります。
フィールド名 | 説明 |
---|---|
timestamp
|
Amazon SES が E メールを受信者のメールサーバーに配信した時間 (ISO8601 形式)。 |
processingTimeMillis
|
Amazon SES で送信者からのリクエストを受理したときから受信者のメールサーバーにそのメッセージが渡されたときまでのミリ秒単位での時間。 |
recipients
|
配信通知を適用する E メールの対象となる受信者のリスト。 |
smtpResponse
|
Amazon SES から E メールを受け取ったリモート ISP による SMTP 応答メッセージ。このメッセージは、E メール、受信メールサーバー、および受信 ISP ごとに異なります。 |
reportingMTA
|
メールを送信する Amazon SES メールサーバーのホスト名。 |
remoteMtaIp
|
Amazon SES が E メールを配信した先の MTA の IP アドレス。 |
以下は、delivery
オブジェクトの例です。
{ "timestamp":"2014-05-28T22:41:01.184Z", "processingTimeMillis":546, "recipients":["success@simulator.amazonses.com"], "smtpResponse":"250 ok: Message 64111812 accepted", "reportingMTA":"a8-70.smtp-out.amazonses.com", "remoteMtaIp":"127.0.2.0" }