Amazon SES è il servizio di posta in uscita di AWS: economico e affidabile per le email che invia un'applicazione (conferme, avvisi, fatture). Ma che l'email parta non è la parte difficile; la parte difficile è che arrivi nella posta in arrivo e non nello spam. Per questo Gmail, Outlook e compagnia esigono tre cose che si dimostrano nel DNS del tuo dominio: DKIM (una firma crittografica), SPF (quali server possono inviare a tuo nome) e DMARC (cosa fare con ciò che non rispetta quanto sopra).
Se il tuo dominio è su Route 53, nello stesso account AWS, SES può creare buona parte dei record per te. Conviene comunque sapere cosa sta mettendo e perché.
Prima di iniziare: cosa significa ogni cosa
- SES
- Simple Email Service, il servizio di Amazon perché le tue applicazioni inviino email (conferme, avvisi, fatture).
- Route 53
- Il servizio DNS di Amazon, cioè dove si gestisce a quali server punta il tuo dominio.
- DNS e record
- L'"elenco telefonico" di internet: traduce il tuo dominio in indirizzi e conserva testi di configurazione. Ogni voce è un record, con un nome, un tipo (TXT, CNAME, MX...) e un valore.
- Verificare il dominio
- Dimostrare ad Amazon che il dominio è tuo, aggiungendo nel suo DNS alcuni record che solo il proprietario può mettere.
- DKIM
- Una firma digitale che SES aggiunge a ogni email e che il destinatario controlla con una chiave pubblicata nel tuo DNS. Dimostra che l'email non è stata alterata e che proviene dal tuo dominio.
- SPF
- Un record di testo nel tuo DNS che dice quali server hanno il permesso di inviare email con il tuo dominio.
- DMARC
- Un altro record di testo che indica ai destinatari cosa fare con le email che non passano DKIM o SPF (niente, quarantena o rifiuto) e dove inviarti i rapporti.
- MAIL FROM personalizzato
- Un tuo sottodominio che SES usa come mittente tecnico, perché i controlli vengano fatti sul tuo dominio e non su quello di Amazon.
- Sandbox
- La modalità di prova in cui inizia ogni account SES: permette di inviare solo a indirizzi verificati. C'è una guida a parte per uscirne.
Passo dopo passo
Scegli la regione di SES
SES funziona per regioni e le identità verificate non si condividono tra di esse. Scegline una vicina ai tuoi utenti o dove hai già il resto (per esempio Europa - Irlanda,
eu-west-1) e tienila per sempre: l'applicazione dovrà inviare verso quella regione.Crea l'identità di dominio
Nella console di SES, Identità, Crea identità, tipo Dominio. Scrivi il dominio senza "www" (
midominio.com). Nella sezione DKIM lascia Easy DKIM con la lunghezza di chiave che SES propone. Se il dominio è su Route 53 in questo account, vedrai la casella per pubblicare automaticamente i record DNS: spuntala. Crea l'identità.SES genera tre record CNAME del tipo
xxxx._domainkey.midominio.com. Con la casella spuntata sono già su Route 53; altrimenti copiali e creali a mano nella zona ospitata. La verifica richiede da pochi minuti ad alcune ore; l'identità passerà a "Verificata" da sola.Configura un dominio MAIL FROM personalizzato (per l'SPF)
Per impostazione predefinita, le email di SES escono con un mittente tecnico su
amazonses.com, che è ciò che guarda l'SPF. Perché il controllo venga fatto sul tuo dominio e DMARC possa "allinearsi", configura un dominio MAIL FROM personalizzato: dentro l'identità, scheda Dominio MAIL FROM personalizzato, Modifica, e metti un sottodominio che non usi per nient'altro, per esempiocorreo.midominio.com. Scegli che SES usi il valore predefinito di amazonses.com se l'MX fallisce, per non smettere di inviare a causa di un errore DNS.SES ti chiede due record su quel sottodominio (di nuovo, con Route 53 può metterli da solo):
Nome Tipo Valore correo.midominio.comMX 10 feedback-smtp.eu-west-1.amazonses.com(sostituisci la regione con la tua)correo.midominio.comTXT "v=spf1 include:amazonses.com ~all"Aggiungi l'SPF anche al dominio principale
Se invii email da altri posti (il tuo server di posta, un fornitore di newsletter), il tuo dominio radice avrà già un record TXT
v=spf1. Aggiungiinclude:amazonses.coma quello stesso record; non creare mai un secondo TXT che inizi con v=spf1, perché due record SPF li invalidano entrambi. Se non ne hai nessuno, crealo su Route 53:Nombre: midominio.com Tipo: TXT Valor: "v=spf1 include:amazonses.com ~all"Se usi anche Google Workspace o Microsoft 365, il valore conterrà anche il loro
includecorrispondente, separati da spazi.Pubblica la policy DMARC
DMARC è un record TXT nel sottodominio
_dmarc. Inizia in modalità osservazione (p=none) perché nessuno rifiuti le tue email mentre fai le regolazioni, e chiedi i rapporti a un indirizzo che leggi:Nombre: _dmarc.midominio.com Tipo: TXT Valor: "v=DMARC1; p=none; rua=mailto:dmarc@midominio.com"Su Route 53: Crea record, nome
_dmarc, tipo TXT, valore tra virgolette. Passate alcune settimane senza sorprese nei rapporti, sali ap=quarantinee poi ap=reject. Gmail e Yahoo esigono DMARC da chi invia molte email, quindi non saltarlo.Verifica e invia una prova
Nell'identità di SES deve apparire tutto in verde: identità verificata, DKIM corretto e MAIL FROM configurato. Invia un'email di prova a un account Gmail e apri "Mostra originale": deve riportare SPF: PASS, DKIM: PASS e DMARC: PASS. Se sei ancora nella sandbox di SES, potrai inviare solo a indirizzi verificati; in questa stessa sezione trovi la guida per uscire dalla sandbox.
Cosa può andare storto
DKIM è da ore "in attesa"
Controlla che i tre CNAME siano esattamente come li ha dati SES, senza che il pannello DNS abbia aggiunto il dominio due volte (xxx._domainkey.midominio.com.midominio.com è l'errore tipico fuori da Route 53). E assicurati che i server NS del dominio presso il registrar siano quelli della zona di Route 53 che stai modificando; se il dominio è gestito altrove, Route 53 non serve a nulla.
SPF passa ma DMARC fallisce
Manca l'allineamento: l'SPF è stato valutato su amazonses.com, non sul tuo dominio, perché non hai configurato il MAIL FROM personalizzato (passo 3). Con DKIM allineato di solito basta perché DMARC passi, ma configura comunque il MAIL FROM.
L'email arriva nello spam con tutto in PASS
L'autenticazione è necessaria, non sufficiente. Influiscono il contenuto, il fatto che il dominio sia nuovo, la quantità di rimbalzi e reclami. Inizia con poco volume, togli gli indirizzi che rimbalzano e offri sempre un modo chiaro per disiscriversi. E guarda la reputazione nel pannello di SES.
Ho il dominio in un altro account AWS
SES non potrà pubblicare i record da solo. Copiali dall'identità e creali a mano nella zona di Route 53 dell'altro account. Funziona ugualmente, solo che a mano.
In Simplio
In Simplio la schermata Email (SES) mostra i tuoi domini per regione e ti dice quali record mancano (DKIM, SPF, DMARC, MAIL FROM) con il valore esatto di ciascuno. Se il dominio è su Route 53, li mette con un pulsante. Vedi anche la quota, l'inviato, la percentuale di rimbalzi e reclami, e ricevi un avviso se un'identità smette di essere verificata.
La stessa cosa, in AWS e in Simplio
| Nella console di AWS | In Simplio | |
|---|---|---|
| Sapere quali record mancano | Confrontare SES con Route 53 a mano, uno per uno | La schermata Email ti dice cosa manca (DKIM, SPF, DMARC, MAIL FROM) con il valore esatto |
| Creare i record | Fino a 7 record su Route 53, con nomi lunghi che si copiano male: 30 minuti | Pulsante "Metti i record" se il dominio è su Route 53: 1 clic |
| Se smette di essere verificato | Nessuno avvisa finché l'email non fallisce | Avviso via email |