U heeft een AWS-account en toegang tot de DNS van uw domein nodig. SES is veruit de goedkoopste optie op deze lijst, en degene met de meeste stappen.
De eigen documentatie van Amazon: Verifying a domain · Obtaining SMTP credentials · Moving out of the sandbox
⭐ We maken verbinding met SES via de SMTP-interface, niet via de REST API. Daarom wordt er om een SMTP-gebruikersnaam en -wachtwoord gevraagd in plaats van om een AWS-toegangssleutel. Beide routes bezorgen exact hetzelfde bericht; de SMTP-route vermijdt een hele categorie problemen met het ondertekenen van AWS-verzoeken die van buitenaf buitengewoon lastig te diagnosticeren zijn, en het is precies de interface waarvoor Amazon inloggegevens publiceert zodat tools zoals de onze deze kunnen gebruiken.
1. Kies een regio en blijf daarin
SES is regionaal. Alles hieronder — uw geverifieerde domein, uw inloggegevens, uw verzendquotum — behoort toe aan één AWS-regio en bestaat niet in een andere.
Kies degene die zich het dichtst bij uw klanten bevindt (eu-west-1 voor Europa, us-east-1 voor Noord-Amerika) en noteer deze. Uw domein verifiëren in Ierland en vervolgens inloggegevens aanmaken in Frankfurt is de meest voorkomende manier om hier een middag aan te verliezen, en de foutmelding die het oplevert vermeldt niets over regio's.
2. Verifieer uw domein
Amazon SES console → Identities → Create identity → Domain. Voer een subdomein in zoals mail.yourdomain.com.
Schakel Easy DKIM in en kies RSA_2048_BIT. SES geeft u drie CNAME-records:
| Type | Host |
|---|
CNAME | <token1>._domainkey.mail.yourdomain.com |
CNAME | <token2>._domainkey.mail.yourdomain.com |
CNAME | <token3>._domainkey.mail.yourdomain.com |
Voeg ze alle drie toe. Verificatie is gewoonlijk binnen een uur voltooid.
⭐ Schakel ook een aangepast MAIL FROM-domein in (bounce.mail.yourdomain.com) en voeg de MX- en SPF TXT-records toe waarom wordt gevraagd. Zonder dit is uw envelopafzender amazonses.com, waardoor SPF wordt afgestemd op Amazon in plaats van op u, en u uitsluitend vertrouwt op DKIM.
3. Ga uit de sandbox — dit is de stap die men overslaat
⛔⛔ Een nieuw SES-account bevindt zich in een sandbox en kan alleen verzenden naar adressen die u afzonderlijk heeft geverifieerd. Het accepteert al het overige en bezorgt er niets van.
Dit is exact het probleem dat onze verificatiestap moet opvangen: in de sandbox accepteert SES uw bericht met een volkomen normale succesrespons en laat het vervolgens vallen. Als u onze configuratie verifieert door de test naar een adres te sturen dat u toevallig in AWS heeft geverifieerd, zal het werken — en vervolgens zal elk bericht naar een echte klant verdwijnen.
Account dashboard → Request production access. Amazon vraagt wat u verzendt en hoe u omgaat met bounces; een paar oprechte zinnen over transactionele meldingen naar uw eigen klanten wordt gewoonlijk binnen 24 uur goedgekeurd.
⭐ Doe dit voordat u SES hier verbindt. Achteraf valt er niets te debuggen, omdat er niets mislukt.
4. Maak SMTP-inloggegevens aan
SES console → SMTP settings → Create SMTP credentials.
Dit maakt een IAM-gebruiker aan met uitsluitend verzendrechten en geeft u een SMTP-gebruikersnaam en een SMTP-wachtwoord.
⛔ Dit zijn niet uw AWS-toegangssleutel en -geheim. Ze worden via een specifiek algoritme afgeleid van een IAM-geheim en zijn niet onderling uitwisselbaar. Het plakken van een geheime AWS-toegangssleutel zal hier telkens tot een mislukte authenticatie leiden, en de foutmelding zal simpelweg zeggen dat de inloggegevens zijn geweigerd.
⚠️ Het wachtwoord wordt slechts eenmalig getoond. Download het CSV-bestand voordat u de pagina verlaat.
5. Verbind het in Zinn®
Open E-mail verzenden in uw dashboard:
- Provider — Amazon SES
- Verzenden vanaf dit domein —
mail.yourdomain.com
- AWS-regio — de regio uit stap 1, bijv.
eu-west-1
- SMTP-gebruikersnaam — uit stap 4
- Poort — laat op 587 staan
- SES SMTP-wachtwoord — uit stap 4
Wij stellen de host voor u samen (email-smtp.<region>.amazonaws.com), dus er is geen hostnaam die verkeerd kan worden getypt.
6. Verzend de test en voer de code in
Druk op Testbericht verzenden naar een inbox op een ander domein dat u niet heeft geverifieerd in AWS — een persoonlijk Gmail-adres is ideaal, omdat dat bewijst dat u uit de sandbox bent. Lees de code en voer deze in.
Wanneer het niet werkt
"Email address is not verified" tijdens het verzenden naar een echte klant — u bevindt zich nog in de sandbox. Stap 3.
535 Authentication Credentials Invalid — u heeft uw AWS-toegangssleutel gebruikt in plaats van SMTP-inloggegevens (stap 4), of de inloggegevens behoren toe aan een andere regio dan degene die u heeft ingevoerd.
"Maximum sending rate exceeded" — een nieuw productie-account begint bij 14 berichten per seconde en 50.000 per dag. Dat is een enorme hoeveelheid meldingen, maar als u een groot klantenbestand migreert, vraag dan eerst een verhoging aan.
Het werkte tijdens het testen en stopte in productie — controleer het SES-dashboard Reputation. Amazon pauzeert het verzenden automatisch wanneer een bounce- of klachtenpercentage hun drempelwaarde overschrijdt, en daar zit u met een oude klantenlijst al snel aan.