Nejprve zkontrolujte sandbox, protože ten rozhoduje, zda bude odesílání vůbec fungovat. Nový účet SES začíná v každém Region v sandboxu. Dokud v něm zůstává, SES doručuje pouze na ověřené adresy, ověřené domény a do vlastního simulátoru poštovních schránek. Navíc platí limit 200 zpráv za 24 hodin a jedna zpráva za sekundu.
Ověřením adresy Email Spam Tester toto omezení neobejdete. SES ověřuje příjemce tak, že mu odešle e-mail s odkazem. Protože naše adresy přijmou přesně jednu zprávu a poté se uzavřou, spotřeboval by adresu už ověřovací e-mail. V praxi proto potřebujete produkční přístup v Region, ze kterého odesíláte. AWS slibuje první odpověď na tuto žádost do 96 hodin.
Stav sandboxu se nastavuje pro každý Region samostatně. Účet, který má produkční přístup v eu-west-1, proto může být v us-east-1 stále v sandboxu. Také identity jsou vázané na konkrétní Region a každá má vlastní záznamy DKIM.
Získejte adresu a odešlete jednu zprávu
Otevřete email-spam-tester.com a zkopírujte zobrazenou adresu. Není potřeba účet ani API klíč a adresa má podobu test-, za kterým následuje dvacet znaků, na doméně t.email-spam-tester.com. Máte jednu hodinu a můžete odeslat jednu zprávu, proto si příkaz pro odeslání připravte ještě před získáním adresy.
Nejjednodušší způsob odeslání používá CLI. Následující příkaz je upravený z vlastního příkladu AWS na stránce o tenantech SES, pouze bez příznaků pro tenant a konfigurační sadu:
aws sesv2 send-email \
--from-email-address "sender@yourdomain.com" \
--destination "ToAddresses=test-xxxxxxxxxxxxxxxxxxxx@t.email-spam-tester.com" \
--content "Simple={Subject={Data='Test Subject',Charset=utf-8},Body={Text={Data='Test email body',Charset=utf-8}}}"
Adresa From musí být ověřená identita, a to i v produkčním prostředí. Tělo obsahující pouze text stačí k otestování autentizace a IP, ale o obsahu vám neřekne téměř nic. Chcete-li získat skutečně vypovídající výsledek, odešlete zprávu, kterou vaše aplikace opravdu posílá, včetně její části HTML a záhlaví. Použijte také stejnou cestu v kódu, ať už jde o send_email z boto3, knihovnu SMTP nebo něco jiného. Pokud produkční odesílání používá konfigurační sadu, přidejte sem také --configuration-set-name, aby test proběhl se stejným nastavením.
Test doručení do schránky lze přidat ke stejnému příkazu. Schránky jednotlivých poskytovatelů přidejte do ToAddresses vedle testovací adresy a jeho značku do dat Subject. Jedno volání pak naplní dva reporty. Druhý uvede složku, do které zpráva dorazila v Gmail, Outlook, Yahoo a u dalších poskytovatelů. Ani tyto schránky nejsou ověřené, takže i zde potřebujete produkční přístup.
Použít můžete také konzoli. Otevřete Configuration > Identities, klikněte na identitu a zvolte Send test email. Pokud chcete vložit celou zprávu MIME s vlastními záhlavími, vyberte Raw. AWS popisuje konzoli jako nástroj, který se obvykle používá pouze pro testovací e-maily, a dokumentace neuvádí žádnou testovací předponu ani jinou změnu zprávy. V sandboxu vyžaduje pole Custom recipient ověřenou adresu, čímž se vracíte k výše uvedenému problému.
Jak v reportu vypadá nová identita SES
Z přehledu · Ověření
- SPFvyhovujenezarovnánoMAIL FROM je subdoména amazonses.com, nikoli vaší domény.
- DKIMvyhovujezarovnánoEasy DKIM podepisuje každou zprávu 2048bitovým klíčem na vaší doméně.
- DMARCvyhovujePo zveřejnění záznamu DMARC projde díky zarovnanému podpisu DKIM.
Výchozí identita SES: SPF projde, ale pro amazonses.com. Vlastní MAIL FROM zajistí jeho zarovnání.
DKIM. Easy DKIM je výchozí možnost pro doménové identity a podepisuje každou zprávu 2048bitovým klíčem. Nastavení tvoří tři záznamy CNAME s názvem token._domainkey.yourdomain.com, které odkazují na token.dkim.<region>.amazonses.com. Pokud kontrola DKIM selže, nejprve zkontrolujte dvě věci: zda se změny DNS už rozšířily (AWS počítá až se 72 hodinami) a zda váš poskytovatel DNS nepřipojil doménu k názvu a nevytvořil token._domainkey.yourdomain.com.yourdomain.com. Při použití BYODKIM místo toho zveřejníte jeden záznam TXT pod vlastním selektorem. Během přechodu mezi těmito dvěma možnostmi může SES odesílat zprávy zcela bez podpisu, což report označí jako chybějící DKIM. Kontrola DKIM používá token jako selektor.
SPF a návratová cesta. SES ve výchozím nastavení používá jako MAIL FROM subdoménu amazonses.com. SPF projde, ale pro amazonses.com, takže report zobrazí SPF jako nezarovnané s vaší adresou From. Když je DKIM zarovnané, stojí vás to jen málo (2 body na 100bodové stupnici místo 5) a DMARC stále projde díky DKIM. Chcete-li zarovnat také SPF, nastavte vlastní subdoménu MAIL FROM s právě jedním záznamem MX, 10 feedback-smtp.<region>.amazonses.com, a záznamem TXT v=spf1 include:amazonses.com ~all. Nevybírejte subdoménu, která přijímá poštu, a do záznamu DMARC nepřidávejte aspf=s, protože podle AWS zarovnání SPF se SES při přísné zásadě SPF nefunguje.
DMARC. SES ho za vás nezveřejní. Ukázkový záznam AWS je v=DMARC1;p=quarantine;rua=mailto:my_dmarc_report@example.com. Pokud vaše reporty DMARC zatím nikdo nečte, doporučuji začít s p=none a zásadu později zpřísnit. Kontrola DMARC ukáže vaše aktuální nastavení a stránka DMARC fail popisuje běžné příčiny problémů.
Ukázkové hodnoty. Skutečné hodnoty zkopírujte ze svého účtu.
| Název | Typ | Hodnota | K čemu slouží | Kopírovat |
|---|---|---|---|---|
| token. | CNAME | token. | Easy DKIM. Tři takové záznamy, jeden pro každý token. | |
| mail. | MX | 10 feedback-smtp. | Vlastní MAIL FROM. Právě jeden záznam MX na subdoméně, která nepřijímá poštu. | |
| mail. | TXT | v= | SPF pro vlastní MAIL FROM, aby bylo SPF zarovnané s vaší adresou From. | |
| _dmarc. | TXT | v= | DMARC, ukázka od AWS. Pokud reporty zatím nikdo nečte, začněte s p=none a vynechte aspf=s. |
List-Unsubscribe. SES přidává List-Unsubscribe a List-Unsubscribe-Post pouze při odesílání s ListManagementOptions, které odkazuje na seznam kontaktů a téma. I tehdy je přidá jen do zpráv s jediným příjemcem a pouze s Easy DKIM. SES navíc přepíše všechny hlavičky pro odhlášení odběru, které nastavíte sami. Všechno ostatní se odešle zcela bez hlaviček pro odhlášení odběru. U newsletteru to znamená neúspěšnou kontrolu List-Unsubscribe a neúspěšnou kontrolu odhlášení jedním kliknutím, pokud tyto hlavičky sami nepřidáte. Od března 2024 přijímá v2 API vlastní hlavičky bez raw MIME. Tyto dvě hlavičky, upravené podle blogového příspěvku AWS o odhlášení jedním kliknutím, vypadají takto:
"Headers": [
{ "Name": "List-Unsubscribe",
"Value": "<https://yourdomain.com/unsub?address=x&topic=x>, <mailto:unsubscribe@yourdomain.com>" },
{ "Name": "List-Unsubscribe-Post",
"Value": "List-Unsubscribe=One-Click" }
]
Váš koncový bod pak musí zpracovat požadavek POST. Obnovení hesla a účtenky bez hlaviček seznamu jsou jiný případ. U nich report označí skupinu kontrol pro hromadné odesílatele jako přeskočenou. Další informace o této hlavičce najdete na naší stránce o List-Unsubscribe.
IP adresy a seznamy blokovaných adres
Nové účty odesílají z IP adres sdílených s ostatními uživateli SES. AWS doporučuje zůstat u sdílených adres, pokud neodesíláte velký a pravidelný objem. Report ověřuje odesílací IP adresu ve 21 seznamech blokovaných adres. U sdílených adres se případný záznam týká celého fondu. Vyhrazené IP adresy jsou dostupné ve variantě Standard, kterou zahříváte ručně, nebo Managed, kde zahřívání zajišťuje SES. V takovém případě se záznam v seznamu vztahuje k vašemu vlastnímu odesílání. Každou IP adresu nalezenou na kartě Headers můžete rovnou zadat do nástroje pro kontrolu seznamů blokovaných adres.
AWS sleduje také váš účet. V častých dotazech k vymáhání pravidel uvádí, že máte testovat se skutečnými adresami, které mohou přijímat poštu, nebo pomocí simulátoru, aby vymyšlení příjemci nezvyšovali počet nedoručených zpráv. Účet začne prověřovat při 5% míře nedoručení nebo 0,1% míře stížností.
Plán oprav na konci uvádí až osm změn. U každé najdete DNS záznam ke zkopírování, pokud se na ni vztahuje, a počet bodů vedle opravy odpovídá aktuálním penalizacím kontrol, kterých se oprava týká. Model opravy vybírá a vysvětluje, ale neurčuje jejich cenu. Pokud vám název některé kontroly nic neříká, dokumentace vysvětluje všech 42 kontrol.
Dokumentace AWS
Sandbox a přístup do produkčního prostředídocs.aws.amazon.com ↗Easy DKIMdocs.aws.amazon.com ↗Vlastní MAIL FROMdocs.aws.amazon.com ↗DMARC se SESdocs.aws.amazon.com ↗Správa odběrůdocs.aws.amazon.com ↗sesv2 send-emaildocs.aws.amazon.com ↗Otázky
Mohu testovat ze sandboxu SES?
S naší adresou ne. V sandboxu SES doručuje pouze ověřeným příjemcům a ověření naší adresy by spotřebovalo jedinou zprávu, kterou přijímá. Požádejte o produkční přístup pro danou oblast a mezitím zkontrolujte své záznamy pomocí bezplatných nástrojů pro kontrolu DKIM, SPF a DMARC.
Poskytuje simulátor poštovní schránky SES stejné informace?
Ne. Ukáže vám, jak SES zpracuje vrácenou zprávu, stížnost nebo doručení, a účtuje se stejně jako běžné odesílání. Neanalyzuje vaše hlavičky, ověřování ani obsah.
Mám přidat SES do SPF záznamu své kořenové domény?
Příjemci kontrolují SPF vůči doméně MAIL FROM, která je ve výchozím nastavení subdoménou amazonses.com, případně vaší vlastní subdoménou MAIL FROM. SPF záznam pro SES patří do této subdomény a podle stránky MAIL FROM není v kořenové doméně nic vyžadováno.