Comment puis-je découvrir pourquoi la livraison de mon e-mail Amazon SES à l'aide de l'opération SendTemplatedEmail échoue ?

Date de la dernière mise à jour : 03/04/2019

J'utilise l'opération SendTemplatedEmail pour envoyer des messages à partir de mon compte Amazon Simple Email Service (Amazon SES). Toutefois, certains e-mails ne sont jamais livrés. Comment découvrir d'où vient le problème ?

Résolution

Lorsque vous utilisez un modèle d'e-mail, Amazon SES vérifie que les données du modèle que vous envoyez incluent les variables qui sont requises dans le modèle. Si des variables sont manquantes ou non valides dans les données du modèle, Amazon SES ne peut pas livrer l'e-mail. Cet événement est appelé « Rendering Failure » (échec de restitution).

Pour découvrir pourquoi un e-mail n'a pas été livré à l'aide de l'opération SendTemplatedEmail, configurez des notifications d'événement Rendering Failure à l'aide d'Amazon Simple Notification Service (Amazon SNS).

Une fois que vous avez configuré des notifications d'événement Rendering Failure, vous recevrez une notification Amazon SNS lorsque la livraison d'un e-mail basé sur un modèle échouera. La notification comprend des informations sur la partie du modèle qui a entraîné l'événement Rendering Failure.

Par exemple, ce modèle contient les variables name et favoritecolor :

{
  "Template": {
    "TemplateName": "ExampleTemplate",
    "SubjectPart": "Hello, {{name}}!",
    "HtmlPart": "<h1>Hello {{name}},</h1><p>Your favorite color is {{favoritecolor}}.</p>",
    "TextPart": "Dear {{name}},\r\nYour favorite color is {{favoritecolor}}."
  }
}

Si vous envoyez les données de modèle suivantes, Amazon SES ne livrera pas l'e-mail, car la variable favoritenumber n'est pas valide dans le modèle :

"TemplateData": "{ \"name\":\"Jane\", \"favoritenumber\": \"10\" }"

Avec les notifications d'événement Rendering Failure, vous recevrez une notification d'échec similaire à ce qui suit :

{
    "eventType": "Rendering Failure",
    "mail": {
        "timestamp": "2019-09-09T04:38:19.788Z",
        "source": "sender@example.com",
        "sourceArn": "arn:aws:ses:us-west-2:1234567890123:identity/sender@example.com",
        "sendingAccountId": "1234567890123",
        "messageId": "01010161a734a0eb-a706827a-3bda-490f-8eaa-63cf4b00d10c-000000",
        "destination": [
            "receiver@example.com"
        ],
        "headersTruncated": false,
        "tags": {
            "ses:configuration-set": [
                "RenderFailure"
            ]
        }
    },
    "failure": {
        "errorMessage": "Attribute 'favoritenumber' is not present in the rendering data.",
        "templateName": "ExampleTemplate"
    }
}

Suivez ces instructions pour éviter tout événement de Rendering Failure :

  • Vérifiez la casse des noms de variables dans les données de votre modèle. Les noms de variable dans le modèle sont sensibles à la casse.
  • Vérifiez que les données de votre modèle comportent toutes les variables dans le modèle.

Cette page vous a-t-elle été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?