Oggi andremo a spiegare come inviare grandi quantità di email utilizzando amazon SES tramite SMTP a prezzi contenuti.
Con Amazon simple email service SES è possibile inviare email massive a costi contenuti. I costi di invio sono infatti di 0,10€ ogni 1000 email inviate. Amazon SES è un servizio SMTP che permetti di inviare grandi quantità di email e può essere utilizzato per inviare email con script istallati sul server o tramite il tuo client di post tramite amazon.
Creare l'account su amazon
Per redigere questa guida abbiamo deciso di creare un nuovo account. Andiamo quindi su Amazon SES e in alto a destra clicchiamo sul bottone per la registrazione. Inseriamo i nostri dati e proseguiamo. Ci saranno vari passi da seguire, amazon ci chiederà i dati personali, i dati della carta di credito e di confermare il numero di telefono.
Appena terminata la registrazione clicchiamo nel pulsante in alto a destra "accedi alla console", inseriamo la nostra email e password e facciamo il login. Nel box di ricerca scriviamo SES e clicchiamo sul link "Simple Email Services", scegliamo una regione (consigliamo l'irlanda se il tuo sito ed i tuoi clienti sono in europa) e ci troviamo nel pannello di SES.
Verificare un dominio
Il primo passo è quello di verificare un dominio. Clicchiamo quindi su "Domains" nella sidebar a sinistra e poi su "Verify a New Domain" in alto. Dobbiamo inserire il nome del nostro dominio, spuntare l'opzione "Generate DKIM Settings" e cliccare sul pulsante per verificare il dominio.
A questo punto ci saranno mostrati dei record DNS da creare per il nostro dominio, operazione che possiamo eseguire dal cPanel.
Aggiungere i records per verificare il dominio.
Eseguiamo l'accesso al cPanel e clicchiamo sull'icona "Zone Editor". Clicca sul link "Gestione" relativo al dominio che vuoi verificare (se hai più domini sul tuo account vedrai tutti i domini che gestisci in questa pagina).
Amazon ti fornisce 3 parametri per ogni record: name, type e value:

Sul cPanel ci chiede praticamente gli stessi dati dopo che clicchiamo sul pulsante "Aggiungi record"

Quindi aggiungiamo i i due records CNAME ed il record TXT ed abbiamo fatto. Nonostante amazon ci indichi che i record CNAME sono opzionali consigliamo di aggiungerli dal momento che funzionano come una "firma" per le email inviate migliorando quindi la deliverability: la percentuale delle email che raggiungono la casella posta in arrivo dei tuoi destinatari.

Adesso sarà necessario attendere un po' di tempo per completare la verifica del dominio. Normamente ci vogliono pochi minuti per le verifica del record TXT e 1-2 giorni per la verifica dei parametri CNAME.
In questa guida ignoriamo i record MX da momento che non useremo amazon SES per la ricezione delle mail.
Verificare un indirizzo email
Dalla sidebar di sinistra clicca su email addresses, quindi clicca sul bottone per aggiungere un indirizzo email. Amazon ti invierà una email con un link di conferma. appena clicchi sul link il tuo indirizzo sarà verificato.
Rimuovere i limiti di invio
Al momento che abbiamo verificato un indirizzo email ed un dominio dobbiamo far rimuovere i limiti di invio. Per evitare problemi con lo spam amazon imposta il nostro account in modo da poter inviare email di test soltanto ai nostri indirizzi di prova. Per poter inviare email a tutti sarà necessario rimuovere queste limitazioni.
Possiamo farlo seguendo la loro guida. Una volta aperto il ticket di supporto sarà necessario attendere la loro risposta. È importante fornire il maggior numero di informazioni possibile relativamente a come vengono raccolti gli indirizzi email, quante email gestiamo, come gestiamo la mailinglist, ecc... È tutto spiegato nella guida qui linkata.
Amazon tiene sotto controllo i tuoi invii per garantire il corretto funzionamento del servizio amazon SES. Se infatti i tuoi invii risultassero in troppi hard bounce o ricevessero addirittura dei complaints il tuo account può essere bloccato e le tue email non possono essere più inviate. Questo per evitare che gli indirizzi ip dei servizi di amazon possano finire in una blacklist e tutte le email inviate (anche da altri utenti) segnalate come spam.
Se gestisci le tue liste correttamente, nella maggior parte dei casi non avrai di questi problemi perché i tuoi utenti possono cancellarsi dalle tue email, e perché raggiungi le caselle di posta di quegli utenti che hanno mostrato un interesse nelle tue comunicazioni (ad esempio si sono iscritti alla tua mailing list).
Creare le credenziali SMTP
Una volta che riceviamo la risposta che ci indica che i limiti sono stati rimossi abbiamo bisogno delle credenziali SMTP per poter inviare le email. Ricorda che puoi inviare le email soltanto usando gli indirizzi email che hai già verificato. In ogni caso verificare un indirizzo email richiede pochi minuti.
Per creare le credenziali SMTP clicchiamo su "SMTP Settings" nella barra laterale dopo aver eseguito il login ad Amazon SES.
In questa pagina ci vengono mostrati i parametri per configurare il nostro script o il nostro client di posta. Possiamo usare Amazon SES sia per i nostri script che per il nostro client di posta.

I dati che ci servono per configurare l'invio tramite SMTP sono il nome del server di posta e la porta (che vediamo nella schermata che abbiamo riportato qui sopra) il nome utente e la password che andremo a creare nel prossimo passaggio.
Generare le credenziali di accesso
Per generare le credenziali clicchiamo sul bottone "Create my SMTP Credentials" quindi nella schermata successiva clicchiamo in basso a destra su "Crea".
Da questa schermata possiamo scaricare le credenziali oppure visualizzarle sullo schermo. Ricordati di salvare questi dati dal momento che non potrai recuperarli e sarà necessario generarne di nuovi.