Amazon SES: guida completa alla configurazione DNS e autenticazione email
Di CaptainDNS
Pubblicato il 20 gennaio 2026

- Amazon SES offre l'invio email a 0.10$/1000 email con 7 regioni EU per la conformità GDPR.
- Easy DKIM genera 3 CNAME che servono sia per la verifica del dominio che per la firma DKIM (rotazione automatica ogni 90 giorni).
- Custom MAIL FROM è indispensabile per l'allineamento SPF DMARC, senza di esso SPF autentica con
amazonses.com. - Per
p=reject, combinate Easy DKIM + Custom MAIL FROM + allineamento relaxed (adkim=r,aspf=r).
Perché Amazon SES merita la vostra attenzione?
Amazon SES elabora oltre un trilione di email all'anno dal suo lancio nel 2011. Con una tariffazione di 0.10$ per 1.000 email (senza scaglioni di volume), è l'opzione più economica per l'invio transazionale e marketing.
Cosa fa la differenza:
- API v2 (settembre 2019): messaggi fino a 40 MB, gestione nativa degli unsubscribe, header custom senza passare da Raw email
- 7 regioni EU: Francoforte, Irlanda, Londra, Parigi, Stoccolma, Milano, Zurigo - DPA GDPR incluso automaticamente
- Virtual Deliverability Manager: dashboard di reputazione e raccomandazioni automatizzate
Questa guida si concentra sulla configurazione DNS e l'autenticazione. L'obiettivo: una deliverability ottimale compatibile con p=reject.
Architettura di invio SES e flusso di autenticazione

Quando inviate tramite SES:
- La vostra applicazione chiama l'API v2 o utilizza SMTP
- SES firma il messaggio con la vostra chiave DKIM (dominio
d=captaindns.com) - Il server destinatario verifica SPF (IP di invio), DKIM (firma), poi DMARC (allineamento)
Configurazione DNS completa
Easy DKIM: il metodo consigliato
Easy DKIM genera 3 record CNAME che svolgono due funzioni:
- Verifica della proprietà del dominio (non serve TXT
_amazonses) - Firma DKIM con rotazione automatica ogni 90 giorni
{token1}._domainkey.captaindns.com CNAME {token1}.dkim.amazonses.com
{token2}._domainkey.captaindns.com CNAME {token2}.dkim.amazonses.com
{token3}._domainkey.captaindns.com CNAME {token3}.dkim.amazonses.com
Dimensione chiave: RSA 2048-bit di default (consigliato). La rotazione gestisce automaticamente i ruoli active/passive/pending tra i 3 CNAME.
Custom MAIL FROM: l'elemento critico per DMARC
Senza Custom MAIL FROM, l'envelope SMTP utilizza amazonses.com come dominio MAIL FROM. Risultato: SPF autentica con amazonses.com, non il vostro dominio, l'allineamento SPF DMARC fallisce.
Record richiesti (esempio per mail.captaindns.com):
| Tipo | Name | Value | Priority |
|---|---|---|---|
| MX | mail.captaindns.com | feedback-smtp.eu-west-1.amazonses.com | 10 |
| TXT | mail.captaindns.com | "v=spf1 include:amazonses.com ~all" | - |
Vincoli:
- Il Custom MAIL FROM deve essere un sottodominio del dominio verificato
- Un solo record MX (più di uno = fallimento)
- Questo sottodominio non deve ricevere altre email
SPF sul dominio root: opzionale ma consigliato
Se usate Easy DKIM + Custom MAIL FROM, SPF sul dominio root non è richiesto per DMARC (DKIM è sufficiente). AWS consiglia comunque di configurarlo:
captaindns.com TXT "v=spf1 include:amazonses.com ~all"
Allineamento DMARC: configurazione per p=reject

Cosa funziona (e cosa no)
Allineamento DKIM (metodo principale):
| Configurazione | Allineato? | DMARC via DKIM? |
|---|---|---|
| Solo email verificata (nessun dominio DKIM) | No | No |
| Dominio con Easy DKIM attivo | Sì | Sì |
| Dominio con BYODKIM | Sì | Sì |
Allineamento SPF:
| Configurazione | Allineato? | DMARC via SPF? |
|---|---|---|
MAIL FROM di default (amazonses.com) | No | No |
| Custom MAIL FROM + aspf=r (relaxed) | Sì | Sì |
| Custom MAIL FROM + aspf=s (strict) | No | No (mismatch sottodominio) |
Record DMARC consigliato
_dmarc.captaindns.com TXT "v=DMARC1;p=reject;adkim=r;aspf=r;rua=mailto:dmarc@captaindns.com"
Punti chiave:
adkim=reaspf=r: allineamento relaxed (autorizza i sottodomini)- Progredite da
p=none→p=quarantine→p=reject - Monitorate i report
ruaprima di inasprire
Tabella riepilogativa DNS
| Tipo | Host/Name | Value | Obbligatorio |
|---|---|---|---|
| CNAME | {token1}._domainkey.captaindns.com | {token1}.dkim.amazonses.com | Sì (Easy DKIM) |
| CNAME | {token2}._domainkey.captaindns.com | {token2}.dkim.amazonses.com | Sì (Easy DKIM) |
| CNAME | {token3}._domainkey.captaindns.com | {token3}.dkim.amazonses.com | Sì (Easy DKIM) |
| MX | mail.captaindns.com | feedback-smtp.{region}.amazonses.com | Sì (Custom MAIL FROM) |
| TXT | mail.captaindns.com | "v=spf1 include:amazonses.com ~all" | Sì (Custom MAIL FROM) |
| TXT | _dmarc.captaindns.com | "v=DMARC1;p=reject;adkim=r;aspf=r;..." | Consigliato |
| CNAME | track.captaindns.com | r.{region}.awstrack.me | Opzionale (tracking) |
Metodi di invio: API v2 vs SMTP
API v2 (consigliata)
Endpoint: https://email.{region}.amazonaws.com
aws sesv2 send-email \
--from-email-address "sender@captaindns.com" \
--destination '{"ToAddresses":["recipient@captaindns.com"]}' \
--content '{
"Simple": {
"Subject": {"Data": "Test"},
"Body": {"Html": {"Data": "<h1>Hello</h1>"}}
}
}' \
--configuration-set-name "my-config-set"
Vantaggi v2:
- Messaggi fino a 40 MB (vs 10 MB in v1)
- Header custom nativi (List-Unsubscribe senza Raw email)
ListManagementOptionsper la gestione delle liste
Interfaccia SMTP
Endpoint: email-smtp.{region}.amazonaws.com
| Porta | Protocollo | Raccomandazione |
|---|---|---|
| 25 | STARTTLS | Spesso bloccata dagli ISP |
| 465 | TLS implicito | Alternativa |
| 587 | STARTTLS | Consigliata |
| 2587 | STARTTLS | Alternativa alla 587 |
Header X-SES-* disponibili:
X-SES-CONFIGURATION-SET: associare un configuration setX-SES-MESSAGE-TAGS: aggiungere tag (key=value)
Quote e limiti da conoscere
| Quota | Sandbox | Produzione |
|---|---|---|
| Email/24h | 200 | ~50.000-100.000 (iniziale) |
| Tasso di invio | 1/sec | ~14-50/sec (iniziale) |
| Destinatari/messaggio | 50 | 50 |
| Dimensione messaggio (API v2) | 40 MB | 40 MB |
Uscire dalla sandbox: tramite Console SES o AWS CLI, attesa ~24h se la richiesta è completa.
Soglie di reputazione: i numeri critici

| Metrica | Warning | Massimo | Azione |
|---|---|---|---|
| Bounce Rate | 5% | 10% | Account review |
| Complaint Rate | 0.1% | 0.2% | Account review |
Best practice:
- Attivare la account-level suppression list (sopprime automaticamente gli hard bounce)
- Configurare alert CloudWatch su
Reputation.BounceRateeReputation.ComplaintRate - Soft bounce: SES riprova automaticamente per 12h
Tariffe 2025
| Componente | Prezzo |
|---|---|
| Email inviate | $0.10 / 1.000 |
| Dati in uscita (allegati) | $0.12 / GB (primo GB gratuito) |
| IP dedicato standard | $24.95 / mese / IP |
| Managed Dedicated IPs | $15/mese + $0.08-0.02/1000 in base al volume |
| Virtual Deliverability Manager | $0.07 / 1.000 email |
Free tier (nuovi account): 3.000 email/mese per 12 mesi.
Piano d'azione: configurazione in 6 passaggi
- Creare un'identità dominio nella console SES (regione EU a scelta)
- Configurare Easy DKIM: pubblicare i 3 CNAME forniti da SES
- Attendere la verifica: fino a 72h per la propagazione DNS
- Configurare Custom MAIL FROM: creare il sottodominio con MX e TXT SPF
- Pubblicare il record DMARC: iniziare con
p=none, monitorare i report - Uscire dalla sandbox: inviare la richiesta di production access
FAQ
È obbligatorio configurare Custom MAIL FROM?
Per l'allineamento SPF DMARC, sì. Senza Custom MAIL FROM, SPF autentica con amazonses.com, il che rompe l'allineamento. Se contate esclusivamente su DKIM per DMARC (il che funziona), Custom MAIL FROM rimane comunque consigliato per la difesa in profondità.
Quale regione EU scegliere per il GDPR?
Le 7 regioni EU (Francoforte, Irlanda, Londra, Parigi, Stoccolma, Milano, Zurigo) sono tutte conformi al GDPR con DPA incluso automaticamente. Scegliete in base alla latenza e alla disponibilità SMTP (Milano e Zurigo non hanno endpoint SMTP).
I 3 CNAME Easy DKIM sono tutti attivi contemporaneamente?
No. Un solo CNAME è attivo (risolve con una chiave pubblica p=...) in un dato momento. Gli altri due sono in rotazione (passive/pending). SES gestisce automaticamente la rotazione ogni ~90 giorni.
Come testare la configurazione prima di inviare in produzione?
In sandbox, inviate verso indirizzi verificati. Usate aws sesv2 send-email con un configuration set configurato per pubblicare gli eventi verso SNS o CloudWatch. Verificate gli header DKIM e SPF ricevuti.
Glossario
-
Easy DKIM: metodo SES che genera e gestisce automaticamente le chiavi DKIM tramite 3 record CNAME, con rotazione automatica.
-
Custom MAIL FROM: sottodominio configurato per sostituire il dominio MAIL FROM di default (
amazonses.com), richiesto per l'allineamento SPF DMARC. -
BYODKIM: Bring Your Own DKIM - opzione per utilizzare le proprie chiavi DKIM invece di quelle generate da SES (1 solo record TXT).
-
Configuration Set: insieme di regole SES per il tracking, le notifiche di eventi e le policy TLS.
-
Sandbox: modalità iniziale degli account SES che limita l'invio a 200 email/giorno verso indirizzi verificati.
-
Virtual Deliverability Manager (VDM): funzionalità a pagamento SES che offre una dashboard di metriche e raccomandazioni automatizzate sulla deliverability.


