Come funziona l'invio di e-mail in 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à.

Come funziona l'invio di e-mail in Amazon SES

In questo argomento viene illustrato cosa succede quando si invia un'e-mail con SES e i diversi risultati che si possono ottenere dopo l'invio. La figura seguente rappresenta un riepilogo generale del processo di invio:

  1. Un'applicazione client, che agisce come mittente dell'e-mail, effettua una richiesta a SES per l'invio di e-mail a uno o più destinatari.

  2. Se la richiesta è valida, SES accetta l'e-mail.

  3. SES invia il messaggio tramite Internet al ricevitore del destinatario. Una volta che il messaggio viene passato a SES, di solito viene inviato immediatamente, con il primo tentativo di consegna che normalmente si verifica entro pochi millisecondi.

  4. A questo punto, si presentano diverse possibilità. Ad esempio:

    1. L'ISP consegna il messaggio nella casella di posta in arrivo del destinatario.

    2. L'indirizzo e-mail del destinatario non esiste, pertanto l'ISP invia una notifica di mancato recapito a SES. SES inoltra quindi la notifica al mittente.

    3. Il destinatario riceve il messaggio, ma lo considera spam e registra un reclamo con l'ISP. L'ISP, per il quale è configurato un loop di feedback con SES, invia il reclamo a SES che, quindi, lo inoltra al mittente.

Nelle seguenti sezioni vengono esaminati i singoli risultati possibili dopo l'invio a SES di una richiesta di e-mail da parte di un mittente e dopo l'invio di un messaggio e-mail al destinatario da parte di SES.

Dopo l'invio a SES di una richiesta di e-mail da parte di un mittente

Quando il mittente effettua una richiesta a SES per l'invio di un'e-mail, la chiamata può riuscire o non riuscire. Nelle seguenti sezioni viene illustrato cosa accade in ciascun caso.

Richiesta di invio riuscita

Se la richiesta a SES riesce, SES restituisce una risposta di esito positivo al mittente. Questo messaggio include l'ID messaggio, una stringa di caratteri che identifica in modo univoco la richiesta. È possibile utilizzare l'ID messaggio per trovare l'e-mail inviata o per tenere traccia dei problemi riscontrati durante l'invio (è necessario archiviare una propria mappatura tra un identificatore e l'ID messaggio SES che SES ritrasmette quando accetta l'e-mail). SES quindi assembla un messaggio e-mail in base ai parametri della richiesta, scansiona il messaggio per rilevare contenuti a rischio e virus, quindi lo invia su Internet tramite SMTP (Simple Mail Transfer Protocol). In genere, il messaggio viene inviato immediatamente: il primo tentativo di solito si verifica entro pochi millisecondi.

Nota

Se SES accetta la richiesta del mittente e successivamente rileva che il messaggio contiene un virus, interrompe l'elaborazione del messaggio e non tenta di inviarlo al server di posta elettronica del destinatario.

Richiesta di invio non riuscita

Se la richiesta di invio di e-mail del mittente a SES non riesce, SES risponde al mittente con un messaggio di errore e rifiuta l'e-mail. La richiesta potrebbe non riuscire per vari motivi. Ad esempio, potrebbe non essere formattata correttamente o l'indirizzo e-mail potrebbe non essere stato verificato dal mittente.

Il metodo tramite il quale è possibile stabilire se la richiesta non è riuscita dipende dal modo in avviene la chiamata a SES. Di seguito sono elencati alcuni esempi di eccezioni ed errori che vengono restituiti:

  • Se la chiamata a SES avviene tramite l'API di query (HTTPS) (SendEmail o SendRawEmail), le operazioni restituiscono un errore. Per ulteriori informazioni, consulta il Documento di riferimento API di Amazon Simple Notification Service.

  • In caso di uso di un SDK AWS per un linguaggio di programmazione che impiega le eccezioni, la chiamata a SES genera un'eccezione MessageRejectedException. (Il nome dell'eccezione può variare leggermente a seconda dell'SDK.)

  • Se usi l'interfaccia SMTP, il mittente riceve un codice di risposta SMTP, ma il modo in cui l'errore viene trasmesso dipende dal client del mittente. Alcuni client possono visualizzare un codice di errore al contrario di altri.

Per informazioni sugli errori che possono verificarsi quando invii un'e-mail con SES, consulta Errori di invio di e-mail con Amazon SES.

Dopo l'invio di un e-mail da parte di Amazon SES

Se la richiesta del mittente a SES va a buon fine, SES invia l'e-mail e si verifica una delle seguenti situazioni:

  • La consegna riesce e il destinatario non fa alcuna obiezione in merito all'e-mail: l'e-mail viene accettata dall'ISP e quest'ultimo consegna l'e-mail al destinatario. Nella figura seguente è illustrata una consegna completata.

  • Mancato recapito permanente: l'e-mail viene rifiutata dall'ISP a causa di una condizione persistente o da SES perché l'indirizzo e-mail è presente nel suo elenco di eliminazione. Un indirizzo e-mail si trova nell'elenco di eliminazione di SES se di recente è stato causa di un mancato recapito permanente per un cliente SES. Un hard bounce con un ISP può verificarsi perché l'indirizzo del destinatario non è valido. L'ISP invia una notifica di mancato recapito permanente a SES, che a sua volta invia notifica al mittente tramite e-mail o tramite il Servizio di notifica semplice Amazon (Amazon SNS), a seconda della configurazione del mittente. SES invia notifica al mittente dei mancati recapiti dell'elenco di eliminazione utilizzando lo stesso mezzo. Nella figura seguente è illustrato il percorso di un hard bounce da un ISP.

  • E-mail non recapitata: l'ISP non è in grado di consegnare l'e-mail al destinatario a causa di una condizione temporanea, ad esempio l'ISP è troppo occupato per gestire la richiesta o la mailbox del destinatario è piena. Si verifica un soft bounce anche se il dominio non esiste. L'ISP invia una notifica di e-mail non recapitata a SES oppure, nel caso di un dominio inesistente, SES non è in grado di trovare un server e-mail per il dominio. In entrambi i casi SES effettua altri tentativi per un periodo di tempo esteso. Se SES non è in grado di consegnare l'e-mail in questo periodo di tempo, invia una notifica di mancato recapito tramite e-mail o Amazon SNS. Se SES è in grado di recapitare l'e-mail al destinatario in un nuovo tentativo, la consegna è riuscita. Nella figura seguente è illustrato un soft bounce. In questo caso, SES prova ancora a inviare l'e-mail e l'ISP infine riesce a recapitarla al destinatario.

  • Reclamo: l'e-mail viene accettata dall'ISP e recapitata al destinatario, ma il destinatario la considera spam e fa clic su un pulsante di tipo "Segnala come spam" per contrassegnarla come posta indesiderata nel proprio client e-mail. Se per SES è configurato un loop di feedback con l'ISP, viene inviata una notifica di reclamo a SES, che la inoltra al mittente. La maggior parte degli ISP omette l'indirizzo e-mail del destinatario che ha inviato il reclamo, pertanto nella notifica di reclamo da SES viene fornito al mittente un elenco di destinatari che potrebbero avere inviato il reclamo, in base ai destinatari del messaggio originale e all'ISP da cui SES ha ricevuto il reclamo. Nella figura che segue è illustrato il percorso di un reclamo.

  • Risposta automatica: l'e-mail viene accettata dall'ISP, che la fa recapitare al destinatario. L'ISP quindi invia una risposta automatica, ad esempio un messaggio "fuori sede", a SES. SES inoltra quindi la notifica di risposta automatica al mittente. Nella figura seguente è illustrata una risposta automatica.

    Assicurati che il programma abilitato per SES non faccia altri tentativi di inviare messaggi che generano una risposta automatica.

    Suggerimento

    Puoi usare il simulatore di mailbox di SES per testare una consegna riuscita, un mancato recapito, un reclamo, un messaggio fuori sede o ciò che accade quando un indirizzo è presente nell'elenco di eliminazione. Per ulteriori informazioni, consulta Utilizzo manuale del simulatore di mailbox.