Kody odpowiedzi SMTP
Zestawienie trzycyfrowych kodów odpowiedzi SMTP oraz rozszerzonych kodów statusu (X.Y.Z), które towarzyszą zwrotom i odrzuceniom poczty. Szukaj po kodzie lub tekście albo wklej pełną linię zwróconą przez serwer.

117 z 117 kodów

Podstawowe kody odpowiedzi

2xxPozytywna odpowiedź końcowa9
211System status

Status systemu lub odpowiedź pomocy systemowej. W praktyce rzadko używany.

RFC 5321
214Help message

Komunikat pomocy w odpowiedzi na polecenie HELP, z informacjami o korzystaniu z serwera lub konkretnego polecenia.

RFC 5321
220Service ready

Powitanie serwera po nawiązaniu połączenia: usługa jest gotowa. Serwer odpowiada nim także na STARTTLS, sygnalizując, że można rozpocząć negocjację TLS.

RFC 5321
221Service closing transmission channel

Serwer zamyka połączenie, zwykle w odpowiedzi na polecenie QUIT.

RFC 5321
235Authentication successful

Uwierzytelnianie przez AUTH się powiodło. Zwykle towarzyszy mu rozszerzony kod 2.7.0.

RFC 4954
250Requested mail action okay, completed

Żądana operacja została wykonana. Typowa odpowiedź na EHLO, MAIL FROM, RCPT TO oraz na końcu DATA, gdy serwer przyjmuje wiadomość.

RFC 5321
251User not local; will forward

Odbiorca nie jest lokalny, ale serwer przyjmuje wiadomość i przekaże ją na wskazany adres.

RFC 5321
252Cannot VRFY user, but will accept message

Serwer nie potwierdza, czy użytkownik istnieje (VRFY wyłączone, aby uniemożliwić enumerację kont), ale przyjmie wiadomość i spróbuje ją dostarczyć.

RFC 5321
253OK, pending messages for node started

Odpowiedź na ETRN: serwer zaczął dostarczać wiadomości z kolejki dla żądanej domeny lub węzła.

RFC 1985 (ETRN)
3xxPozytywna odpowiedź pośrednia2
334Server challenge

Wyzwanie (challenge) serwera podczas AUTH, zakodowane w Base64. Klient musi odpowiedzieć kolejną daną mechanizmu (na przykład nazwą użytkownika lub hasłem w AUTH LOGIN).

RFC 4954
354Start mail input

Odpowiedź na DATA: serwer czeka na treść wiadomości, zakończoną linią zawierającą tylko kropkę.

RFC 5321
4xxBłąd przejściowy9
421Service not available, closing transmission channel

Usługa jest niedostępna i serwer zamyka połączenie: wyłączanie, przeciążenie, zbyt wiele połączeń lub tymczasowy limit wysyłki. Nadawca powinien spróbować ponownie później.

RFC 5321
432A password transition is needed

Użytkownik musi zmienić hasło lub przejść na inny mechanizm uwierzytelniania, zanim będzie mógł się uwierzytelnić. Towarzyszy mu rozszerzony kod 4.7.12.

RFC 4954
450Requested mail action not taken: mailbox unavailable

Skrzynka jest tymczasowo niedostępna: zajęta, zablokowana lub przejściowo odrzucona przez zasady. Greylisting zwykle odpowiada tym kodem lub kodem 451.

RFC 5321
451Requested action aborted: local error in processing

Operację przerwano z powodu lokalnego błędu serwera, np. nieudanego zapytania DNS lub filtra, który nie odpowiedział. Nadawca powinien spróbować ponownie później.

RFC 5321
452Requested action not taken: insufficient system storage

Serwer nie ma w tej chwili dość miejsca, aby przyjąć wiadomość. Oznacza też przekroczenie liczby odbiorców na wiadomość: klient musi wysłać pozostałych w kolejnej transakcji.

RFC 5321
454Temporary authentication failure

Przejściowy błąd uwierzytelniania (np. serwer poświadczeń nie odpowiada) lub TLS chwilowo niedostępny przy żądaniu STARTTLS.

RFC 4954 / RFC 3207
455Server unable to accommodate parameters

Serwer nie może w tej chwili obsłużyć parametrów przesłanych w MAIL FROM lub RCPT TO, ale może je przyjąć później.

RFC 5321
458Unable to queue messages for node

Odpowiedź na ETRN: serwer nie może w tej chwili przetworzyć kolejki wiadomości żądanego węzła.

RFC 1985 (ETRN)
459Node not allowed

Odpowiedź na ETRN: żądany węzeł lub domena nie ma uprawnień do zlecania dostarczenia swojej kolejki.

RFC 1985 (ETRN)
5xxBłąd trwały17
500Syntax error, command unrecognized

Serwer nie rozpoznaje polecenia lub linia jest zbyt długa. Używa go też AUTH, gdy linia wymiany przekracza dopuszczalną długość.

RFC 5321
501Syntax error in parameters or arguments

Polecenie jest poprawne, ale jego parametry lub argumenty nie: na przykład źle sformatowany adres w MAIL FROM lub nieprawidłowa nazwa w EHLO.

RFC 5321
502Command not implemented

Serwer rozpoznaje polecenie, ale go nie implementuje lub ma je wyłączone, jak VRFY czy EXPN na wielu serwerach.

RFC 5321
503Bad sequence of commands

Polecenia przyszły w złej kolejności, na przykład RCPT TO przed MAIL FROM albo DATA bez poprawnych odbiorców. Niektóre serwery zwracają go przy próbie wysyłki bez uwierzytelnienia.

RFC 5321
504Command parameter not implemented

Serwer nie obsługuje wskazanego parametru, na przykład mechanizmu AUTH, którego nie wspiera.

RFC 5321
521Server does not accept mail

Host nie przyjmuje żadnej poczty. Wysyłany jako powitanie zamiast 220; klient nie powinien ponawiać próby.

RFC 7504
530Authentication required

Serwer wymaga uwierzytelnienia lub uruchomienia TLS przez STARTTLS przed przyjęciem polecenia. Typowe przy używaniu portu wysyłkowego 587 bez poświadczeń.

RFC 4954 / RFC 3207
534Authentication mechanism is too weak

Wybrany mechanizm uwierzytelniania jest według zasad serwera zbyt słaby. Niektórzy dostawcy zwracają go, gdy wymagają haseł aplikacji lub OAuth.

RFC 4954
535Authentication credentials invalid

Błędna nazwa użytkownika lub hasło albo odrzucone poświadczenia. Towarzyszy mu rozszerzony kod 5.7.8.

RFC 4954
538Encryption required for requested authentication mechanism

Wybrany mechanizm uwierzytelniania jest dozwolony tylko przez szyfrowane połączenie: najpierw trzeba wykonać STARTTLS.

RFC 4954
550Requested action not taken: mailbox unavailable

Skrzynka nie istnieje lub jest niedostępna albo wiadomość odrzucono ze względu na zasady (spam, czarne listy, SPF, DKIM lub DMARC). Towarzyszący mu rozszerzony kod wskazuje konkretną przyczynę.

RFC 5321
551User not local; please try forward-path

Odbiorca nie jest lokalny, a serwer nie przekazuje wiadomości; może wskazać, na jaki adres ją wysłać.

RFC 5321
552Requested mail action aborted: exceeded storage allocation

Przekroczono przydzielone miejsce: skrzynka odbiorcy jest pełna lub wiadomość przekracza maksymalny rozmiar ogłaszany przez rozszerzenie SIZE.

RFC 5321
553Requested action not taken: mailbox name not allowed

Adres e-mail jest nieprawidłowy lub niedozwolony, na przykład z powodu błędnej składni albo dlatego, że nadawca nie może używać tego adresu.

RFC 5321
554Transaction failed

Transakcja nie powiodła się. Jako powitanie oznacza, że dla tego klienta nie ma usługi SMTP; po DATA — że wiadomość odrzucono, często z powodu treści lub reputacji nadawcy.

RFC 5321
555MAIL FROM/RCPT TO parameters not recognized or not implemented

Serwer nie rozpoznaje lub nie implementuje parametru rozszerzenia przesłanego w MAIL FROM lub RCPT TO.

RFC 5321
556Domain does not accept mail

Domena odbiorcy publikuje null MX (rekord MX wskazujący na „.”): deklaruje, że nie odbiera poczty, więc ponawianie nie ma sensu.

RFC 7504

Rozszerzone kody statusu (RFC 3463)

2.X.XSukces4.X.XTrwający błąd przejściowy5.X.XBłąd trwały
X.0Inne lub niezdefiniowane1
X.0.0Other undefined status

Status bez dalszych szczegółów: używany, gdy znana jest tylko klasa wyniku (sukces, błąd przejściowy lub trwały).

RFC 3463
X.1Adresowanie11
X.1.0Other address status

Wystąpił problem z którymś adresem wiadomości, niepasujący do bardziej szczegółowych kodów.

RFC 3463
X.1.1Bad destination mailbox address

Skrzynka odbiorcy nie istnieje na serwerze docelowym. Klasyczny zwrot z powodu literówki w adresie lub usuniętego konta.

RFC 3463Używany z
X.1.2Bad destination system address

Domena lub system docelowy nie istnieje albo nie może przyjmować poczty, na przykład dlatego, że domena się nie rozwiązuje.

RFC 3463
X.1.3Bad destination mailbox address syntax

Adres odbiorcy ma nieprawidłową składnię.

RFC 3463Używany z
X.1.4Destination mailbox address ambiguous

Adres odbiorcy pasuje do więcej niż jednej skrzynki w systemie docelowym.

RFC 3463
X.1.5Destination address valid

Adres odbiorcy jest prawidłowy. Pojawia się jako 2.1.5 w pozytywnej odpowiedzi na RCPT TO.

RFC 3463Używany z
X.1.6Destination mailbox has moved, No forwarding address

Skrzynka istniała, ale została przeniesiona i nie jest znany adres przekierowania.

RFC 3463
X.1.7Bad sender's mailbox address syntax

Adres nadawcy ma nieprawidłową składnię.

RFC 3463
X.1.8Bad sender's system address

Domena nadawcy nie istnieje lub nie przyjmuje odpowiedzi, na przykład dlatego, że nie ma rekordów MX ani A.

RFC 3463Używany z
X.1.9Message relayed to non-compliant mailer

Wiadomość przekazano do systemu, który nie obsługuje powiadomień o statusie, więc nie da się potwierdzić jej ostatecznego dostarczenia.

RFC 3886
X.1.10Recipient address has null MX

Domena odbiorcy publikuje null MX: deklaruje, że nie odbiera poczty.

RFC 7505Używany z
X.2Skrzynka pocztowa5
X.2.0Other or undefined mailbox status

Skrzynka istnieje, ale coś z nią związanego uniemożliwiło dostarczenie i nie ma bardziej szczegółowego kodu.

RFC 3463
X.2.1Mailbox disabled, not accepting messages

Skrzynka istnieje, ale jest wyłączona i nie przyjmuje wiadomości, na przykład zawieszone konto.

RFC 3463
X.2.2Mailbox full

Skrzynka odbiorcy przekroczyła limit miejsca.

RFC 3463Używany z
X.2.3Message length exceeds administrative limit

Wiadomość przekracza maksymalny rozmiar, jaki odbiorca może otrzymać.

RFC 3463Używany z
X.2.4Mailing list expansion problem

Odbiorca to lista dystrybucyjna, której nie udało się rozwinąć na poszczególnych członków.

RFC 3463Używany z
X.3System pocztowy7
X.3.0Other or undefined mail system status

W systemie docelowym wystąpił problem niepasujący do bardziej szczegółowych kodów.

RFC 3463Używany z
X.3.1Mail system full

Pamięć docelowego systemu pocztowego jest pełna.

RFC 3463Używany z
X.3.2System not accepting network messages

Host docelowy nie przyjmuje wiadomości z powodu zbliżającego się wyłączenia, przeciążenia lub prac konserwacyjnych.

RFC 3463 / RFC 7504Używany z
X.3.3System not capable of selected features

System docelowy nie obsługuje funkcji wymaganej przez wiadomość.

RFC 3463
X.3.4Message too big for system

Wiadomość przekracza maksymalny rozmiar, jaki serwer przyjmuje dla dowolnego odbiorcy.

RFC 3463Używany z
X.3.5System incorrectly configured

System docelowy jest błędnie skonfigurowany i nie może przyjąć wiadomości.

RFC 3463
X.3.6Requested priority was changed

Wiadomość przyjęto, ale z innym priorytetem niż żądany (rozszerzenie MT-PRIORITY).

RFC 6710Używany z
X.4Sieć i routing8
X.4.0Other or undefined network or routing status

Wystąpił problem z siecią lub routingiem niepasujący do bardziej szczegółowych kodów.

RFC 3463
X.4.1No answer from host

Serwer docelowy nie odpowiedział na próbę połączenia.

RFC 3463Używany z
X.4.2Bad connection

Połączenie zostało nawiązane, ale zerwało się lub stało się niestabilne przed zakończeniem dostarczania.

RFC 3463Używany z
X.4.3Directory server failure

Zawiodła usługa katalogowa potrzebna do dostarczenia, zwykle rozwiązywanie nazw DNS.

RFC 3463Używany z
X.4.4Unable to route

Nie znaleziono trasy do celu, na przykład dlatego, że domena nie ma użytecznych rekordów MX ani A.

RFC 3463
X.4.5Mail system congestion

System pocztowy jest przeciążony i nie może w tej chwili przetworzyć wiadomości.

RFC 3463Używany z
X.4.6Routing loop detected

Wykryto pętlę routingu: wiadomość zbyt wiele razy przeszła przez te same serwery.

RFC 3463
X.4.7Delivery time expired

Upłynął maksymalny czas ponawiania prób i wiadomość zostaje porzucona bez dostarczenia.

RFC 3463
X.5Protokół dostarczania7
X.5.0Other or undefined protocol status

Wystąpił problem z protokołem dostarczania niepasujący do bardziej szczegółowych kodów.

RFC 3463Używany z
X.5.1Invalid command

Polecenie jest nieprawidłowe, niedozwolone w tym momencie lub nierozpoznane.

RFC 3463Używany z
X.5.2Syntax error

Polecenie zawiera błąd składni i serwer nie może go zinterpretować.

RFC 3463Używany z
X.5.3Too many recipients

Wiadomość ma więcej odbiorców, niż serwer przyjmuje w jednej transakcji.

RFC 3463Używany z
X.5.4Invalid command arguments

Polecenie jest poprawne, ale jego argumenty nie są lub nie są obsługiwane.

RFC 3463Używany z
X.5.5Wrong protocol version

Występuje niezgodność wersji protokołu między klientem a serwerem.

RFC 3463
X.5.6Authentication Exchange line is too long

Linia wymiany AUTH przekracza maksymalną długość dopuszczaną przez serwer.

RFC 4954Używany z
X.6Treść wiadomości10
X.6.0Other or undefined media error

Wystąpił problem z treścią wiadomości niepasujący do bardziej szczegółowych kodów.

RFC 3463
X.6.1Media not supported

Cel nie obsługuje typu treści wiadomości lub któregoś z jej załączników.

RFC 3463
X.6.2Conversion required and prohibited

Aby dostarczyć wiadomość, trzeba by przekonwertować jej treść, ale nadawca tego zabronił.

RFC 3463
X.6.3Conversion required but not supported

Aby dostarczyć wiadomość, trzeba by przekonwertować jej treść, a serwer nie potrafi tego zrobić.

RFC 3463Używany z
X.6.4Conversion with loss performed

Wiadomość dostarczono, ale podczas konwersji treści utracono część informacji.

RFC 3463Używany z
X.6.5Conversion Failed

Konwersja treści wiadomości nie powiodła się.

RFC 3463
X.6.6Message content not available

Nie udało się pobrać treści wiadomości wskazanej przez URL (rozszerzenie BURL).

RFC 4468Używany z
X.6.7Non-ASCII addresses not permitted for that sender/recipient

Nadawca lub odbiorca nie obsługuje adresów ze znakami spoza ASCII (poczta umiędzynarodowiona, SMTPUTF8).

RFC 6531Używany z
X.6.8UTF-8 string reply is required, but not permitted by the SMTP client

Serwer musi odpowiedzieć tekstem UTF-8, ale klient nie zadeklarował obsługi SMTPUTF8.

RFC 6531Używany z
X.6.9UTF-8 header message cannot be transferred to one or more recipients

Wiadomość ma nagłówki UTF-8 i nie może zostać przekazana do jednego lub kilku odbiorców, którzy ich nie obsługują, więc zostaje odrzucona.

RFC 6531Używany z
X.7Bezpieczeństwo i zasady31
X.7.0Other or undefined security status

Status bezpieczeństwa bez dalszych szczegółów. Pojawia się przy udanym uwierzytelnieniu (2.7.0), przejściowych błędach AUTH (4.7.0) i odrzuceniach ze względu na zasady.

RFC 3463Używany z
X.7.1Delivery not authorized, message refused

Nadawca nie ma uprawnień do wysyłania do tego odbiorcy: blokada z powodu czarnej listy, reputacji, filtra antyspamowego lub niedozwolonej próby przekazywania (relay). W wariancie 4.7.1 zwykle oznacza greylisting.

RFC 3463Używany z
X.7.2Mailing list expansion prohibited

Nadawca nie ma uprawnień do wysyłania na tę listę dystrybucyjną.

RFC 3463Używany z
X.7.3Security conversion required but not possible

Wiadomość trzeba by przekonwertować z jednego protokołu bezpieczeństwa na inny, co nie jest możliwe.

RFC 3463
X.7.4Security features not supported

Wiadomość wymaga funkcji bezpieczeństwa, których cel nie obsługuje.

RFC 3463Używany z
X.7.5Cryptographic failure

Operacja kryptograficzna w transporcie nie powiodła się, na przykład weryfikacja podpisu lub odszyfrowanie.

RFC 3463
X.7.6Cryptographic algorithm not supported

Cel nie obsługuje algorytmu kryptograficznego użytego w wiadomości.

RFC 3463
X.7.7Message integrity failure

Weryfikacja integralności nie powiodła się: wiadomość zmieniono w drodze lub suma kontrolna się nie zgadza.

RFC 3463
X.7.8Authentication credentials invalid

Poświadczenia uwierzytelniające są nieprawidłowe: błędna nazwa użytkownika lub hasło.

RFC 4954Używany z
X.7.9Authentication mechanism is too weak

Wybrany mechanizm uwierzytelniania jest słabszy, niż wymagają zasady serwera.

RFC 4954Używany z
X.7.10Encryption Needed

Do użycia żądanego mechanizmu uwierzytelniania potrzebna jest zewnętrzna warstwa szyfrowania, np. TLS. Przeznaczony głównie dla mechanizmów wysyłających hasło otwartym tekstem.

RFC 5248Używany z
X.7.11Encryption required for requested authentication mechanism

Żądany mechanizm uwierzytelniania jest dozwolony tylko przez szyfrowane połączenie.

RFC 4954Używany z
X.7.12A password transition is needed

Użytkownik musi zmienić hasło lub przejść na inny mechanizm uwierzytelniania.

RFC 4954Używany z
X.7.13User Account Disabled

Konto użytkownika próbującego się uwierzytelnić jest wyłączone.

RFC 5248Używany z
X.7.14Trust relationship required

Serwer przyjmuje wiadomości tylko od systemów, z którymi ma ustanowioną relację zaufania.

RFC 5248Używany z
X.7.15Priority Level is too low

Priorytet wiadomości jest zbyt niski, aby przyjąć ją w tej chwili (rozszerzenie MT-PRIORITY).

RFC 6710Używany z
X.7.16Message is too big for the specified priority

Wiadomość jest zbyt duża dla wskazanego priorytetu (rozszerzenie MT-PRIORITY).

RFC 6710Używany z
X.7.17Mailbox owner has changed

Skrzynka zmieniła właściciela od daty podanej przez nadawcę, więc wiadomość nie zostanie dostarczona (rozszerzenie RRVS).

RFC 7293
X.7.18Domain owner has changed

Domena odbiorcy zmieniła właściciela od daty podanej przez nadawcę (rozszerzenie RRVS).

RFC 7293
X.7.19RRVS test cannot be completed

Serwer nie może sprawdzić, czy skrzynka zmieniła właściciela, o co prosił nadawca (rozszerzenie RRVS).

RFC 7293
X.7.20No passing DKIM signature found

Wiadomość nie ma żadnego prawidłowego podpisu DKIM, a zasady odbiorcy go wymagają.

RFC 7372Używany z
X.7.21No acceptable DKIM signature found

Wiadomość ma prawidłowe podpisy DKIM, ale żaden nie spełnia zasad odbiorcy (na przykład ze względu na domenę podpisującą lub algorytm).

RFC 7372Używany z
X.7.22No valid author-matched DKIM signature found

Wiadomość nie ma prawidłowego podpisu DKIM tej samej domeny, która widnieje w nagłówku From.

RFC 7372Używany z
X.7.23SPF validation failed

Wysyłający adres IP nie jest autoryzowany w rekordzie SPF domeny nadawcy.

RFC 7372Używany z
X.7.24SPF validation error

Ocena SPF zakończyła się błędem, na przykład z powodu źle sformatowanego rekordu lub zbyt wielu zapytań DNS.

RFC 7372Używany z
X.7.25Reverse DNS validation failed

Wysyłający adres IP nie ma odwrotnego DNS (PTR) lub zwrócona nazwa nie rozwiązuje się z powrotem na ten adres IP.

RFC 7372Używany z
X.7.26Multiple authentication checks failed

Jednocześnie zawiodło kilka kontroli uwierzytelniania wiadomości, np. SPF i DKIM.

RFC 7372Używany z
X.7.27Sender address has null MX

Domena nadawcy publikuje null MX, więc nie mogłaby odbierać odpowiedzi ani zwrotów, dlatego wiadomość zostaje odrzucona.

RFC 7505Używany z
X.7.28Mail flood detected

Wiadomość wygląda na część masowej wysyłki podobnych, nadużyciowych wiadomości.

draft-levine-mailbomb-header
X.7.29ARC validation failure

Walidacja łańcucha ARC nie powiodła się; ARC zachowuje wyniki uwierzytelniania, gdy wiadomość przechodzi przez przekierowania lub listy mailingowe.

RFC 8617Używany z
X.7.30REQUIRETLS support required

Wiadomość wymaga REQUIRETLS, a następny serwer na trasie nie obsługuje tego rozszerzenia, więc nie można jej dostarczyć z gwarancją szyfrowania.

RFC 8689Używany z

Wklej pełną odpowiedź serwera, na przykład 550 5.7.1 Message rejected, aby zobaczyć jednocześnie kod podstawowy i rozszerzony. Dla kodu podstawowego wyszukiwanie pokazuje też rozszerzone kody, które zwykle mu towarzyszą.

Jak to działa

W sesji SMTP każde polecenie klienta (EHLO, MAIL FROM, RCPT TO, DATA…) otrzymuje odpowiedź serwera zaczynającą się od trzycyfrowego kodu. Pierwsza cyfra mówi, jak się zakończyło: 2 oznacza sukces, 3 — że serwer czeka na dalsze dane, 4 — błąd przejściowy, a 5 — błąd trwały. Druga wskazuje obszar: x0z składnia, x1z informacja, x2z połączenie i x5z system pocztowy. Tekst po kodzie jest dowolny i każdy serwer pisze własny; programy patrzą tylko na liczbę.

Ponieważ trzy cyfry niewiele mówią o przyczynie, RFC 3463 zdefiniował rozszerzone kody statusu w formacie klasa.temat.szczegół: 5.1.1 to trwały błąd (5) adresowania (1), bo skrzynka nie istnieje (1). Klasa powtarza znaczenie pierwszej cyfry (2, 4 lub 5), temat grupuje przyczynę, a szczegół ją doprecyzowuje. Serwery, które ich używają, ogłaszają to rozszerzeniem ENHANCEDSTATUSCODES w odpowiedzi na EHLO, a ten sam kod pojawia się w polu Status wiadomości zwrotnych.

Tabela zbiera podstawowe kody z RFC 5321 oraz te dodane przez popularne rozszerzenia (AUTH, STARTTLS, ETRN i null MX), a także wszystkie rozszerzone kody z rejestru IANA, każdy z kodami podstawowymi, z którymi zwykle występuje. Duzi dostawcy dodają własne teksty i linki do pomocy, ale zawsze na bazie tych samych numerów.

Przykłady

550 5.1.1 <nadie@example.com>: Recipient address rejected: User unknown in local recipient table5xx Permanent · X.1.1 Bad destination mailbox addressTypowy zwrot z Postfiksa, gdy konto nie istnieje. Ponawianie nic nie da: trzeba poprawić adres. Jeśli ten sam odbiorca działał wcześniej, najpewniej konto zostało usunięte.
450 4.2.0 <ana@example.com>: Recipient address rejected: Greylisted4xx Transient · X.2.0 Other or undefined mailbox statusGreylisting: serwer tymczasowo odrzuca nieznanego nadawcę i czeka, aż ten spróbuje ponownie. Prawidłowy serwer pocztowy robi to sam po kilku minutach i wiadomość przechodzi; wiele programów spamerskich nigdy nie ponawia prób.
AUTH LOGIN334 VXNlcm5hbWU6Kod 334 zawiera wyzwanie w Base64: VXNlcm5hbWU6 to „Username:”, a kolejne, UGFzc3dvcmQ6, to „Password:”. Jeśli poświadczenia są błędne, serwer odpowiada 535 5.7.8; jeśli najpierw wymaga szyfrowania — 538 lub 530.

Przypadki użycia

  • Zrozumieć, dlaczego e-mail wrócił, na podstawie komunikatu błędu zwróconego przez serwer.
  • Rozróżnić, czy błąd jest przejściowy i kolejka ponowi próbę, czy trwały i trzeba zareagować.
  • Diagnozować błędy uwierzytelniania przy konfigurowaniu wysyłki poczty z aplikacji, drukarki lub serwera.
  • Interpretować odrzucenia z powodu SPF, DKIM, DMARC, odwrotnego DNS lub czarnych list w logach serwera pocztowego.
  • Klasyfikować zwroty na platformie do wysyłek masowych, aby wypisywać nieistniejące adresy.
  • Odczytać sesję SMTP przechwyconą za pomocą telnet, openssl s_client lub swaks.

Najczęstsze pytania

Czym różni się błąd 4xx od 5xx?

Błąd 4xx jest przejściowy: serwer wysyłający zostawia wiadomość w kolejce i co jakiś czas ponawia próbę, zwykle przez cztery–pięć dni, zanim się podda i wygeneruje zwrot. Błąd 5xx jest trwały: zwrot następuje od razu, a ponowne wysłanie tej samej wiadomości bez zmian znów się nie powiedzie.

Dlaczego odpowiedź zawiera dwa kody, np. 550 5.1.1?

Pierwszy to trzycyfrowy kod podstawowy wymagany przez RFC 5321. Drugi to rozszerzony kod statusu z RFC 3463, który doprecyzowuje przyczynę: 550 może wynikać z nieistniejącej skrzynki (5.1.1), blokady ze względu na zasady (5.7.1) lub błędu SPF (5.7.23). Przy diagnozie warto patrzeć przede wszystkim na kod rozszerzony.

Co oznacza myślnik w 550-5.7.1?

Że odpowiedź zajmuje kilka linii. Wszystkie mają ten sam kod, ale linie pośrednie oddzielają go od tekstu myślnikiem, a ostatnia spacją — dzięki temu klient wie, kiedy odpowiedź się skończyła. To samo widać na liście rozszerzeń zwracanej przez EHLO.

Dlaczego dostaję odrzucenie 550 5.7.1, skoro adres istnieje?

Bo 5.7.1 nie dotyczy odbiorcy, lecz nadawcy: serwer nie pozwala ci dostarczyć mu tej wiadomości. Typowe przyczyny to wysyłający adres IP na czarnej liście, nieudana weryfikacja SPF, DKIM lub DMARC domeny, brak odwrotnego DNS dla IP albo próba użycia serwera jako relay bez uwierzytelnienia. Tekst dołączony do kodu zwykle podpowiada, o co chodzi.

Dlaczego dostaję 530 lub 535 przy wysyłaniu poczty z aplikacji?

530 oznacza, że serwer wymaga uwierzytelnienia lub uruchomienia TLS przed przyjęciem wiadomości; 535 — że nazwa użytkownika lub hasło są błędne. Sprawdź, czy aplikacja używa portu 587 ze STARTTLS lub 465 z niejawnym TLS, czy ma włączone uwierzytelnianie i, u dostawców takich jak Gmail czy Microsoft 365, czy używasz hasła aplikacji lub OAuth zamiast zwykłego hasła.