Avrà bisogno di un account AWS e dell'accesso al DNS del Suo dominio. SES è di gran lunga l'opzione più economica di questo elenco, nonché quella che richiede il maggior numero di passaggi.
Documentazione ufficiale di Amazon: Verifica di un dominio · Ottenimento delle credenziali SMTP · Uscita dalla sandbox
⭐ Ci colleghiamo a SES tramite la sua interfaccia SMTP, non tramite la sua API REST. Ecco perché Le vengono richiesti un nome utente e una password SMTP anziché una chiave di accesso AWS. Entrambe le modalità recapitano esattamente lo stesso messaggio; quella SMTP evita un'intera categoria di problemi relativi alla firma delle richieste AWS, notoriamente difficili da diagnosticare dall'esterno, ed è l'interfaccia per cui Amazon rilascia le credenziali proprio affinché strumenti come il nostro possano utilizzarla.
1. Scelga una regione e rimanga al suo interno
SES è regionale. Tutto ciò che segue — il Suo dominio verificato, le Sue credenziali, la Sua quota di invio — appartiene a una sola regione AWS e non esiste in nessun'altra.
Scelga quella più vicina ai Suoi clienti (eu-west-1 per l'Europa, us-east-1 per il Nord America) e la annoti. Verificare il proprio dominio in Irlanda e creare poi le credenziali a Francoforte è il modo più comune per sprecare un pomeriggio, e l'errore generato non menziona affatto le regioni.
2. Verifichi il Suo dominio
Console Amazon SES → Identities → Create identity → Domain. Inserisca un sottodominio come mail.yourdomain.com.
Attivi Easy DKIM e scelga RSA_2048_BIT. SES Le fornisce tre record CNAME:
| Type | Host |
|---|
CNAME | <token1>._domainkey.mail.yourdomain.com |
CNAME | <token2>._domainkey.mail.yourdomain.com |
CNAME | <token3>._domainkey.mail.yourdomain.com |
Li aggiunga tutti e tre. La verifica viene solitamente completata entro un'ora.
⭐ Abiliti anche un dominio MAIL FROM personalizzato (bounce.mail.yourdomain.com) e aggiunga i record MX e TXT per SPF richiesti. Senza di esso, l'envelope sender sarà amazonses.com, con la conseguenza che l'SPF risulterà allineato con Amazon anziché con Lei, costringendoLa ad affidarsi unicamente al DKIM.
3. Esca dalla sandbox — questo è il passaggio che molti dimenticano
⛔⛔ Un nuovo account SES si trova in una sandbox e può inviare messaggi solo agli indirizzi verificati separatamente. Accetterà tutti gli altri senza recapitarne alcuno.
Questo è esattamente l'errore che la nostra procedura di verifica intende rilevare: all'interno della sandbox, SES accetta il messaggio con una risposta positiva del tutto ordinaria e poi lo ignora. Se verifica la nostra configurazione inviando il test a un indirizzo che ha già verificato in AWS, il test funzionerà — ma poi ogni messaggio destinato a un cliente reale svanirà nel nulla.
Account dashboard → Request production access. Amazon Le chiederà che tipo di messaggi invia e come gestisce i bounce; un paio di frasi sincere sulle notifiche transazionali destinate ai Suoi clienti vengono normalmente approvate entro 24 ore.
⭐ Esegua questa operazione prima di collegare SES qui. Non ci sarà nulla da diagnosticare in seguito, perché non si verificherà alcun errore.
4. Crei le credenziali SMTP
Console SES → SMTP settings → Create SMTP credentials.
In questo modo viene creato un utente IAM con autorizzazione di solo invio e Le vengono forniti un nome utente SMTP e una password SMTP.
⛔ Questi dati non coincidono con la chiave di accesso e la chiave segreta AWS. Vengono ricavati da un segreto IAM tramite uno specifico algoritmo e non sono intercambiabili. L'inserimento di una chiave di accesso segreta AWS genererà ogni volta un errore di autenticazione, e l'errore indicherà semplicemente che le credenziali sono state rifiutate.
⚠️ La password viene mostrata una sola volta. Scarichi il file CSV prima di abbandonare la pagina.
5. Esegua il collegamento in Zinn®
Apra Invio email nella Sua dashboard:
- Provider — Amazon SES
- Invia da questo dominio —
mail.yourdomain.com
- Regione AWS — la regione del passaggio 1, ad es.
eu-west-1
- Nome utente SMTP — dal passaggio 4
- Porta — lasci 587
- Password SMTP SES — dal passaggio 4
L'host viene generato automaticamente da noi (email-smtp.<region>.amazonaws.com), evitando così il rischio di digitare un hostname errato.
6. Invii il test e inserisca il codice
Prema Invia messaggio di prova verso una casella di posta appartenente a un dominio diverso e non verificato in AWS — un indirizzo Gmail personale è l'ideale, poiché Le permetterà di verificare l'effettiva uscita dalla sandbox. Legga il codice e lo inserisca.
In caso di problemi
"Email address is not verified" durante l'invio a un cliente reale — Si trova ancora nella sandbox. Consulti il passaggio 3.
535 Authentication Credentials Invalid — Ha utilizzato la Sua chiave di accesso AWS invece delle credenziali SMTP (passaggio 4), oppure le credenziali appartengono a una regione diversa da quella inserita.
"Maximum sending rate exceeded" — Un nuovo account di produzione parte con un limite di 14 messaggi al secondo e 50.000 al giorno. Si tratta di un volume notevole per delle notifiche, ma se sta migrando un ampio portafoglio clienti, richieda prima un aumento della quota.
Funzionava durante i test ma ha smesso di funzionare in produzione — Controlli la dashboard Reputation di SES. Amazon sospende automaticamente l'invio non appena la percentuale di bounce o di reclami supera la soglia consentita, una situazione facile da riscontrare quando si utilizza un elenco clienti non aggiornato.