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 rimbalzo, reclamo e consegna vengono pubblicate JavaScript negli argomenti di Amazon Simple Notification Service (Amazon SNS) in formato 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 codice dovrebbe essere in grado di analizzare la notifica di Amazon SNS e gestire entrambi i casi; SES non fornisce garanzie di ordinazione o batch per le 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.

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

  • 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 SES contiene i seguenti campi.

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

L'ora in cui è stato inviato il messaggio originale (in formato ISO86 01).

messageId

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

Nota

Questo ID del messaggio è stato assegnato da 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 a SES.

sendingAccountId

L' Account AWS ID dell'account 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 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. SES tronca le intestazioni della notifica quando le intestazioni del messaggio originale hanno una dimensione pari o superiore a 10 KB. 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

Qualsiasi ID di messaggio all'interno dell'headersoggetto proviene dal messaggio originale passato a SES. L'ID del messaggio che SES ha successivamente assegnato al messaggio si trova nel messageId campo dell'mailoggetto.

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 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 rimbalzo, come determinato da SES. Per ulteriori informazioni, consulta Tipi di mancato recapito.

bounceSubType

Il sottotipo di rimbalzo, come determinato da 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 di invio del rimbalzo (in formato 01). ISO86 Tieni presente che questa è l'ora in cui la notifica è stata inviata dall'ISP e non l'ora in cui è stata ricevuta da SES.

feedbackId

Un ID univoco per il mancato recapito.

Se SES è riuscita a contattare la Message Transfer Authority (MTA) remota, è presente anche il seguente campo.

Nome campo Descrizione
remoteMtaIp

L'indirizzo IP dell'MTA a cui SES ha tentato di recapitare 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 bounce contiene un tipo di rimbalzo diUndetermined, Permanent (hard) o (soft). Transient I tipi di rimbalzo Permanent (duro) e Transient (morbido) possono contenere anche uno dei diversi sottotipi di rimbalzo.

Quando ricevi una notifica di rimbalzo con un tipo di rimbalzo Transient (soft), potresti essere in grado di inviare messaggi di posta elettronica a quel destinatario in futuro se il problema che ha causato il rimbalzo del messaggio viene risolto.

Quando ricevi una notifica di rimbalzo con un tipo di rimbalzo Permanent (difficile), è improbabile che in futuro sarai in grado di inviare email a quel destinatario. 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 (un rimbalzo relativo a un problema temporaneo, ad esempio la casella di posta del destinatario è piena), SES tenta di recapitare l'e-mail per un certo periodo di tempo. Al termine di tale periodo di tempo, se SES non riesce ancora a recapitare l'e-mail, smette di provare.

SES fornisce notifiche per gli hard bounce e per i soft bounce che ha smesso di inviare. 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 rimbalzo non conteneva informazioni sufficienti per consentire a SES di determinare il motivo del rimbalzo. 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. 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 è nell'elenco di soppressione di SES perché ha una storia recente di hard bounce. Per sovrascrivere l'elenco di eliminazione globale, consulta Utilizzo dell'elenco di eliminazione a livello di account di Amazon SES.

Permanent OnAccountSuppressionList

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

Permanent UnsubscribedRecipient

Questo tipo di rimbalzo si verifica quando il contatto destinatario ha annullato l'iscrizione all'argomento e gli viene inviata un'e-mail utilizzando le opzioni di gestione dell'elenco. SES rispetta le preferenze di contatto e non tenta di recapitare. Inoltre, questo rimbalzo non influisce sulla reputazione del mittente poiché non è stato effettuato alcun tentativo di recapito, né il contatto del destinatario viene aggiunto a una lista di soppressione a causa del mancato invio.

Suggerimento

Si consiglia di iscriversi agli UnsubscribedRecipient eventi per evitare di continuare a inviare messaggi a destinatari non iscritti. Considera. Utilizzo della gestione degli elenchi La gestione delle liste dovrebbe essere la fonte di verità per la tua lista di iscritti. Dal punto di vista di SES Enforcement, se continui a inviare a destinatari soppressi o non iscritti, avrai la reputazione di non aderire alle migliori pratiche per l'invio di e-mail.

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 ha un tipo di notifica diBounce, SES non conta le risposte automatiche nel calcolo della frequenza di rimbalzo 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 in questo campo potrebbero non coincidere con la data e l'ora in cui 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, SES ha accettato il messaggio, ma non ha tentato di inviarlo perché era nell'elenco di soppressione 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 Received-Date campo Arrival-Date o del rapporto di feedback (in formato ISO86 01). 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. È necessario utilizzare queste informazioni per determinare quale destinatario ha inviato il reclamo e quindi rimuovere immediatamente tale destinatario dalle mailing list.

Importante

La maggior parte ISPs rimuove l'indirizzo e-mail del destinatario che ha presentato il reclamo dalla notifica del 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. SES esegue una ricerca rispetto al messaggio originale per determinare questo elenco di 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

L'ora in cui SES ha consegnato l'e-mail al server di posta del destinatario (in formato ISO86 01).

processingTimeMillis

Il tempo in millisecondi tra il momento in cui SES ha accettato la richiesta del mittente e il passaggio 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 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 SES che ha inviato la posta.

remoteMtaIp

L'indirizzo IP dell'MTA a cui SES ha recapitato 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" }