# Kódy odpovědí SMTP

> Co znamená každý kód odpovědi SMTP, jestli je dočasný, nebo trvalý, jak s ním Emailit naloží a jaké odpovědi posílá SMTP relay Emailitu vaší aplikaci.

Každý příkaz SMTP dostane trojmístnou odpověď. Tato stránka uvádí kódy, které uvidíte na dvou místech: v odpovědích poštovních serverů příjemců, když Emailit doručuje vaši poštu, a v odpovědích vlastního SMTP relay Emailitu, když vaše aplikace odesílá přes `smtp.emailit.com`.

## Jak číst odpověď

Odpověď začíná trojmístným kódem, za kterým obvykle následuje [rozšířený stavový kód](/cs/docs/dictionary/enhanced-status-codes/) a zpráva čitelná pro člověka:

```text
550 5.1.1 <ada@example.com>: Recipient address rejected: User unknown
```

První číslice určuje výsledek:

| První číslice | Význam | Co má odesílatel udělat |
|---|---|---|
| `2` | Úspěch. Příkaz byl přijat. | Pokračovat. |
| `3` | Mezistav. Server potřebuje další vstup, například tělo zprávy po `DATA`. | Poslat další část. |
| `4` | Dočasné selhání. Stejný příkaz může později fungovat. | Zkusit to později znovu. |
| `5` | Trvalé selhání. Opakování příkazu nepomůže. | Neopakovat, dokud se něco nezmění. |

Druhá číslice udává kategorii (`0` syntaxe, `1` informace, `2` spojení, `5` poštovní systém) a třetí ji upřesňuje. Servery kódy často používají volně, takže vždy čtěte i rozšířený kód a text zprávy.

## Jak Emailit zachází s odpověďmi serverů příjemců

Když server příjemce odpoví chybou, Emailit zaznamená [doručení](/cs/docs/logs/email-details/) s celou odpovědí a rozhodne, jestli ho zopakuje:

- **Okamžité nedoručení.** Odpovědi s kódem `550`, `551`, `553` nebo `554` a odpovědi, jejichž text říká, že selhání je trvalé. E-mail dostane stav `bounced`.
- **Opakování.** Vše ostatní, včetně `421`, `450`, `451`, `452`, vypršení časového limitu a chyb spojení. E-mail dostane stav `attempted` a Emailit doručení zopakuje až 7krát během asi 21 hodin (po 10, 20, 40, 80, 160, 320 a 640 minutách). Pokud selžou všechny pokusy, e-mail se nedoručí a adresa se zablokuje.
- **Považováno za trvalé, přestože jde o kód 4xx.** Běžné odpovědi „mailbox full“, „over quota“, „user unknown“, „mailbox disabled“ a „relay access denied“ se přepíšou na trvalé selhání, protože jejich opakování jen zřídka funguje.
- **Odstup.** Odpověď `451` pozastaví doručování z dané odesílací IP adresy na danou doménu příjemce na 5 minut. Blokace `550 5.7.1` (z jiných důvodů než kvůli obsahu) ho pozastaví na 1 hodinu. E-maily, které narazí na pozastavení, dostanou stav `attempted` a doručení se zopakuje podle běžného plánu.

Trvalá nedoručení vedou k [automatickému blokování adres](/cs/docs/suppressions/manage/) podle nastavení vašeho workspace. Příčiny a řešení seskupené podle problému najdete na stránce [Kategorie nedoručení](/cs/docs/dictionary/bounce-categories/).

## Přehled kódů odpovědí

Sloupec „Emailit“ popisuje, co se stane, když server příjemce pošle tento kód během doručování.

### 2xx a 3xx: úspěch a mezistav

| Kód | Význam | Typ | Emailit |
|---|---|---|---|
| `220` | Služba je připravená. Uvítání serveru, posílá se také před handshakem `STARTTLS`. | Úspěch | Pokračuje v komunikaci. |
| `221` | Ukončení spojení, obvykle po `QUIT`. | Úspěch | Nic. |
| `235` | Autentizace proběhla úspěšně. | Úspěch | Při doručování příjemcům se nepoužívá; relay Emailitu ho posílá vaší aplikaci po `AUTH`. |
| `250` | Požadovaná akce byla dokončena. Po `DATA` server zprávu přijal. | Úspěch | Nastaví e-mailu stav `delivered`. |
| `251` | Uživatel není místní; server zprávu přepošle. | Úspěch | Zpracuje se jako `250`. |
| `252` | Server nemůže uživatele ověřit, ale pokusí se zprávu doručit. | Úspěch | Zpracuje se jako `250`. |
| `354` | Začněte posílat tělo zprávy; ukončete ho řádkem s jedinou tečkou. | Mezistav | Odešle zprávu. |

### 4xx: dočasná selhání

| Kód | Význam | Typ | Emailit |
|---|---|---|---|
| `421` | Služba není dostupná, spojení se ukončuje. Často kvůli příliš mnoha spojením nebo dočasné blokaci kvůli reputaci. | Dočasné | Opakuje se. Varianty o plné schránce a nedostupném účtu se označí jako nedoručené. |
| `450` | Schránka není dostupná, například je zaneprázdněná, zamčená nebo jde o greylisting. | Dočasné | Opakuje se. Varianty o kvótě, neznámém uživateli a deaktivované schránce se označí jako nedoručené. |
| `451` | Místní chyba při zpracování, často omezení rychlosti nebo greylisting. | Dočasné | Opakuje se, s 5minutovým odstupem pro danou IP adresu a doménu. Varianty o překročené kvótě a neaktivní schránce se označí jako nedoručené. |
| `452` | Nedostatek úložiště v systému, nebo příliš mnoho příjemců v jedné transakci. | Dočasné | Opakuje se. Varianty o kvótě, úložišti a plné schránce se označí jako nedoručené. |
| `454` | Dočasné selhání autentizace nebo TLS. | Dočasné | Opakuje se. Varianty „Relay access denied“ se označí jako nedoručené. |

### 5xx: trvalá selhání

| Kód | Význam | Typ | Emailit |
|---|---|---|---|
| `500` | Chyba syntaxe, příkaz nerozpoznán. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `501` | Chyba syntaxe v parametrech nebo argumentech, například chybně zapsaná adresa. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `502` | Příkaz není implementován. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `503` | Chybné pořadí příkazů. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `504` | Parametr příkazu není implementován. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `521` | Doména nepřijímá poštu (RFC 7504). | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `530` | Je vyžadována autentizace, nebo server nejdřív vyžaduje TLS. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `534` | Mechanismus autentizace je příliš slabý. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `535` | Neplatné přihlašovací údaje. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `538` | Požadovaný mechanismus autentizace vyžaduje šifrování. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `550` | Schránka není dostupná: adresa neexistuje, nebo server zprávu odmítl kvůli pravidlům nebo spamu. | Trvalé | Nedoručeno. Blokace `550 5.7.1` navíc spustí hodinový odstup pro danou IP adresu a doménu. |
| `551` | Uživatel není místní; server zprávu nepřepošle. | Trvalé | Nedoručeno. |
| `552` | Plná schránka, nebo zpráva překračuje limit velikosti serveru. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. Známé odpovědi o překročené kvótě se označí jako nedoručené okamžitě. |
| `553` | Název schránky není povolený, například neplatná adresa. | Trvalé | Nedoručeno. |
| `554` | Transakce selhala, často jde o odmítnutí kvůli pravidlům, spamu nebo reputaci. Posílá se také jako uvítání, když server spojení odmítne. | Trvalé | Nedoručeno. |
| `555` | Parametry `MAIL FROM` nebo `RCPT TO` nebyly rozpoznány. | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |
| `556` | Doména nepřijímá poštu (RFC 7504). | Trvalé | Opakuje se, po posledním pokusu nedoručeno. |

> **Proč se některé kódy 5xx opakují:** Emailit e-mail okamžitě označí jako nedoručený jen u `550`, `551`, `553` a `554`, nebo když odpověď říká, že selhání je trvalé. Ostatní odpovědi `5xx` se opakují jako dočasná selhání a po sedmém pokusu se e-mail označí jako nedoručený. Mezitím má e-mail stav `attempted`.

## Odpovědi SMTP relay Emailitu

Když vaše aplikace odesílá přes `smtp.emailit.com`, Emailit může vrátit tyto odpovědi. Odpovědi na příkazy `MAIL` a `DATA` v autentizovaném spojení se také zobrazují v **Email API → Logs** se svým stavovým kódem.

| Odpověď | Příkaz | Příčina | Co dělat |
|---|---|---|---|
| `235 Authentication successful` | `AUTH` | API klíč byl přijat. | Pokračujte. |
| `535 Authentication failed` | `AUTH` | Heslo není platný API klíč žádného workspace. | Jako heslo použijte aktuální API klíč. Uživatelské jméno může být `emailit`. |
| `454 Temporary authentication failure` | `AUTH` | Emailit nemohl klíč zkontrolovat kvůli interní chybě. | Po chvíli to zkuste znovu. |
| `504 Error: Unrecognized authentication type` | `AUTH` | Váš klient použil jinou metodu než `PLAIN` nebo `LOGIN`, například `CRAM-MD5`. | Nastavte klienta na `PLAIN`, nebo `LOGIN`. |
| `452 4.4.5 Messages per second limit exceeded (n/limit)` | `MAIL FROM` | Workspace dosáhl svého [limitu odesílání](/cs/docs/limits/) za sekundu. Limit sdílí API i SMTP. | Zpomalte a zkuste to znovu. Většina poštovních knihoven odpovědi `4xx` opakuje automaticky. |
| `452 4.5.3 Daily message limit exceeded (n/limit)` | `MAIL FROM` | Workspace dosáhl denního limitu odesílání, který se nuluje v 00:00 UTC. | Počkejte na vynulování, nebo ve webovém rozhraní požádejte o vyšší limit. |
| `451 Temporary local error in processing` | `MAIL FROM`, `RCPT TO`, `DATA` | Dočasný problém na straně Emailitu. | Zkuste to později znovu. |
| `530 Authentication required` | `RCPT TO` | Klient se před odesláním nepřihlásil. | Zapněte v klientovi autentizaci SMTP. |
| `501 Invalid RCPT TO format` | `RCPT TO` | Adresa příjemce je chybně zapsaná. | Opravte adresu. |
| `550 Unverified workspaces can only send to workspace members' account emails.` | `RCPT TO` | Workspace je v [režimu sandbox](/cs/docs/workspaces/production-access/) a příjemce není jeho členem. | Posílejte e-maily na adresu účtu člena, nebo požádejte o produkční přístup. |
| `535 Mail server has been suspended` | `RCPT TO` | Workspace je zablokovaný. | Zkontrolujte kondici odesílání a napište podpoře. |
| `530 From/Sender domain is not verified for this workspace. From: ...` | `DATA` | Hlavička `From` není na ověřené odesílací doméně workspace. Subdomény se musí ověřit zvlášť. | [Ověřte doménu](/cs/docs/domains/verification/), nebo změňte adresu `From`. |
| `530 API key is restricted to sending domain: acme.com. ...` | `DATA` | API klíč je omezený na jednu doménu a adresa `From` používá jinou. | Použijte povolenou doménu, nebo jiný klíč. |
| `550 Sending from this domain is paused` | `DATA` | Doména byla pozastavena, obvykle kvůli vysoké míře nedoručení. | Viz [Kondice odesílání](/cs/docs/deliverability/sending-health/). |
| `552 Message too large (maximum size 40MB)` | `DATA` | Zpráva včetně zakódovaných příloh má více než 40 MB. | Posílejte menší přílohy, nebo místo nich odkazujte na soubory. |
| `550 Loop detected` | `DATA` | Zpráva už prošla relay Emailitu víc než 4krát. | Zkontrolujte pravidla přeposílání, která posílají poštu zpět do Emailitu. |
| `550 Message processing failed` | `DATA` | Emailit nedokázal zprávu uložit. | Zkuste to znovu. Pokud to stále selhává, napište podpoře a uveďte čas pokusu. |
| `250 2.0.0 OK: queued as em_...` | `DATA` | Emailit zprávu přijal. Každý příjemce dostane vlastní ID e-mailu, uvedená oddělená čárkami, pokud se do odpovědi vejdou. | Uložte si ID, abyste e-mail mohli dohledat ve webovém rozhraní nebo přes API. |

Relay posílá také standardní odpovědi protokolu, například `220`, když se připojíte, `503 Error: need MAIL command`, když příkazy přijdou v nesprávném pořadí, a `421 Timeout - closing connection`, když je spojení nečinné.

> **Příchozí pošta:** Když Emailit přijímá poštu pro vaši [příchozí subdoménu](/cs/docs/inbound/set-up/) a workspace už nemá žádné kredity, odesílající server dostane `452 Insufficient credits to receive inbound email` a zkusí to později znovu.

## Související

- [Rozšířené stavové kódy](/cs/docs/dictionary/enhanced-status-codes/)
- [Kategorie nedoručení](/cs/docs/dictionary/bounce-categories/)
- [Nastavení SMTP](/cs/docs/smtp/settings/)
- [Řešení problémů se SMTP](/cs/docs/smtp/troubleshooting/)

---
Zdroj: https://emailit.com/cs/docs/dictionary/smtp-reply-codes/
