prd-011 - amazon simple email service (ses)

24
Community - Cloud AWS su Google+ Cloud AWS Amazon Web Services cloud-aws.com Servizio Amazon Simple Email Service (SES) Hangout 11 del 14.04.2014 Davide Riboldi Massimo Della Rovere Oggi vedremo il servizio di Amazon Simple Email Services per la gestione di posta elettronica in outbounding. CLOUD AWS #cloudaws

Upload: cloud-aws

Post on 21-Jul-2015

67 views

Category:

Technology


3 download

TRANSCRIPT

Community - Cloud AWS su Google+

Cloud AWS

Amazon Web Services

cloud-aws.com

Servizio Amazon Simple Email Service (SES)

Hangout 11 del 14.04.2014

● Davide Riboldi● Massimo Della Rovere

Oggi vedremo il servizio di Amazon Simple Email Services per la gestione di posta elettronica in outbounding.

CLOUD AWS

#cloudaws

Amazon SES - Descrizione generale

Cloud AWS

● Amazon SES è un servizio di posta elettronica (outbound-only) che permette in modo semplice ed economicamente vantaggioso l’invio di email.

● Il servizio può essere utilizzato per l’invio di email di marketing (ad esempio offerte), transactional email (ad esempio conferme d’ordine), newsletters etc.

● Si paga solo per quello che si utilizza, quindi è possibile inviare grandi o piccole quantità di email a seconda delle proprie esigenze senza anticipi.

Amazon SES - Servizio normale di posta elettronica

Cloud AWS

● L’invio di una email verso internet avviene attraverso un server di posta di uscita che la prende in carico e la inoltra verso la destinazione finale. Questi server di posta possono essere il server del nostro Internet Service Provider (ISP), un server aziendale oppure un server di posta configurato ad hoc.

Sender emailserver Internet Receiver Recipient

Amazon SES - Servizio di posta con SES

Cloud AWS

● Quando si utilizza il servizio Amazon SES, il nostro server di posta in uscita diventa Amazon SES, anche se è possibile continuare ad utilizzare il proprio server di posta per inoltrare le email verso Amazon SES.

Internet Receiver Recipient

Sender

opzionale

Amazon SES

Amazon SES - Alcuni motivi per usare il servizio

Cloud AWS

● Utilizzando Amazon SES si elimina la complessità di implementare e mantenere una soluzione di invio di posta all’interno della propria azienda.

● Un altro fattore da tenere in considerazione è la % delle email che arrivano a destinazione e quelle che vengono bloccate perchè considerate spam.

● Bisogna fare anche attenzione a non inviare troppe email nel giro di poco tempo perchè l’ISP potrebbe giudicare l’alto numero di invii come un tentativo di inviare spam e bloccare così l’ip del nostro server.

Amazon SES - Gestione delle bounce mail

Cloud AWS

● Un altro aspetto che bisogna gestire è quello di tenere traccia delle email che vengono respinte (bounce email) per un errore di spedizione o perchè l’indirizzo email del destinatario non esiste. In ogni caso bisognerebbe non rispedire su questi indirizzi.

● Amazon SES può inviare messaggi di notifica al verificarsi di questi problemi e fornire un accesso in tempo reale alle statistiche che riguardano il numero di email che sono state inviate e quelle che non sono state inviate per i motivi sopra elencati.

Amazon SES - Come si possono spedire le mail

Cloud AWS

● Amazon SES Console: Questa è la strada più veloce per impostare il servizio e inviare alcune email di test, ma una volta in produzione si usano altri strumenti.

● SMTP: Possiamo usare software che utilizzano questo protocollo o linguaggi di programmazione che ne permettono l’utilizzo come ad esempio Java.

● Amazon API: E’ possibile fare delle chiamate dirette all’interfaccia Amazon SES Query (HTTPS) o utilizzare AWS Command line o un development Kit (SDK).

Amazon SES - Email Deliverability

Cloud AWS

● Se vogliamo che i destinatari possano leggere le nostre email e che queste non vengano considerate spam, bisogna incrementare l’email deliverability, la % delle email che arrivano a destinazione.

Per poter massimizzare l’email deliverability, bisogna eseguire i seguenti passaggi:

● capire i problemi di consegna e-mail● cercare di prevenirli● mantenersi informato sullo stato delle mail● migliorare il programma di spedizione

Amazon SES - Problemi di spedizione

Cloud AWS

● Capire i problemi di consegna: Nella maggior parte dei casi le email arrivano sempre a destinazione, ma in alcuni casi l’invio può non andare a buon fine.

● Prevenire: Uno dei più grandi problemi in internet legati alla posta elettronica sono le email indesiderate o spam. Gli ISP prendono svariate contromisure per cercare di arginare questo fenomeno.

Amazon SES - Problemi di spedizione

Cloud AWS

● Rimanere informati: Quando un invio fallisce o un destinatario si lamenta della email che ha ricevuto, amazon SES tiene traccia di questi problemi inviandoti delle notifiche e mantenendo delle statistiche dettagliate.

● Migliorare i Programmi: Una volta capiti bene tutti i motivi di invio falliti e i problemi ad essi associati si può anche cambiare la logica del programma di spedizione che dipenderà dalla tecnica e dal metodo utilizzato.

Amazon SES - Terminologia da conoscere

Cloud AWS

Authentication

Sending limits

Content filtering

ReputationVerification

Bounce

Complaint (reclamo)

Suppression list

● Per usare bene questo servizio bisogna conoscere queste terminologie e i concetti che le racchiudono. Vediamo velocemente alcune slide.

Feedback notification

Usage statistics

Improve mail program

High quality email

Amazon SES - Bounce

Cloud AWS

● Quando la consegna di una email fallisce e non arriva a destinazione, il destinatario rimanda indietro il messaggio al server di origine su Amazon SES. I motivi per il quale l’email può essere stata respinta sono principalmente due, hard bounce o soft bounce.

○ Hard Bounce - Quando si verifica un errore permanente nell’invio della email, come ad esempio quando la mailbox di destinazione non esiste o non esiste più.

○ Soft Bounce - Quando si verifica un errore temporaneo nell’invio della email, come potrebbe essere la casella di posta piena o il server dell’ ISP sovraccaricato e non raggiungibile.

Amazon SES - Complaint (reclamo)

Cloud AWS

● Molti programmi di posta forniscono la possibilità di classificare determinate email come spam e di inviare l’informazione al proprio fornitore del servizio. In aggiunta molti ISP hanno una casella di posta (es. [email protected]) dove è possibile inoltrare le email che non vogliamo più ricevere di modo che l’ISP prenda provvedimenti.

● In entrambi i casi è come se il destinatario stesse facendo una denuncia chiedendo all’ISP di bloccare le email indesiderate. Nel caso in cui il provider considera il mittente uno spammer, invia un feedback ad Amazon SES che girerà questa informazione al vostro account.

Amazon SES - Suppression list

Cloud AWS

● La suppression list (blacklist) è una lista di indirizzi email che Amazon SES non considera validi perchè hanno generato un hard bounce negli ultimi 14 giorni. Se si tenta di inviare una email ad un indirizzo compreso nella suppression list la chiamata verso il servizio SES avviene con successo, ma Amazon SES tratta questa email come un hard bounce e non esegue alcun tentativo di invio.

● Al nostro account arriva una notifica via email o amazon SNS. Se si è sicuri che l’indirizzo di posta a cui si stà inviando l’email è ancora valido è possibile inviare una richiesta di rimozione dalla suppression list.

Amazon SES - Verification

Cloud AWS

● Sfortunatamente uno spammer può falsificare l’header di una email facendo credere che sia stata inviata da un altro indirizzo. Per mantenere questo rapporto di fiducia con gli ISP, amazon SES richiede che chi spedisce sia veramente la persona che dice di essere.

● Quindi di conseguenza il servizio di Amazon SES richiede che vengano verificati tutti gli indirizzi di posta elettronica utilizzati per inviare attraverso il servizio amazon SES. Questa verifica può essere fatta attraverso la Amazon SES console o tramite le Amazon SES API. Oltretutto è anche possibile verificare un intero dominio.

Amazon SES - Authentication

Cloud AWS

● Identificarsi è un altro modo per poter dire al nostro ISP chi veramente siamo. Quando si autentica una email si devono fornire prove evidenti sul proprietario dell’account e che la email non sia stata modificata durante il tragitto. Alcuni ISP rifiutano email che non siano autenticate.

● Amazon SES fornisce due metodi di autenticazione:

○ Sender Policy Framework (SPF)○ DomainKeys Identified Mail (DKIM)

Amazon SES - Sending Limits

Cloud AWS

● Se un ISP rileva dei picchi improvvisi o inaspettati nel volume di email o nella frequenza di invio potrebbe etichettarti come spammer e bloccare le email. Per questo ogni account SES ha una serie di limiti che regolano il numero di email che possono essere spedite e la frequenza con la quale possono essere inviate.

● Amazon SES applica due limiti all’invio della posta: sending quota (numero massimo di email che possono essere spedite), maximum send rate (numero massimo di email che possono essere spedite al secondo). Come nuovo utente, amazon ci permette di inviare solo un numero limitato di email al giorno, all’aumentare del livello di qualità verranno aumentati anche i limiti di spedizione.

Amazon SES - Content Filtering

Cloud AWS

● Molti ISP utilizzano il content filter per determinare se le email che arrivano sono spam. Il content filter analizza l’email alla ricerca di contenuti discudibili e che possano essere considerati spam, a quel punto la mail viene bloccata. Anche SES utilizza degli strumenti di analisi (content filter) per le email che attraversano il servizio.

● Nel caso il contenuto di una email che transita attraverso amazon SES viene considerata come spam, questo influenzerà negativamente la reputation con il servizio di amazon SES. Se invece il messaggio contiene un virus, l’intero messaggio verrà rifiutato dal servizio amazon SES e non verrà inoltrato alla destinazione.

Amazon SES - Reputation

Cloud AWS

● Quando si parla di reputation nell’invio di email significa che stiamo parlando della fiducia che viene riposta verso un indirizzo ip, un dominio o un indirizzo di posta sapendo che non sono fonti di spam.

● Amazon SES mantiene una forte reputazione con gli ISP ed è per questo che richiede a chi usufruisce del loro servizio un livello di reputation di alta qualità. Il livello di reputation influenza i limiti di invio delle email che amazon SES impone. Se le email sono di qualità i limiti si alzano, se le email vengono considerate spam o aumentano le email respinte (bounce) allora i limiti si abbassano.

Amazon SES - Usage Statistics

Cloud AWS

● Amazon SES fornisce statistiche di utilizzo molto dettagliate sul servizio di spedizione, in questa maniera possiamo analizzare gli invii che non sono andati a buon fine e capire così l’origine del problema.

● Le statistiche possono essere visualizzate attraverso la AWS management console o attraverso l’utilizzo delle amazon SES API. E’ possibile visualizzare il numero di email che sono state spedite, quante non sono arrivate a destinazione e quali sono i limiti di spedizione.

Amazon SES - Utilizzo delle API

Cloud AWS

● E’ possibile effettuare le chiamate alle API SendEmail e SendRawEmail, la quantità di informazioni che bisogna fornire dipendono da quale API viene richiamata.

● La SendEmail API richiede: mittente, destinatario, oggetto e contenuto. Opzionalmente il “reply-to”. Quando si richiama questa API, amazon SES assembla una email correttamente formattata (MIME).

● La SendRawEmail API ci permette di formattare e inviare un messaggio raw da noi creato, specificando: Headers, MIME e il tipo di contenuto. Questa API viene utilizzata per un uso avanzato dell’invio della posta.

Amazon SES - Management console

Cloud AWS

● Se selezioniamo il servizio di Amazon SES dalla pagina home della nostra management console vedremo subito un menu principale sulla sidebar e i grafici con le informazioni più importanti legate al nostro account.

Amazon SES - Management console

Cloud AWS

● Il menu principale di Amazon SES permette le operazioni di configurazione iniziale come SMTP setting, suppression list e verifica del sender sia come indirizzo di posta elettronica singolo che come intero dominio.