Trebat će vam AWS račun i pristup DNS-u vaše domene. SES je daleko najjeftinija opcija na ovom popisu i ona s najviše koraka.
Amazonova vlastita dokumentacija: Verifying a domain · Obtaining SMTP credentials · Moving out of the sandbox
⭐ Povezujemo se sa SES-om putem njegovog SMTP sučelja, a ne putem njegovog REST API-ja. Zato se od vas traže SMTP korisničko ime i lozinka, a ne AWS pristupni ključ. Oba načina isporučuju potpuno istu poruku; SMTP način izbjegava čitavu klasu problema s potpisivanjem AWS zahtjeva koje je izuzetno teško dijagnosticirati izvana, a to je ujedno i sučelje za koje Amazon izdaje vjerodajnice upravo kako bi ga alati poput našeg mogli koristiti.
1. Odaberite regiju i ostanite u njoj
SES je regionalan. Sve u nastavku — vaša verificirana domena, vaše vjerodajnice, vaša kvota za slanje — pripada jednoj AWS regiji i ne postoji ni u jednoj drugoj.
Odaberite onu koja je najbliža vašim klijentima (eu-west-1 za Europu, us-east-1 za Sjevernu Ameriku) i zabilježite je. Verifikacija domene u Irskoj, a zatim stvaranje vjerodajnica u Frankfurtu najčešći je način za gubitak poslijepodneva, a pogreška koja se pritom pojavi ne navodi ništa o regijama.
2. Verificirajte svoju domenu
Amazon SES console → Identities → Create identity → Domain. Unesite poddomenu kao što je mail.yourdomain.com.
Uključite Easy DKIM i odaberite RSA_2048_BIT. SES vam daje tri CNAME zapisa:
| Type | Host |
|---|
CNAME | <token1>._domainkey.mail.yourdomain.com |
CNAME | <token2>._domainkey.mail.yourdomain.com |
CNAME | <token3>._domainkey.mail.yourdomain.com |
Dodajte sva tri. Verifikacija obično završava unutar sat vremena.
⭐ Također omogućite prilagođenu MAIL FROM domenu (bounce.mail.yourdomain.com) i dodajte MX i SPF TXT zapise koje zatraži. Bez toga je vaš pošiljatelj omotnice (envelope sender) amazonses.com, pa se SPF usklađuje s Amazonom, a ne s vama, i oslanjate se isključivo na DKIM.
3. Izađite iz sandboxa — ovo je korak koji ljudi propuštaju
⛔⛔ Novi SES račun nalazi se u sandboxu i može slati samo na adrese koje ste zasebno verificirali. Sve ostalo će prihvatiti, ali ništa od toga neće isporučiti.
To je upravo onaj neuspjeh zbog kojeg postoji naš korak verifikacije: u sandboxu, SES preuzima vašu poruku sa sasvim uobičajenim odgovorom o uspjehu, a zatim je odbacuje. Ako našu konfiguraciju verificirate slanjem testa na adresu koju ste slučajno verificirali u AWS-u, to će raditi — a zatim će svaka poruka stvarnom klijentu nestati.
Account dashboard → Request production access. Amazon pita što šaljete i kako postupate s odbijenim porukama (bounces); par iskrenih rečenica o transakcijskim obavijestima za vaše vlastite klijente obično se odobrava unutar 24 sata.
⭐ Učinite to prije nego što ovdje povežete SES. Nakon toga nema se što otklanjati, jer ništa ne javlja pogrešku.
4. Stvorite SMTP vjerodajnice
SES console → SMTP settings → Create SMTP credentials.
Ovo stvara IAM korisnika s dozvolom samo za slanje i daje vam SMTP korisničko ime i SMTP lozinku.
⛔ Ovo nisu vaš AWS pristupni ključ i tajni ključ. Oni se izvode iz IAM tajnog ključa pomoću posebnog algoritma i nisu međusobno zamjenjivi. Lijepljenje AWS tajnog pristupnog ključa ovdje uvijek će rezultirati neuspješnom autentifikacijom, a pogreška će jednostavno reći da su vjerodajnice odbijene.
⚠️ Lozinka se prikazuje samo jednom. Preuzmite CSV prije nego što napustite stranicu.
5. Povežite to u Zinn®-u
Otvorite Email sending na svojoj upravljačkoj ploči:
- Provider — Amazon SES
- Send from this domain —
mail.yourdomain.com
- AWS region — regija iz 1. koraka, npr.
eu-west-1
- SMTP username — iz 4. koraka
- Port — ostavite na 587
- SES SMTP password — iz 4. koraka
Mi generiramo poslužitelja za vas (email-smtp.<region>.amazonaws.com), tako da nema naziva poslužitelja koji biste mogli pogrešno upisati.
6. Pošaljite test i unesite kôd
Pritisnite Send test message prema pristigloj pošti na drugoj domeni koju niste verificirali u AWS-u — osobna Gmail adresa je idealna, jer ona dokazuje da ste izašli iz sandboxa. Pročitajte kôd i unesite ga.
Kada to ne radi
"Email address is not verified" prilikom slanja stvarnom klijentu — još uvijek ste u sandboxu. Korak 3.
535 Authentication Credentials Invalid — upotrijebili ste svoj AWS pristupni ključ umjesto SMTP vjerodajnica (korak 4) ili vjerodajnice pripadaju drugoj regiji od one koju ste unijeli.
"Maximum sending rate exceeded" — novi produkcijski račun započinje s 14 poruka u sekundi i 50.000 dnevno. To je velik broj obavijesti, ali ako migrirate veliku bazu klijenata, prvo zatražite povećanje.
Radilo je u testiranju, a prestalo u produkciji — provjerite SES nadzornu ploču Reputation. Amazon automatski pauzira slanje kada stopa odbijanja ili pritužbi prijeđe njihov prag, a to je lako prijeći sa starim popisom klijenata.