← Cloudflare Email Service / email-service / concepts
Životní cyklus e-mailu
Životní cyklus e-mailu popisuje celou cestu e-mailu službou Cloudflare Email Service. Pochopení tohoto procesu vám pomůže optimalizovat implementaci e-mailů a řešit problémy s doručováním.
Email Sending a Email Routing využívají odlišné zpracovatelské toky. Odchozí tok zahrnuje e-maily, které odesíláte prostřednictvím služby, zatímco příchozí tok zahrnuje e-maily přijaté na doménách nakonfigurovaných pro Email Routing.
Odchozí tok (Email Sending)
Každý e-mail odeslaný přes Cloudflare Email Service prochází tímto zpracováním:
flowchart LR
A[Request Received] --> B["Rate Limit, Authentication & Suppression Check"] --> E[Delivery Attempt]
E --> G{Success?}
G -->|Yes, successfully delivered| F[Final Status & Metrics]
G -->|No - Soft Bounce| H[Retry with Exponential Backoff]
G -->|No - Hard Bounce| F
H -->|Retries remaining| E
H -->|Max retries exceeded| F
Podrobnosti fáze
-
Požadavek přijat: Systém ověří formát e-mailu, autorizaci odesílatele a strukturu zprávy. Neplatné požadavky se okamžitě odmítnou a nepostupují do další fáze.
-
Kontrola limitu rychlosti: Systém zkontroluje odesílající limity na účet, doménu a příjemce, aby se zabránilo zneužití. Požadavky, které tyto limity překročí, jsou dočasně odmítnuty a je nutné je zopakovat později.
-
Autentizace a reputace: Systém provede kontroly ověření e-mailu a vyhodnotí reputaci odesílatele:
- SPF (Sender Policy Framework): Ověřuje kontrolou záznamů DNS TXT, zda je odesílající IP adresa oprávněná odesílat e-maily za danou doménu. Tím se zabraňuje spoofingu domény a zlepšuje se doručitelnost.
- DKIM (DomainKeys Identified Mail): Ověřuje kryptografický podpis e-mailu, čímž zajišťuje integritu zprávy a ověřuje doménu odesílatele. To buduje důvěru u serverů příjemců.
- DMARC (Domain-based Message Authentication): Uplatňuje zásady vlastníka domény pro zpracování e-mailů, které neprojdou kontrolou SPF nebo DKIM, čímž pomáhá předcházet phishingu a zneužití značky a zároveň poskytuje zpětnovazební zprávy.
Tyto ověřovací mechanismy společně potvrzují legitimitu odesílatele a chrání proti e-mailovým podvodům. Odesílatelé s nízkým reputačním skóre mohou zaznamenat omezování rychlosti nebo zpožděné zpracování.
-
Kontrola seznamu vyloučených adres: Systém porovná příjemce s potlačovacím seznamem vašeho účtu, který zahrnuje nedoručené zprávy, stížnosti a odhlášení. Příjemcům z tohoto seznamu se e-mail nedoručí.
-
Pokus o doručení: Systém se připojí k poštovnímu serveru příjemce a pokusí se zprávu doručit přes SMTP. Pokud doručení selže, systém uplatní odlišnou logiku opakování podle typu selhání:
- Dočasně nedoručené zprávy (odpovědi 4xx): Systém opakuje doručení s exponenciálně prodlužovanými intervaly (exponential backoff)
- Hard bounce (odpovědi 5xx): Systém označí e-mail jako trvale nedoručitelný bez dalších pokusů o doručení
-
Zpracování odpovědi serveru: Systém zpracuje kódy odpovědi SMTP od serveru příjemce a určí konečný stav e-mailu:
- kódy 2xx: E-mail byl úspěšně doručen
- kódy 4xx: Došlo k dočasnému selhání, doručení e-mailu bude zopakováno
- kódy 5xx: Došlo k trvalému selhání, e-mail nelze doručit
-
Konečný stav a metriky: Na základě odpovědi serveru systém přiřadí e-mailu jeden z těchto konečných stavů:
- Doručeno: E-mail byl úspěšně přijat serverem příjemce
- Doručení selhalo: Doručení e-mailu trvale selhalo (hard bounce), nebo byl překročen maximální počet opakovaných pokusů (soft bounce). Tento stav se zobrazuje jako
deliveryFailedpři dotazování na GraphQL Analytics API.
Tok příchozích e-mailů (Email Routing)
Každý e-mail přijatý na doméně nakonfigurované pro Email Routing prochází tímto zpracováním:
flowchart LR
A[SMTP Receipt] --> B[Authentication Check]
B --> C{Authenticated?}
C -->|Yes| D[Rule Match]
C -->|No| R[Reject]
D --> E{Action?}
E -->|Send to email| F[ARC Sign & SRS Rewrite]
E -->|Send to Worker| W[Worker]
E -->|Drop| X[Drop]
W --> Y{Worker action?}
Y -->|forward| F
Y -->|reply| F
Y -->|setReject| R
F --> G[Outbound Delivery]
G --> H[Final Status & Metrics]
Podrobnosti fáze
-
Přijetí SMTP: Odesílající server se připojí k serveru Cloudflare MX a odešle zprávu přes SMTP. Zprávy větší než limit velikosti příchozí zprávy jsou v této fázi odmítnuty.
-
Kontrola autentizace: Systém provede SPF, DKIM, DMARC a ARC kontroly příchozí zprávy. Pošta, která neprojde ověřením podle DMARC politiky odesílatele, je odmítnuta. V této fázi je odmítnuta i pošta z IP adres uvedených na Realtime Block List. Více informací najdete v Informace pro postmastera s podrobnostmi.
-
Shoda pravidla: Systém porovná adresu příjemce s vaším nakonfigurovaným pravidla směrování. Pokud podadresování je povoleno, příjemci se sub-adresou se řídí základním směrovacím pravidlem. Pokud žádné pravidlo neodpovídá a pravidlo catch-all je povoleno, uplatní se pravidlo catch-all.
-
Akce: Systém uplatní akci odpovídajícího pravidla:
- Odeslání na e-mail: Zpráva je přeposlána na ověřenou cílovou adresu (fáze 5).
- Odeslání na Worker: Zpráva je předána vašemu Worker. Worker může volat
forward(),reply(), nebosetReject(). - Drop: Zpráva je tiše zahozena. Žádné další zpracování neproběhne.
-
Podpis ARC a přepis SRS: U přeposílaných zpráv systém přidá pečeť ARC, která zachovává původní výsledky ověření, a přepíše odesílatele obálky pomocí Sender Rewriting Scheme. Díky tomu může na cílovém serveru projít kontrola SPF.
-
Odchozí doručování: Systém se připojí k cílovému poštovnímu serveru a doručí zprávu. Dočasná selhání doručení se opakují s exponenciálně rostoucím intervalem mezi pokusy. Trvalá selhání doručení se vrací původnímu odesílateli v rámci stejného spojení jako chyby SMTP z nadřazeného serveru. Viz Postmaster: chyby SMTP.
-
Konečný stav a metriky: Konečný výsledek se zaznamená a je dostupný prostřednictvím Activity log a GraphQL Analytics API.