Budete potřebovat účet AWS a přístup k DNS své domény. SES je s velkým náskokem nejlevnější možností na tomto seznamu a také tou s největším počtem kroků.
Vlastní dokumentace společnosti Amazon: Ověření domény · Získání přihlašovacích údajů SMTP · Opuštění sandboxu
⭐ K SES se připojujeme přes rozhraní SMTP, nikoli přes REST API. Proto jste žádáni o uživatelské jméno a heslo pro SMTP namísto přístupového klíče AWS. Obě cesty doručí naprosto stejnou zprávu; cesta přes SMTP předchází celé řadě problémů s podepisováním požadavků v AWS, které se zvenčí velmi obtížně diagnostikují, a jedná se o rozhraní, pro které Amazon zveřejňuje přihlašovací údaje právě proto, aby jej mohly využívat nástroje jako ten náš.
1. Vyberte si region a zůstaňte v něm
SES funguje regionálně. Vše níže uvedené — vaše ověřená doména, vaše přihlašovací údaje, vaše kvóta pro odesílání — patří do jednoho regionu AWS a v žádném jiném neexistuje.
Vyberte ten, který je nejblíže vašim klientům (eu-west-1 pro Evropu, us-east-1 pro Severní Ameriku) a poznamenejte si jej. Ověřit doménu v Irsku a poté vytvořit přihlašovací údaje ve Frankfurtu je nejčastější způsob, jak zde promrhat celé odpoledne, a chyba, kterou to vyvolá, se o regionech vůbec nezmiňuje.
2. Ověřte svou doménu
Konzole Amazon SES → Identities → Create identity → Domain. Zadejte subdoménu, například mail.vasedomena.cz.
Zapněte Easy DKIM a zvolte RSA_2048_BIT. SES vám poskytne tři záznamy typu CNAME:
| Typ | Hostitel |
|---|
CNAME | <token1>._domainkey.mail.vasedomena.cz |
CNAME | <token2>._domainkey.mail.vasedomena.cz |
CNAME | <token3>._domainkey.mail.vasedomena.cz |
Přidejte všechny tři. Ověření se obvykle dokončí během jedné hodiny.
⭐ Povolte také vlastní doménu MAIL FROM (bounce.mail.vasedomena.cz) a přidejte záznamy MX a SPF TXT, které vyžaduje. Bez toho je vaším odesílatelem obálky (envelope sender) amazonses.com, takže SPF se zarovná k Amazonu namísto k vám a spoléháte se pouze na DKIM.
3. Opusťte sandbox — toto je krok, který lidé opomíjejí
⛔⛔ Nový účet SES je v režimu sandbox a může odesílat pouze na adresy, které jste samostatně ověřili. Vše ostatní přijme a nic z toho nedoručí.
Přesně toto je selhání, k jehož odhalení náš ověřovací krok slouží: v sandboxu SES přijme vaši zprávu se zcela běžnou odpovědí o úspěchu a poté ji zahodí. Pokud naše nastavení ověříte odesláním testu na adresu, kterou jste náhodou v AWS ověřili, bude to fungovat — a poté každá zpráva skutečnému klientovi zmizí.
Řídicí panel účtu → Request production access. Amazon se vás zeptá, co odesíláte a jak řešíte nedoručené zprávy (bounces); pár pravdivých vět o transakčních oznámeních vašim vlastním klientům je obvykle schváleno do 24 hodin.
⭐ Proveďte to předtím, než zde SES připojíte. Poté již není co ladit, protože nic neselže.
4. Vytvořte přihlašovací údaje SMTP
Konzole SES → SMTP settings → Create SMTP credentials.
Tím se vytvoří uživatel IAM s oprávněním pouze k odesílání a získáte uživatelské jméno SMTP a heslo SMTP.
⛔ Nejedná se o váš přístupový klíč a tajný klíč k AWS. Jsou odvozeny z tajného klíče IAM specifickým algoritmem a nelze je zaměňovat. Vložení tajného přístupového klíče AWS na toto místo způsobí pokaždé selhání autentizace a chyba pouze oznámí, že přihlašovací údaje byly odmítnuty.
⚠️ Heslo se zobrazí pouze jednou. Před opuštěním stránky si stáhněte soubor CSV.
5. Připojte službu v systému Zinn®
Otevřete Odesílání e-mailů na svém řídicím panelu:
- Poskytovatel — Amazon SES
- Odesílat z této domény —
mail.vasedomena.cz
- Region AWS — region z kroku 1, např.
eu-west-1
- Uživatelské jméno SMTP — z kroku 4
- Port — ponechte 587
- Heslo SMTP pro SES — z kroku 4
Hostitele sestavíme za vás (email-smtp.<region>.amazonaws.com), takže nehrozí překlep v názvu hostitele.
6. Odešlete test a zadejte kód
Stiskněte Odeslat testovací zprávu do schránky na jiné doméně, kterou jste v AWS neověřili — osobní adresa na Gmailu je ideální, protože právě ta prokáže, že jste mimo sandbox. Přečtěte si kód a zadejte jej.
Když to nefunguje
„Email address is not verified“ při odesílání skutečnému klientovi — stále jste v sandboxu. Krok 3.
535 Authentication Credentials Invalid — použili jste svůj přístupový klíč AWS namísto přihlašovacích údajů SMTP (krok 4), nebo přihlašovací údaje patří k jinému regionu, než který jste zadali.
„Maximum sending rate exceeded“ — nový produkční účet začíná na 14 zprávách za sekundu a 50 000 za den. To je velké množství oznámení, ale pokud převádíte rozsáhlou klientskou základnu, požádejte nejprve o navýšení.
Při testování to fungovalo a v produkci se to zastavilo — zkontrolujte panel Reputation v SES. Amazon automaticky pozastaví odesílání, jakmile míra nedoručení nebo stížností překročí jejich stanovenou hranici, a tu lze se starým seznamem klientů překročit velmi snadno.