Contenu des notifications Amazon SNS pour Amazon SES - Amazon Simple Email Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Contenu des notifications Amazon SNS pour Amazon SES

Les notifications de retour à l'expéditeur, de réclamation et de message délivré sont publiées dans les rubriques Amazon Simple Notification Service (Amazon SNS) au format JSON (JavaScript Object Notation). L'objet JSON de premier niveau contient une chaîne notificationType, un objet mail et un objet bounce, complaint ou delivery.

Consultez les sections suivantes Pour en savoir plus sur les différents types d'objets :

Voici quelques remarques importantes sur le contenu des notifications Amazon SNS pour Amazon SES :

  • Pour un type de notification donné, vous pouvez recevoir une notification Amazon SNS pour plusieurs destinataires, ou vous pouvez recevoir une seule notification Amazon SNS par destinataire. Votre code doit être en mesure d'analyser la notification Amazon SNS et de gérer les deux cas ; Amazon SES n'assure aucune garantie de classement ou de regroupement pour les notifications envoyées via Amazon SNS. Cependant, différents types de notification Amazon SNS (par exemple, retours à l'expéditeur et réclamations) ne sont pas combinés dans une même notification.

  • Vous pouvez recevoir plusieurs types de notifications Amazon SNS pour un destinataire. Par exemple, le serveur de messagerie de réception peut accepter l'e-mail (déclenchement d'une notification de message livré), mais après le traitement de l'e-mail, le serveur de messagerie de réception peut déterminer que l'e-mail se traduit de fait par un retour à l'expéditeur (déclenchement d'une notification de retour à l'expéditeur). Cependant, ces notifications sont toujours distinctes, car ce sont des types de notification différents.

  • Amazon SES se réserve le droit d'ajouter des champs supplémentaires aux notifications. À ce titre, les applications qui analysent ces notifications doivent être suffisamment flexible pour gérer les champs inconnus.

  • Amazon SES remplace les en-têtes du message lors de l'envoi de l'e-mail. Vous trouverez les en-têtes du message d'origine dans les champs headers et commonHeaders de l'objet mail.

Objet JSON de niveau supérieur

L'objet JSON de niveau supérieur d'une notification Amazon SES contient les champs suivants.

Nom de champ Description
notificationType

Chaîne qui contient le type de notification représenté par l'objet JSON. Les valeurs possibles sont Bounce, Complaint ou Delivery.

Si vous configurez la publication d'événements, ce champ est nommé eventType.

mail

Objet JSON qui contient les informations sur l'e-mail d'origine auquel la notification s'applique. Pour plus d'informations, consultez Objet de l'e-mail.

bounce

Ce champ est disponible uniquement si le notificationType est Bounce et qu'il contient un objet JSON qui inclut les informations sur le retour à l'expéditeur. Pour plus d'informations, consultez Objet bounce.

complaint

Ce champ est disponible uniquement si le notificationType est Complaint et qu'il contient un objet JSON qui inclut les informations sur la réclamation. Pour plus d'informations, consultez Objet de réclamation.

delivery

Ce champ est disponible uniquement si le notificationType est Delivery et qu'il contient un objet JSON qui inclut les informations sur le message livré. Pour plus d'informations, consultez Objet Delivery.

Objet de l'e-mail

Chaque notification de retour à l'expéditeur, réclamation ou message délivré contient des informations sur l'e-mail d'origine dans l'objet mail. L'objet JSON qui contient les informations sur un objet mail comporte les champs suivants.

Nom de champ Description
timestamp

Heure à laquelle le message a été envoyé (au format ISO8601).

messageId

ID unique attribué par Amazon SES au message. Amazon SES vous a renvoyé cette valeur lorsque vous avez envoyé le message.

Note

Cet ID de message a été attribué par Amazon SES. Vous trouverez l'ID de message de l'e-mail d'origine dans le champ headers de l'objet mail.

source

Adresse e-mail à partir de laquelle l'e-mail d'origine a été envoyé (adresse MAIL FROM de l'enveloppe).

sourceArn

ARN (Amazon Resource Name) de l'identité qui a été utilisée pour envoyer l'e-mail. Dans le cas d'une autorisation d'envoi, sourceArn correspond à l'ARN de l'identité dont le propriétaire a autorisé l'utilisation pour l'envoi de l'e-mail par l'expéditeur délégué. Pour en savoir plus sur l'autorisation d'envoi, consultez Méthodes d'authentification d'e-mail.

sourceIp

Adresse IP publique originale du client qui a effectué la demande d'envoi d'e-mail à Amazon SES.

sendingAccountId

ID Compte AWS du compte utilisé pour envoyer l'e-mail. Dans le cas de l'autorisation d'envoi, sendingAccountId correspond à l'ID de compte de l'expéditeur délégué.

callerIdentity

Identité IAM de l'utilisateur Amazon SES qui a envoyé l'e-mail.

destination

Liste des adresses e-mail destinataires de l'e-mail original.

headersTruncated

Cet objet ne s'affiche que si vous avez configuré les paramètres de notification en vue d'inclure les en-têtes de l'e-mail d'origine.

Indique si les en-têtes sont tronqués dans la notification. Amazon SES tronque les en-têtes dans la notification lorsque les en-têtes du message d'origine ont une taille de 10 Ko ou plus. Les valeurs possibles sont true et false.

headers

Cet objet ne s'affiche que si vous avez configuré les paramètres de notification en vue d'inclure les en-têtes de l'e-mail d'origine.

Liste des en-têtes d'origine de l'e-mail. Chaque en-tête de la liste a un champ name et un champ value.

Note

Tout ID de message de l'objet headers provient du message d'origine que vous avez transmis à Amazon SES. L'ID de message qu'Amazon SES a ensuite affecté au message se trouve dans le champ messageId de l'objet mail.

commonHeaders

Cet objet ne s'affiche que si vous avez configuré les paramètres de notification en vue d'inclure les en-têtes de l'e-mail d'origine.

Comprend des informations sur les en-têtes d'e-mails courants dans l'e-mail d'origine, y compris les champs From (De), To (À) et Subject (Objet). Dans cet objet, chaque en-tête est une clé. Les champs From (De) et To (À) sont représentés par des tableaux qui peuvent contenir plusieurs valeurs.

Note

Pour les événements, tout ID de message contenu dans le champ commonHeaders correspond à l'ID de message qu'Amazon SES a par la suite affecté au message dans le champ messageId de l'objet mail. Les notifications contiendront l'ID de message de l'e-mail d'origine.

L'exemple suivant est un exemple d'objet mail qui contient les en-têtes de l'e-mail d'origine. Lorsque ce type de notification n'est pas configuré pour inclure les en-têtes de l'e-mail d'origine, l'objet mail n'inclut pas les champs headersTruncated, headers et 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" } }

Objet bounce

L'objet JSON qui contient les informations sur les retours à l'expéditeur comporte les champs suivants.

Nom de champ Description
bounceType

Type de retour à l'expéditeur, tel que déterminé par Amazon SES. Pour plus d'informations, consultez Types de retour à l'expéditeur.

bounceSubType

Sous-type de retour à l'expéditeur, tel que déterminé par Amazon SES. Pour plus d'informations, consultez Types de retour à l'expéditeur.

bouncedRecipients

Liste qui contient les informations sur les destinataires de l'e-mail d'origine ayant fait l'objet d'un retour à l'expéditeur. Pour plus d'informations, consultez Destinataires à l'origine d'un retour à l'expéditeur.

timestamp

Date et heure auxquelles le retour à l'expéditeur a été envoyé (au format ISO8601). Notez qu'il s'agit de l'heure à laquelle la notification a été envoyée par le FAI, et non de l'heure à laquelle elle a été reçue par Amazon SES.

feedbackId

ID unique du retour à l'expéditeur.

Si Amazon SES a été en mesure de contacter l'autorité de transfert des messages à distance (MTA), le champ suivant est également présent.

Nom de champ Description
remoteMtaIp

Adresse IP de la MTA à laquelle Amazon SES a tenté de remettre l'e-mail.

Si une notification de statut de remise (DSN) a été attachée au retour à l'expéditeur, le champ suivant est également présent.

Nom de champ Description
reportingMTA

Valeur du champ Reporting-MTA du DSN. Il s'agit de la valeur de la MTA qui a tenté d'effectuer l'opération de remise, de relais ou de passerelle décrite dans le DSN.

Voici un exemple d'objet 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" }

Destinataires à l'origine d'un retour à l'expéditeur

Une notification de retour à l'expéditeur peut se rapporter à un seul destinataire ou à plusieurs destinataires. Le champ bouncedRecipients contient une liste d'objets (un objet par destinataire auquel la notification de retour à l'expéditeur s'applique), ainsi que le champ suivant.

Nom de champ Description
emailAddress

Adresse e-mail du destinataire. Si un DSN est disponible, l'adresse correspond à la valeur du champ Final-Recipient du DSN.

En outre, si un DSN est attaché au retour à l'expéditeur, les champs suivants peuvent également être présents.

Nom de champ Description
action

Valeur du champ Action du DSN. Cette valeur indique l'action effectuée par la MTA de suivi comme résultat de sa tentative de remettre le message à ce destinataire.

status

Valeur du champ Status du DSN. Il s'agit du code de statut indépendant du transport par destinataire qui indique le statut de remise du message.

diagnosticCode

Code de statut émis par la MTA de suivi. Il s'agit de la valeur du champ Diagnostic-Code du DSN. Ce champ peut être absent du DSN (et donc également absent du JSON).

Voici un exemple d'objet qui pourrait être dans la liste bouncedRecipients.

{ "emailAddress": "recipient@example.com", "action": "failed", "status": "5.0.0", "diagnosticCode": "X-Postfix; unknown user" }

Types de retour à l'expéditeur

L'objet de retour à l'expéditeur contient un type Undetermined, Permanent ou Transient. Les types de retour à l'expéditeur Permanent et Transient peuvent également contenir l'un des nombreux sous-types de retour à l'expéditeur.

Lorsque vous recevez une notification de retour à l'expéditeur avec un type de retour à l'expéditeur Transient, il se peut que vous puissiez à l'avenir envoyer un e-mail à ce destinataire si le problème à l'origine du message de retour à l'expéditeur a été résolu.

Lorsque vous recevez une notification de retour à l'expéditeur avec un type de retour à l'expéditeur Permanent, il est peu probable que vous soyez en mesure à l'avenir d'envoyer des e-mails à ce destinataire. Pour cette raison, vous devez supprimer immédiatement de vos listes de diffusion le destinataire dont l'adresse a généré le retour à l'expéditeur.

Note

Lorsqu'un message d'erreur temporaire (un retour à l'expéditeur lié à un problème temporaire, tel que la boîte de réception du destinataire est pleine) se produit, Amazon SES tente de remettre à nouveau l'e-mail pendant une certaine période de temps. À la fin de cette période, si Amazon SES ne parvient toujours pas à remettre l'e-mail, il cesse d'essayer.

Amazon SES fournit des notifications pour les retours à l'expéditeur définitifs, ainsi que pour les retours à l'expéditeur temporaires, selon lesquelles il a cessé d'essayer de remettre. Si vous souhaitez recevoir une notification chaque fois qu'un message d'erreur temporaire se produit, activez la publication d'événements et configurez-la pour envoyer des notifications lorsque des événements de retard de livraison se produisent.

bounceType bounceSubType Description
Undetermined Undetermined

Le fournisseur de messagerie du destinataire a envoyé un message de retour à l'expéditeur. Le message de retour à l'expéditeur ne contenait pas suffisamment d'informations pour qu'Amazon SES puisse déterminer la raison du retour à l'expéditeur. L'e-mail de retour à l'expéditeur, qui a été envoyé à l'adresse indiquée dans l'en-tête Return-Path (Chemin de retour) de l'e-mail à l'origine du retour à l'expéditeur, peut contenir des informations supplémentaires sur le problème qui a entraîné le retour de l'e-mail à l'expéditeur.

Permanent General

Le fournisseur de messagerie du destinataire a envoyé un message d'erreur définitif.

Important

Lorsque vous recevez ce type de notification de retour à l'expéditeur, vous devez aussitôt supprimer l'adresse e-mail du destinataire de votre liste de diffusion. L'envoi de messages à des adresses qui produisent des messages d'erreur définitifs peut avoir un impact négatif sur votre réputation d'expéditeur. Si vous continuez d'envoyer des e-mails à des adresses qui produisent des messages d'erreur définitifs, nous pouvons suspendre votre capacité à envoyer de nouveaux e-mails. Consultez Utilisation de la liste de suppression SES au niveau du compte Amazon.

Permanent NoEmail

Il n'a pas été possible de récupérer l'adresse e-mail du destinataire dans le message de retour.

Permanent Suppressed

L'adresse e-mail du destinataire est sur la liste de suppression Amazon SES, car elle a un historique récent montrant qu'elle génère des messages d'erreur définitifs. Pour remplacer la liste de suppression globale, consultez Utilisation de la liste de suppression SES au niveau du compte Amazon.

Permanent OnAccountSuppressionList

Amazon SES a supprimé l'envoi à cette adresse car celle-ci figure dans la liste de suppression au niveau du compte. Cela n'est pas pris en compte dans votre métrique de taux de retours à l'expéditeur.

Transient General

Le fournisseur de messagerie du destinataire a envoyé un message de retour à l'expéditeur général. Il se peut que vous soyez en mesure d'envoyer à l'avenir un message au même destinataire si le problème qui a provoqué le retour du message à l'expéditeur est résolu.

Note

Si vous envoyez un e-mail à un destinataire qui possède une règle de réponse automatique active (comme un message « Absent du bureau » message), vous pouvez recevoir ce type de notification. Même si la réponse possède un type de notification Bounce, Amazon SES ne comptabilise pas les réponses automatiques lorsqu'il calcule le taux de retours à l'expéditeur pour votre compte.

Transient MailboxFull

Le fournisseur de messagerie du destinataire a envoyé un message de retour à l'expéditeur, car la boîte de réception du destinataire était pleine. Il se peut que vous puissiez à l'avenir envoyer le message au même destinataire lorsque la boîte de réception ne sera plus pleine.

Transient MessageTooLarge

Le fournisseur de messagerie du destinataire a envoyé un message de retour à l'expéditeur, car le message envoyé était trop volumineux. Vous pouvez réessayer l'envoi à ce destinataire si vous réduisez la taille du message.

Transient ContentRejected

Le fournisseur de messagerie du destinataire a envoyé un message de retour à l'expéditeur, car le message que vous avez envoyé comporte un contenu que le fournisseur n'autorise pas. Vous pouvez réessayer l'envoi du message au destinataire si vous modifiez le contenu du message.

Transient AttachmentRejected

Le fournisseur de messagerie du destinataire a envoyé un message de retour à l'expéditeur, car le message contenait une pièce jointe indésirable. Par exemple, certains fournisseurs de messagerie peuvent rejeter des messages avec des pièces jointes d'un certain type de fichier ou des messages avec pièces jointes très volumineuses. Vous pouvez réessayer l'envoi du message au destinataire si vous supprimez ou modifiez le contenu de la pièce jointe.

Objet de réclamation

L'objet JSON qui contient les informations sur les réclamations comporte les champs suivants.

Nom de champ Description
complainedRecipients

Liste contenant des informations sur les destinataires qui sont responsables de la réclamation. Pour plus d'informations, consultez Destinataires à l'origine d'une réclamation.

timestamp

Date et heure auxquelles le fournisseur de services Internet a envoyé la notification de réclamation, au format ISO8601. Les date et heure du champ peuvent ne pas être les mêmes que celles auxquelles Amazon SES a reçu la notification.

feedbackId

ID unique associé à la réclamation.

complaintSubType

La valeur du champ complaintSubType peut être null ou OnAccountSuppressionList. Si la valeur est OnAccountSuppressionList, Amazon SES a accepté le message, mais n'a pas essayé de l'envoyer car elle figurait dans la liste de suppression au niveau du compte.

De plus, si un rapport de commentaire est attaché à la réclamation, les champs suivants peuvent être présents.

Nom de champ Description
userAgent

Valeur du champ User-Agent du rapport de commentaires. Cette valeur indique le nom et la version du système ayant généré le rapport.

complaintFeedbackType

Valeur du champ Feedback-Type du rapport de commentaires reçu de l'ISP. La valeur contient le type de commentaires.

arrivalDate

Valeur du champ Arrival-Date ou Received-Date du rapport de commentaires (au format ISO8601). Le champ peut être absent du rapport (et donc également absent du JSON).

Voici un exemple d'objet 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" }

Destinataires à l'origine d'une réclamation

Le champ complainedRecipients contient la liste des destinataires susceptibles d'avoir déposé la réclamation. Vous devez utiliser ces informations pour déterminer quel destinataire est à l'origine de la réclamation, puis supprimer immédiatement ce destinataire de vos listes de diffusion.

Important

La plupart des fournisseurs de services Internet suppriment l'adresse e-mail du destinataire à l'origine de la réclamation de la notification de réclamation. Pour cette raison, la liste contient les informations sur les destinataires susceptibles d'avoir envoyé la réclamation, en fonction des destinataires du message d'origine et du FAI duquel la réclamation a été reçue. Amazon SES effectue une recherche sur le message d'origine afin de déterminer la liste des destinataires.

Les objets JSON de cette liste contiennent le champ suivant.

Nom de champ Description
emailAddress

Adresse e-mail du destinataire.

Voici un exemple d'objet destinataire à l'origine d'une réclamation.

{ "emailAddress": "recipient1@example.com" }
Note

En raison de ce comportement, vous êtes plus à même de savoir quelles adresses e-mail ont porté réclamation contre votre message si vous limitez l'envoi à un message par destinataire (plutôt que d'envoyer un message avec 30 adresses différentes dans la ligne Cci).

Types de réclamation

Vous pouvez voir les types de réclamation suivants dans le champ complaintFeedbackType tels qu'attribués par l'ISP du rapport, selon le site web IANA (Internet Assigned Numbers) :

  • abuse – Indique un e-mail indésirable ou autre type d'e-mail malveillant.

  • auth-failure – Rapport d'échec d'authentification d'e-mail.

  • fraud – Indique certains types de fraude ou d'activité d'hameçonnage.

  • not-spam – Indique que l'entité qui fournit le rapport ne considère pas le message en tant que courrier indésirable. Cette option permet de corriger un message qui a été mal balisé ou classé à tort comme courrier indésirable.

  • other – Indique tout autre commentaire ne pouvant être classé dans les autres types enregistrés.

  • virus – Signale qu'un virus a été détecté dans le message d'origine.

Objet Delivery

L'objet JSON qui contient les informations sur les messages remis comporte les champs suivants.

Nom de champ Description
timestamp

Heure à laquelle Amazon SES a remis l'e-mail au serveur de messagerie du destinataire (au format ISO8601).

processingTimeMillis

Délai, en millisecondes, entre le moment où Amazon SES a accepté la demande de l'expéditeur et celui où le message a été transmis au serveur de messagerie du destinataire.

recipients

Liste des destinataires prévus de l'e-mail auxquels la notification de remise s'applique.

smtpResponse

Message de réponse SMTP du FAI distant ayant accepté l'e-mail depuis Amazon SES. Ce message varie selon l'e-mail, le serveur de messagerie de réception et l'ISP de réception.

reportingMTA

Nom d'hôte du serveur de messagerie Amazon SES ayant envoyé l'e-mail.

remoteMtaIp

Adresse IP de la MTA à laquelle Amazon SES a remis l'e-mail.

Voici un exemple d'objet 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" }