Contenuti delle notifiche Amazon SNS per Amazon SES - Amazon Simple Email Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Contenuti delle notifiche Amazon SNS per Amazon SES

Le notifiche di mancato recapito, reclamo e consegna vengono pubblicate in argomenti Amazon Simple Notification Service (Amazon SNS) in formato JavaScript Object Notation (JSON). L'oggetto JSON di primo livello contiene una stringa notificationType, un oggetto mail e un oggetto bounce, complaint o delivery.

Consulta le seguenti sezioni per la descrizione dei diversi tipi di oggetti:

Di seguito sono elencate alcune note importanti sui contenuti delle notifiche Amazon SNS per Amazon SES:

  • Per un determinato tipo di notifica, puoi ricevere una notifica Amazon SNS per più destinatari oppure una singola notifica Amazon SNS per ogni destinatario. Il tuo codice deve essere in grado di analizzare la notifica Amazon SNS e gestire entrambi i casi. Amazon SES non garantisce l'ordine o il raggruppamento in batch delle notifiche inviate tramite Amazon SNS. Tuttavia, diversi tipi di notifica Amazon SNS (ad esempio, messaggi non recapitati e reclami) non saranno mai combinati in un'unica notifica.

  • Puoi ricevere più tipi di notifica Amazon SNS per un destinatario. Ad esempio, il server di posta ricevente potrebbe accettare l'e-mail (attivando una notifica di consegna), ma dopo l'elaborazione dell'e-mail potrebbe determinare che si tratta in realtà di un mancato recapito e attivare una notifica di mancato recapito. Tuttavia, queste saranno sempre notifiche separate perché si tratta di diversi tipi di notifica.

  • Amazon SES si riserva il diritto di aggiungere ulteriori campi alle notifiche. Per questo motivo, le applicazioni che analizzano tali notifiche devono essere sufficientemente flessibili per gestire campi sconosciuti.

  • Amazon SES sovrascrive le intestazioni del messaggio quando invia l'e-mail. Puoi recuperare le intestazioni del messaggio originale dai campi headers e commonHeaders dell'oggetto mail.

Oggetto JSON di primo livello

L'oggetto JSON di primo livello in una notifica Amazon SES contiene i campi riportati di seguito.

Nome campo Descrizione
notificationType

Una stringa che contiene il tipo di notifica rappresentato dall'oggetto JSON. I valori possibili sono Bounce, Complaint o Delivery.

Se configuri la pubblicazione di eventi, questo campo è denominato eventType.

mail

Un oggetto JSON che contiene informazioni sull'e-mail originale a cui la notifica è correlata. Per ulteriori informazioni, consulta Oggetto mail.

bounce

Questo campo è presente solo se notificationType è Bounce e contiene un oggetto JSON che contiene informazioni sul mancato recapito. Per ulteriori informazioni, consulta Oggetto del mancato recapito.

complaint

Questo campo è presente solo se notificationType è Complaint e contiene un oggetto JSON che contiene informazioni sul reclamo. Per ulteriori informazioni, consulta Oggetto del reclamo.

delivery

Questo campo è presente solo se notificationType è Delivery e contiene un oggetto JSON che contiene informazioni sulla consegna. Per ulteriori informazioni, consulta Oggetto di consegna.

Oggetto mail

Ogni notifica di mancato recapito, reclamo o consegna contiene informazioni sull'e-mail originale nell'oggetto mail. L'oggetto JSON che contiene informazioni su un oggetto mail include i campi riportati di seguito.

Nome campo Descrizione
timestamp

La data e l'ora in cui il messaggio originale è stato inviato (in formato ISO8601).

messageId

Un ID univoco che Amazon SES ha assegnato al messaggio. Amazon SES ti ha restituito questo valore quando hai inviato il messaggio.

Nota

Questo è l'ID messaggio assegnato da Amazon SES. Puoi trovare l'ID messaggio dell'e-mail originale nei campi headers dell'oggetto mail.

source

L'indirizzo e-mail da cui il messaggio originale è stato inviato (indirizzo MAIL FROM della busta).

sourceArn

L'Amazon Resource Name (ARN) dell'identità utilizzata per inviare l'e-mail. Nel caso di autorizzazione all'invio, sourceArn è l'ARN dell'identità che il mittente delegato è stato autorizzato a utilizzare dal proprietario dell'identità per inviare l'e-mail. Per ulteriori informazioni sull'autorizzazione all'invio, consulta Metodi di autenticazione delle e-mail.

sourceIp

L'indirizzo IP pubblico di origine del client che ha eseguito la richiesta di invio di e-mail ad Amazon SES.

sendingAccountId

L'ID dell'account Account AWS utilizzato per inviare l'e-mail. Nel caso di autorizzazione all'invio, sendingAccountId è l'ID account del mittente delegato.

callerIdentity

L'identità IAM dell'utente di Amazon SES che ha inviato l'e-mail.

destination

Un elenco degli indirizzi e-mail destinatari della posta originale.

headersTruncated

Questo oggetto è presente solo se hai configurato le impostazioni di notifica affinché le stesse includano le intestazioni dall'e-mail originale.

Indica se le intestazioni vengono troncate nella notifica. Amazon SES tronca le intestazioni nella notifica quando le intestazioni dal messaggio originale hanno una dimensione pari a 10 KB o superiore. I valori possibili sono true e false.

headers

Questo oggetto è presente solo se hai configurato le impostazioni di notifica affinché le stesse includano le intestazioni dall'e-mail originale.

Un elenco delle intestazioni originali dell'e-mail. Ogni intestazione nell'elenco include un campo name e un campo value.

Nota

L'ID messaggio nell'oggetto headers deriva dal messaggio originale passato ad Amazon SES. L'ID messaggio che Amazon SES ha successivamente assegnato al messaggio si trova nel campo messageId dell'oggetto mail.

commonHeaders

Questo oggetto è presente solo se hai configurato le impostazioni di notifica affinché le stesse includano le intestazioni dall'e-mail originale.

Include informazioni sulle intestazioni delle e-mail più comuni provenienti dall'e-mail originale, compresi i campi Da, A e Oggetto. Nell'ambito di questo oggetto, ogni intestazione rappresenta una chiave. I campi Da e A sono rappresentati da array che possono contenere più valori.

Nota

Per gli eventi, qualsiasi ID messaggio all’interno del campo commonHeaders è quello che Amazon SES ha successivamente assegnato al messaggio nel campo messageId dell'oggetto mail. Le notifiche conterranno l'ID del messaggio dell'e-mail originale.

Di seguito è riportato un esempio di un oggetto mail che include le intestazioni dell'e-mail originale. Quando questo tipo di notifica non è configurato per includere le intestazioni dell'e-mail originale, l'oggetto mail non include i campi headersTruncated, headers e 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" } }

Oggetto del mancato recapito

L'oggetto JSON che contiene informazioni sui mancati recapiti dispone dei campi riportati di seguito.

Nome campo Descrizione
bounceType

Il tipo di mancato recapito secondo Amazon SES. Per ulteriori informazioni, consulta Tipi di mancato recapito.

bounceSubType

Il sottotipo di mancato recapito secondo Amazon SES. Per ulteriori informazioni, consulta Tipi di mancato recapito.

bouncedRecipients

Elenco che contiene informazioni sui destinatari della posta originale che non è stata recapitata. Per ulteriori informazioni, consulta Destinatari del mancato recapito.

timestamp

La data e l'ora in cui la notifica di mancato recapito è stata inviata (in formato ISO8601). Nota che questo è il momento in cui la notifica è stata inviata dall'ISP e non il momento in cui è stata ricevuta da Amazon SES.

feedbackId

Un ID univoco per il mancato recapito.

Se Amazon SES ha potuto contattare la Message Transfer Authority (MTA) remota, sarà presente anche il campo seguente.

Nome campo Descrizione
remoteMtaIp

L'indirizzo IP dell'autorità MTA a cui Amazon SES ha tentato di consegnare l'e-mail.

Se una notifica sullo stato di consegna è stato associata al mancato recapito, sarà presente anche il campo seguente.

Nome campo Descrizione
reportingMTA

Il valore del campo Reporting-MTA nella notifica sullo stato del recapito. Questo è il valore dell'autorità MTA che ha tentato di eseguire l'operazione di consegna, inoltro o gateway descritta nella notifica.

Di seguito è illustrato un esempio di oggetto 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" }

Destinatari del mancato recapito

Una notifica di mancato recapito può riguardare uno o più destinatari. Il campo bouncedRecipients contiene un elenco di oggetti, uno per ogni destinatario interessato dalla notifica di mancato recapito e conterrà sempre il campo seguente.

Nome campo Descrizione
emailAddress

L'indirizzo e-mail del destinatario. Se è disponibile una notifica sullo stato di consegna, questo è il valore del campo Final-Recipient della notifica.

Opzionalmente, se una notifica sullo stato di consegna è allegata al mancato recapito, possono essere presenti anche i campi seguenti.

Nome campo Descrizione
action

Il valore del campo Action nella notifica sullo stato del recapito. Indica l'operazione eseguita dall'autorità MTA interessata come risultato del tentativo di recapitare il messaggio a questo destinatario.

status

Il valore del campo Status nella notifica sullo stato del recapito. Questo è il codice di stato indipendente dal trasporto che indica lo stato di consegna del messaggio per ogni destinatario.

diagnosticCode

Il codice di stato emesso dall'autorità MTA interessata. Si tratta del valore del campo Diagnostic-Code nella notifica sullo stato di consegna. Il campo potrebbe non essere incluso in questa notifica, quindi nemmeno nell'oggetto JSON.

Di seguito è riportato l'esempio di un oggetto che potrebbe essere incluso nell'elenco bouncedRecipients.

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

Tipi di mancato recapito

L'oggetto di mancato recapito contiene un mancato recapito di tipo Undetermined, Permanent o Transient. Il mancato recapito di tipo Transient e Permanent possono anche contenere uno dei diversi sottotipi di mancato recapito.

Quando ricevi una notifica di mancato recapito di tipo Transient, potresti essere in grado di inviare e-mail a tale destinatario in futuro se il problema che ha causato il mancato recapito del messaggio viene risolto.

Quando ricevi una notifica di mancato recapito di tipo Permanent, difficilmente potrai inviare e-mail a tale destinatario in futuro. Per questo motivo, è consigliabile rimuovere immediatamente dalla tua mailing list il destinatario il cui indirizzo ha determinato il mancato recapito.

Nota

Quando si verifica un soft bounce (e-mail non recapitata) (ossia un mancato recapito correlato a un problema temporaneo, ad esempio la casella di posta in arrivo dei destinatari è piena), Amazon SES tenta di consegnare nuovamente il messaggio e-mail per un determinato periodo di tempo. Al termine di tale periodo di tempo, se Amazon SES ancora non è in grado di consegnare l'e-mail, interrompe il tentativo.

Amazon SES fornisce notifiche relative a hard bounce (mancato recapito permanente), nonché soft bounce (e-mail non recapitata) per i quali interrompe il tentativo di consegna. Se desideri ricevere una notifica ogni volta che si verifica un soft bounce (e-mail non recapitata), abilita la pubblicazione degli eventi e configurala per inviare notifiche quando si verificano eventi di ritardo nella consegna.

bounceType bounceSubType Descrizione
Undetermined Undetermined

Il provider e-mail del destinatario ha inviato un messaggio di mancato recapito. Il messaggio di mancato recapito non contiene informazioni sufficienti affinché Amazon SES possa determinare il motivo di tale mancato recapito. L'e-mail di mancato recapito, inviata all'indirizzo Return-Path nell'intestazione dell'e-mail che ha generato il mancato recapito, potrebbe contenere ulteriori informazioni sul problema che ha determinato il mancato recapito dell'e-mail.

Permanent General

Il provider e-mail del destinatario ha inviato un messaggio di mancato recapito permanente.

Importante

Se ricevi questo tipo di notifica di mancato recapito (bounce), devi eliminare immediatamente l'indirizzo e-mail del destinatario dalla mailing list. L'invio di messaggi a indirizzi che producono un mancato recapito permanente può avere ripercussioni negative sulla tua reputazione come mittente. Se scegli di continuare a inviare e-mail a indirizzi che generano mancati recapiti permanenti, potremmo sospendere la tua capacità di inviare ulteriori e-mail. Per informazioni, consultare Utilizzo dell'elenco di eliminazione a livello di account di Amazon SES.

Permanent NoEmail

Non è stato possibile recuperare l'indirizzo e-mail del destinatario dal messaggio di e-mail non recapitata.

Permanent Suppressed

L'indirizzo e-mail del destinatario è sulla lista di eliminazione Amazon SES in quanto ha una storia recente di mancati recapiti permanenti. Per sovrascrivere l'elenco di eliminazione globale, consulta Utilizzo dell'elenco di eliminazione a livello di account di Amazon SES.

Permanent OnAccountSuppressionList

Amazon SES ha soppresso l'invio a questo indirizzo perché si trova nell'elenco di eliminazione a livello di account. Ciò non influisce sulla metrica relativa alla frequenza dei mancati recapiti.

Transient General

Il provider di posta elettronica del destinatario ha inviato un messaggio generico di mancato recapito. Potresti essere in grado di inviare un messaggio allo stesso destinatario in futuro se il problema che ha determinato il messaggio di mancato recapito viene risolto.

Nota

Se invii un'e-mail a un destinatario che ha una regola di risposta automatica attiva (ad esempio un messaggio di "fuori sede"), potresti ricevere questo tipo di notifica. Anche se la risposta è un tipo di notifica Bounce, Amazon SES non considera le risposte automatiche quando calcola il tasso di mancato recapito per il tuo account.

Transient MailboxFull

Il provider di posta elettronica del destinatario ha inviato un messaggio di mancato recapito in quanto la cartella della posta in arrivo del destinatario è piena. Potrai inviare e-mail allo stesso destinatario in futuro quando la casella di posta non sarà più piena.

Transient MessageTooLarge

Il provider di posta elettronica del destinatario ha inviato un messaggio di mancato recapito in quanto il messaggio inviato era troppo grande. Potrai inviare un messaggio al medesimo destinatario riducendo le dimensioni del messaggio.

Transient ContentRejected

Il provider di posta elettronica del destinatario ha inviato un messaggio di mancato recapito in quanto il messaggio inviato presenta contenuti per i quali il provider non consente l'utilizzo. Potrai inviare un messaggio al medesimo destinatario modificando il contenuto del messaggio.

Transient AttachmentRejected

Il provider di posta elettronica del destinatario ha inviato un messaggio di mancato recapito in quanto il messaggio conteneva un allegato inaccettabile. Ad esempio, alcuni provider di posta elettronica potrebbero non accettare messaggi con allegati contenenti un determinato tipo di file ovvero messaggi con allegati di dimensioni molto grandi. Potrai inviare un messaggio al medesimo destinatario rimuovendo o modificando il contenuto dell'allegato.

Oggetto del reclamo

L'oggetto JSON che contiene informazioni sui reclami dispone dei campi riportati di seguito.

Nome campo Descrizione
complainedRecipients

Un elenco che contiene informazioni sui destinatari che potrebbero essere responsabili del reclamo. Per ulteriori informazioni, consulta Destinatari che hanno inviato il reclamo.

timestamp

La data e l'ora in cui l'ISP ha inviato la notifica di reclamo, in formato ISO 8601. La data e l'ora indicate in questo campo potrebbero essere differenti dalla data e ora in cui Amazon SES ha ricevuto la notifica.

feedbackId

ID univoco associato al reclamo.

complaintSubType

Il valore del campo complaintSubType può essere null o OnAccountSuppressionList. Se il valore è OnAccountSuppressionList, Amazon SES ha accettato il messaggio, ma non ha tentato di inviarlo perché presente nell'elenco di eliminazione a livello di account.

Inoltre, se un report di feedback è associato al reclamo, potrebbero essere presenti i campi seguenti.

Nome campo Descrizione
userAgent

Il valore del campo User-Agent nel report di feedback. Indica il nome e la versione del sistema che ha generato il report.

complaintFeedbackType

Il valore del campo Feedback-Type nel report di feedback ricevuto dall'ISP. Contiene il tipo di feedback.

arrivalDate

Il valore del campo Arrival-Date o Received-Date nel report di feedback (in formato ISO8601). Il campo potrebbe non essere incluso nel report, quindi nemmeno nell'oggetto JSON.

Di seguito è illustrato un esempio di oggetto 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" }

Destinatari che hanno inviato il reclamo

Il campo complainedRecipients contiene un elenco di destinatari che potrebbero aver inviato il reclamo. Ti consigliamo di utilizzare queste informazioni per determinare quale destinatario ha inviato il reclamo e quindi rimuovere immediatamente quel destinatario dalle tue liste mailing list.

Importante

Molti ISP rimuovono l'indirizzo e-mail del destinatario che ha inviato il reclamo dalla loro notifica di reclamo. Per questo motivo, l'elenco contiene informazioni sui destinatari che potrebbe aver inviato il reclamo, in base ai destinatari del messaggio originale e all'ISP da cui abbiamo ricevuto il reclamo. Amazon SES esegue una ricerca rispetto al messaggio originale per determinare l'elenco dei destinatari.

Gli oggetti JSON in questo elenco contengono il campo seguente.

Nome campo Descrizione
emailAddress

L'indirizzo e-mail del destinatario.

Di seguito è illustrato un esempio di oggetto con reclamo del destinatario.

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

A causa di questo comportamento, puoi essere più certo di individuare l'indirizzo e-mail che ha inviato il reclamo sul tuo messaggio se limiti l'invio a un messaggio per ciascun destinatario (piuttosto che inviare un messaggio con 30 diversi indirizzi e-mail nella riga Ccn).

Tipi di reclamo

Puoi visualizzare i tipi di reclamo seguenti nel campo complaintFeedbackType, assegnati dall'ISP che effettua la segnalazione, secondo il sito Web IANA (Internet Assigned Numbers Authority):

  • abuse: indica e-mail non richieste o altro tipo di e-mail illecite.

  • auth-failure: report di errore di autenticazione dell'e-mail.

  • fraud: indica una frode o attività di phishing.

  • not-spam: indica che l'entità che fornisce il report non considera il messaggio come spam. Può essere utilizzato per correggere un messaggio che è stato erroneamente contrassegnato o classificato come spam.

  • other: indica qualsiasi altro feedback che non rientra in altri tipi registrati.

  • virus: segnala la presenza di un virus nel messaggio di origine.

Oggetto di consegna

L'oggetto JSON che contiene informazioni sulle consegne presenta sempre i campi riportati di seguito.

Nome campo Descrizione
timestamp

La data e l'ora in cui Amazon SES ha consegnato l'e-mail al server di posta del destinatario (in formato ISO8601).

processingTimeMillis

Il tempo in millisecondi tra quando Amazon SES ha accettato la richiesta del mittente e il trasferimento del messaggio al server di posta del destinatario.

recipients

Un elenco dei destinatari dell'e-mail a cui si applica la notifica di consegna.

smtpResponse

Il messaggio di risposta SMTP dell'ISP remoto che ha accettato l'e-mail da Amazon SES. Questo messaggio può variare in base all'e-mail, al server di posta ricevente e all'ISP ricevente.

reportingMTA

Il nome host del server di posta Amazon SES che ha inviato l'e-mail.

remoteMtaIp

L'indirizzo IP dell'autorità MTA a cui Amazon SES ha consegnato l'e-mail.

Di seguito è illustrato un esempio di oggetto 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" }