Seznam návratových kódů serveru SMTP - List of SMTP server return codes
Toto je seznam Protokol jednoduchého přenosu pošty (SMTP) stavové kódy odezvy. Kódy stavu jsou vydávány serverem v reakci na požadavek klienta zaslaný serveru.
Pokud není uvedeno jinak, všechny zde popsané stavové kódy jsou součástí aktuálního standardu SMTP, RFC 5321. Zobrazené fráze zpráv jsou typické, ale může být poskytnuta jakákoli alternativa čitelná člověkem.
Základní stavový kód
Odpověď „Základní stavový kód“ SMTP se skládá ze tříciferného čísla (přenášeného jako tři číselné znaky), za nímž následuje nějaký text. Číslo je určeno pro automaty (např. E-mailové klienty) k určení, do kterého stavu vstoupit dále; text („textová část“) je pro lidského uživatele.
První číslice označuje, zda je odpověď dobrá, špatná nebo neúplná .:
- 2yz (Pozitivní odpověď na dokončení): Požadovaná akce byla úspěšně dokončena.
- 3 x (Positive Intermediate Reply): Příkaz byl přijat, ale požadovaná akce je pozastavena, čeká se na obdržení dalších informací.
- 4yz (Odpověď na přechodné negativní dokončení): Příkaz nebyl přijat a požadovaná akce neproběhla. Chybový stav je však dočasný a o akci lze znovu požádat.
- 5yz (Permanent Negative Completion Reply): Příkaz nebyl přijat a požadovaná akce neproběhla. Klient SMTP NESMÍ opakovat přesný požadavek (ve stejném pořadí).
Druhá číslice kóduje odpovědi v konkrétních kategoriích:
- x0z (Syntax): Tyto odpovědi se týkají syntaktických chyb, syntakticky správných příkazů, které neodpovídají žádné funkční kategorii, a neimplementovaných nebo nadbytečných příkazů.
- x1z (Informace): Toto jsou odpovědi na žádosti o informace.
- x2z (Připojení): Toto jsou odpovědi týkající se přenosového kanálu.
- x3z : Nespecifikováno.
- x4z : Nespecifikováno.
- x5z (Poštovní systém): Tyto odpovědi označují stav poštovního systému příjemce.
Vylepšený stavový kód
Základní stavové kódy byly v SMTP od začátku s RFC 821 v roce 1982, ale byly prodlouženy poměrně značně a nahodile, takže do roku 2003 RFC 3463 spíše nevrle poznamenal, že: „SMTP trpí určitými jizvami z historie, zejména nešťastným poškozením mechanismu rozšíření kódu odpovědi nekontrolovaným používáním."
RFC 3463 definuje samostatnou řadu stavových kódů vylepšeného poštovního systému, která má být lépe strukturovaná, skládající se ze tří číselných polí oddělených znakem „.“, a to následovně:
třída "." předmět "." detail class = "2" / "4" / "5" předmět = 1 až 3 číslice detail = 1 až 3 číslice
The třídy jsou definovány takto:
- 2.XXX.XXX Úspěch: Zpráva o pozitivní akci doručení.
- 4.XXX.XXX Trvalé přechodné selhání: Odeslaná zpráva je platná, ale přetrvávání některých dočasných podmínek způsobilo opuštění nebo zpoždění.
- 5.XXX.XXX Trvalé selhání: Není pravděpodobné, že bude vyřešeno opětovným odesláním zprávy v aktuální podobě.
Obecně třída identifikátor MUSÍ odpovídat první číslici základního stavového kódu, na kterou se vztahuje.[1]
The předměty jsou definovány takto:
- X.0.XXX Jiný nebo nedefinovaný stav
- X.1.XXX Stav řešení
- X.2.XXX Stav schránky
- X.3.XXX Stav poštovního systému
- X.4.XXX Stav sítě a směrování
- X.5.XXX Stav protokolu doručování pošty
- X.6.XXX Obsah zprávy nebo stav média
- X.7.XXX Stav zabezpečení nebo zásad
Význam pole „detail“ závisí na třídě a předmětu a je uveden v seznamu RFC 3463 a RFC 5248.
Server schopný odpovídat s vylepšeným stavovým kódem MUSÍ předmluvit (předložit) textovou část odpovědí serveru SMTP s vylepšeným stavovým kódem, za kterým následuje jedna nebo více mezer. Například odpověď „221 Bye“ (po příkazu QUIT) MUSÍ být místo toho odeslána jako „221 2.0.0 Bye“.[1]
The Autorita přidělených čísel na internetu (IANA) udržuje oficiální registr těchto vylepšených stavových kódů.[2]
Běžné stavové kódy
V této části je uveden seznam častějších stavových kódů SMTP. Tento seznam není vyčerpávající a skutečná textová zpráva (mimo vylepšený stavový kód se 3 poli) se může lišit.
- 2yz Pozitivní dokončení
- 211 Stav systému nebo odpověď systému nápovědy
- 214 Nápověda (Odpověď na příkaz HELP)
- 220
Služba připravena
- 220
- 221
Služba uzavírá přenosový kanál
- 221
- 221 2.0.0 Ahoj [1]
- 235 2.7.0 Ověření proběhlo úspěšně [3]
- 250 Požadovaná akce pošty v pořádku, dokončeno
- 251 Uživatel není místní; postoupí
- 252 Uživatele nelze ověřit, ale přesto se pokusí doručit zprávu
- 3yz Pozitivní meziprodukt
- 334 (Server challenge - the text part contains the Base64-encoded challenge) [3]
- 354 Zahájit zadávání pošty
- 4yz přechodné negativní dokončení
„Přechodně negativní“ znamená, že chybový stav je dočasný a je možné akci znovu požadovat. Odesílatel by se měl vrátit na začátek sekvence příkazů (pokud existuje).
Přesný význam „přechodného“ je třeba dohodnout mezi dvěma různými weby (agenti SMTP příjemce a odesílatele) se musí shodnout na interpretaci. Každá odpověď v této kategorii může mít jinou časovou hodnotu, ale SMTP klient by MĚL zkusit znovu.
- 421 Služba není k dispozici, protože se server vypíná.
- 432 4.7.12 Je nutný přechod hesla [3]
- 450 Nebyla provedena požadovaná akce pošty: poštovní schránka není k dispozici (např. poštovní schránka zaneprázdněna nebo dočasně blokována z důvodu zásad)
- 451 Požadovaná akce byla přerušena: místní chyba ve zpracování
- 451 4.4.1 Server IMAP není k dispozici [4]
- 452 Nebyla přijata požadovaná akce: nedostatečné systémové úložiště
- 454 4.7.0 Dočasné selhání autentizace [3]
- 455 Server není schopen přizpůsobit parametry
- 5yz Trvalé negativní dokončení
Klient SMTP NESMÍ opakovat přesný požadavek (ve stejném pořadí). Lze opravit i některé „trvalé“ chybové podmínky, takže uživatel může chtít nasměrovat klienta SMTP, aby v určitém okamžiku v budoucnu znovu zahájil posloupnost příkazů přímou akcí.
- 500 Chyba syntaxe, příkaz nebyl rozpoznán (To může zahrnovat chyby, jako je příliš dlouhý příkazový řádek)
- 500 5.5.6 Ověřovací linka Exchange je příliš dlouhá [3]
- 501 Chyba syntaxe v parametrech nebo argumentech
- 501 5.5.2 Nelze dekódovat odpovědi klienta Base64 [3]
- 501 5.7.0 Klientem zahájená výměna ověřování (pouze když mechanismus SASL určil, že klient nezačne výměnu ověřování) [3]
- 502 Příkaz není implementován
- 503 Špatná posloupnost příkazů
- 504 Parametr příkazu není implementován
- 504 5.5.4 Nerozpoznaný typ ověřování [3]
- 521 Server nepřijímá poštu [5]
- 523 Je potřeba šifrování [6]
- 530 5.7.0 Vyžadováno ověření [3]
- 534 5.7.9 Mechanismus ověřování je příliš slabý [3]
- 535 5.7.8 Ověřovací pověření jsou neplatná [3]
- 538 5.7.11 Pro požadovaný mechanismus ověřování je vyžadováno šifrování[3]
- 550 Požadovaná akce nebyla provedena: emailová schránka je nedostupná (např. poštovní schránka nenalezena, žádný přístup nebo příkaz zamítnut z důvodu zásad)
- 551 Uživatel není místní; zkuste
- 551 Uživatel není místní; zkuste
- 552 Požadovaná akce pošty byla přerušena: překročena alokace úložiště
- 553 Nebyla provedena požadovaná akce: název poštovní schránky není povolen
- 554 Transakce se nezdařila (Nebo v případě odpovědi na otevření připojení „Žádná služba SMTP zde“)
- 554 5.3.4 Zpráva je pro systém příliš velká [4]
- 556 Doména nepřijímá poštu [5]
Příklad
Níže je uveden příklad připojení SMTP, kdy klient „C“ odesílá na server „S“:
S: 220 smtp.example.com ESMTP PostfixC: HELO relé.example.comS: 250 smtp.example.com, rád vás poznávámC: POŠTA OD:S: 250 OkC: RCPT TO: S: 250 OkC: RCPT TO: S: 250 OkC: ÚDAJES: 354 Ukončete data pomocí C: Od: „Bob Example“ . C: Komu: Alice Example C: Cc: [email protected] C: Datum: Út, 15. ledna 2008 16:02:43 -0500C: Předmět: Testovací zpráva C: C: Dobrý den Alice.C: Toto je testovací zpráva s 5 poli záhlaví a 4 řádky v těle zprávy. C: Váš přítel, C: BobC:.S: 250 Dobře: ve frontě jako 12345C: KONECS: 221 Sbohem{Server zavře připojení}
A níže je příklad připojení SMTP, ve kterém server SMTP podporuje Enhanced Status Code, převzatý z RFC 2034:
S: Služba SMTP 220 dbc.mtview.ca.us připravenaC: EHLO ymir.claremont.eduS: 250-dbc.mtview.ca.us říká ahojS: 250 VYLEPŠENÝCH STATICKÝCH KÓDŮC: POŠTA OD:S: 250 2.1.0 Původce ok C: RCPT TO:S: 250 2.1.5 Příjemce v pořádku C: RCPT TO:S: 550 5.1.1 Poštovní schránka "nosuchuser" neexistujeC: RCPT TO: S: 551-5.7.1 Přeposílání na vzdálené hostitele zakázánoS: 551 5.7.1 Vyberte jiného hostitele, který bude fungovat jako váš předávajícíC: ÚDAJES: 354 Odeslat zprávu končící na CRLF.CRLF. ... C:.S: 250 2.6.0 Zpráva přijataC: KONECS: 221 2.0.0 Sbohem{Server zavře připojení}