Błędy Mailer-Daemon i ich znaczenie

Wysyłasz wiadomość e-mail i po chwili otrzymujesz zwrotkę od Mailer-Daemon, Mail Delivery Subsystem albo wiadomość z informacją, że mail nie został dostarczony? Najważniejszej informacji szukaj nie w samej nazwie nadawcy, ale w treści komunikatu. Znajdziesz tam kod błędu SMTP, czyli błędy Mailer-Daemon, np. 421, 450, 550, 552 albo bardziej szczegółowy zapis w rodzaju 550 5.1.1 User unknown. To właśnie kod oraz znajdujący się obok niego opis pozwalają ustalić, dlaczego wiadomość nie dotarła do odbiorcy. W tym poradniku wyjaśniam najczęściej spotykane błędy SMTP, wskazuję, po której stronie szukać problemu oraz co konkretnie zrobić po otrzymaniu takiej zwrotki.

Opisane poniżej komunikaty (błędy Mailer-Daemon) są uniwersalnymi odpowiedziami serwerów pocztowych i możesz spotkać je niezależnie od tego, czy korzystasz z Gmaila, Outlook.com, WP, Onetu, Interii, poczty firmowej czy skrzynki utrzymywanej na własnym hostingu.

Program pocztowy może jedynie wyświetlić odpowiedź otrzymaną od serwera, ale może też generować własne komunikaty i kody dotyczące konfiguracji, synchronizacji czy połączenia. Te problemy opisuję osobno w poradnikach najczęstsze błędy programów pocztowych – Outlook i Thunderbird oraz błędy Outlook 0x800CCC0E, 0x800CCC0F i inne.

SMTP odpowiada za wysyłanie poczty, podczas gdy IMAP i POP3 dotyczą dostępu do wiadomości znajdujących się na skrzynce. Jeżeli chcesz lepiej zrozumieć tę różnicę, przeczytaj również IMAP czy POP3 – czym się różnią i co wybrać?.

Co to jest Mailer-Daemon?

Mailer-Daemon nie jest błędem ani wirusem. To automatyczny mechanizm systemu pocztowego, który informuje nadawcę między innymi o problemach z dostarczeniem wiadomości. W zależności od operatora możesz zobaczyć nazwę Mailer-Daemon, Mail Delivery Subsystem, Delivery Status Notification, Undelivered Mail Returned to Sender albo Non-Delivery Report. Najważniejsze jest jednak nie to, jak nazwano nadawcę zwrotki, ale jaki status oraz kod diagnostyczny znajduje się w jej treści.

Jeżeli chcesz dokładnie dowiedzieć się, skąd bierze się taka wiadomość i jaką rolę pełni ten mechanizm pomiędzy serwerami pocztowymi, przeczytaj osobny poradnik co to jest Mailer-Daemon i jak działa?. Z tego artykułu dowiesz się, dlaczego system zwrotek jest tak ważny dla prawidłowego działania korespondencji e-mail.

Możesz również spotkać wiadomość zatytułowaną Delivery Status Notification (Failure). Jej znaczenie i budowę opisałem osobno w poradniku Delivery Status Notification (Failure) – co oznacza ten komunikat?. Jeżeli natomiast chcesz ustalić, czy wysłany mail rzeczywiście dotarł na serwer odbiorcy, zobacz czy wiadomość e-mail została dostarczona.

Jak czytać błąd SMTP w wiadomości Mailer-Daemon?

Załóżmy, że otrzymałeś komunikat:

550 5.1.1 User unknown

550 jest podstawowym kodem SMTP i informuje o trwałej odmowie wykonania operacji. 5.1.1 jest rozszerzonym kodem statusu i wskazuje problem z docelowym adresem skrzynki. Tekst User unknown jest już konkretnym opisem diagnostycznym – serwer nie rozpoznaje wskazanego użytkownika. W praktyce oznacza to, że nie wystarczy zapamiętać samego numeru 550. Dopiero pełny zapis pozwala stwierdzić, z jakim błędem rzeczywiście masz do czynienia.

Dlatego szukając rozwiązania w Google, nie wpisuj wyłącznie błąd 550. Znacznie lepiej skopiować cały zapis 550 5.1.1 User unknown. Ten sam podstawowy kod może wystąpić np. jako 550 5.7.1, który nie dotyczy już braku użytkownika, tylko polityki dostarczenia, autoryzacji albo bezpieczeństwa.

Jak sprawdzić, po której stronie wystąpiły błędy Mailer-Daemon?

W wiadomości DSN możesz znaleźć kilka bardzo przydatnych pól. Reporting-MTA wskazuje serwer, który utworzył raport. Remote-MTA identyfikuje zdalny serwer uczestniczący w próbie dostarczenia, a Diagnostic-Code zawiera właściwą odpowiedź otrzymaną od systemu pocztowego. Pole Status pokazuje natomiast rozszerzony kod w rodzaju 5.1.1. Jeżeli występuje Remote-MTA, możesz ustalić, który zdalny system zwrócił komunikat podczas próby dostarczenia.

Jak zauważysz dalej w artykule, przy każdym kodzie wskazuję również, po której stronie należy rozpocząć diagnostykę. Przy 550 5.1.1 problem dotyczy docelowego adresu odbiorcy. Przy 452 brak zasobów występuje na serwerze zwracającym odpowiedź. Przy 451 lokalny błąd dotyczy serwera, który generuje ten kod. Z kolei 550 5.7.1 jest zwracany przez serwer odrzucający wiadomość, ale przyczyną może być konfiguracja, reputacja albo treść wiadomości po stronie nadawcy.

Ta informacja jest bardzo praktyczna, bo pozwala ustalić, do kogo zwrócić się po pomoc. Czasem wystarczy poprawić adres. Innym razem powinieneś skontaktować się ze swoim hostingiem, a jeszcze w innym przypadku odbiorca musi zgłosić problem administratorowi swojej poczty.

Błędy Mailer-Daemon SMTP 4xx i 5xx – jaka jest różnica?

Kod rozpoczynający się od 4 oznacza problem tymczasowy. Serwer w tej chwili nie wykonał operacji, ale dostarczenie może zostać ponowione. Jeżeli w DSN widzisz dodatkowo Action: delayed, nie wysyłaj od razu kilku kolejnych kopii wiadomości – serwer nadal próbuje ją dostarczyć.

Kod rozpoczynający się od 5 oznacza błąd trwały. Serwer zakończył próbę dostarczenia i powtarzanie dokładnie tej samej operacji bez usunięcia przyczyny niczego nie zmieni. Trzeba wtedy sprawdzić pełny kod i opis diagnostyczny, poprawić wskazany problem i dopiero później wysłać wiadomość ponownie.

Najczęstsze błędy Mailer-Daemon i SMTP

Kod i standardowy komunikatCo oznacza?Gdzie szukać problemu?
421 – Service not available, closing transmission channelSerwer chwilowo nie może obsłużyć połączenia i zamyka sesję SMTP.Na serwerze, który zwrócił kod. Podczas dostarczania do adresata będzie to zazwyczaj serwer odbiorcy.
450 – Requested mail action not taken: mailbox unavailableDocelowa skrzynka jest chwilowo niedostępna.Po stronie skrzynki albo serwera odbiorcy.
451 – Requested action aborted: local error in processingSerwer przerwał operację z powodu lokalnego błędu przetwarzania.Na serwerze, który zwrócił 451.
452 – Requested action not taken: insufficient system storageSerwer nie ma wystarczających zasobów lub przestrzeni do wykonania operacji.Na serwerze, który zwraca kod 452.
550 – Requested action not taken: mailbox unavailableTrwałe odrzucenie operacji. Dokładny powód wskazuje rozszerzony kod i dalszy opis.Odrzuca serwer obsługujący dostarczenie; przyczyna może dotyczyć odbiorcy albo nadawcy.
552 – Requested mail action aborted: exceeded storage allocationPrzekroczono określony limit, np. pojemność lub dopuszczalny rozmiar danych.Serwer odbiorcy odrzuca operację; szczegółowy kod wskazuje, którego limitu dotyczy problem.
553 – Requested action not taken: mailbox name not allowedProblem dotyczy nazwy lub składni adresu użytego w transakcji SMTP.Zależnie od rozszerzonego kodu – adres odbiorcy albo nadawcy.
554 – Transaction failedSerwer odrzucił całą transakcję SMTP.Na serwerze, który zwrócił 554. Przyczynę określa dalszy Diagnostic-Code.

421 – Service not available, closing transmission channel

Standardowy komunikat brzmi:

421 – Service not available, closing transmission channel

Kod 421 oznacza, że serwer pocztowy, który go zwrócił, nie może w tej chwili kontynuować obsługi połączenia i zamyka kanał SMTP. Nie jest to informacja o nieistniejącym adresie ani o trwałym odrzuceniu wiadomości – klasa 4xx wskazuje problem tymczasowy. W praktyce kod może pojawić się podczas przeciążenia usługi, ograniczenia ruchu albo czasowej niedostępności serwera. Jeżeli problem występuje wyłącznie przy wiadomościach kierowanych do jednej domeny, bardzo istotne jest sprawdzenie, jaki serwer widnieje jako Remote-MTA.

Jak naprawić błąd 421 – Service not available? Jeżeli otrzymałeś DSN z informacją Action: delayed, nie wysyłaj kolejnej kopii – serwer będzie ponawiał próbę automatycznie. Jeżeli program nie zdołał przekazać wiadomości do Twojego serwera i od razu pokazał kod 421, odczekaj i spróbuj ponownie. Jeśli kolejna próba również kończy się tym samym komunikatem, sprawdź nazwę serwera w błędzie i skontaktuj się z administratorem tej usługi.

450 – Requested mail action not taken: mailbox unavailable

Standardowy komunikat brzmi:

450 – Requested mail action not taken: mailbox unavailable

Kod 450 oznacza, że wskazana skrzynka nie może w tej chwili obsłużyć żądanej operacji. Jest to błąd tymczasowy, a więc zasadniczo różni się od 550, który oznacza trwałą odmowę. Adres odbiorcy może być całkowicie prawidłowy i nadal istnieć – serwer po prostu nie akceptuje operacji w tym konkretnym momencie. Jeżeli system wysyłający przyjął już wiadomość do kolejki, powinien podjąć ponowną próbę bez Twojej ingerencji.

Jak naprawić błąd 450 – Requested mail action not taken? Jeśli wiadomość ma status opóźnionej, zaczekaj na automatyczną próbę dostarczenia. Jeżeli po pewnym czasie błąd pojawi się ponownie i nadal dotyczy tego samego odbiorcy, skontaktuj się z nim innym kanałem. Odbiorca lub administrator jego poczty powinien wtedy sprawdzić stan konkretnej skrzynki.

451 – Requested action aborted: local error in processing

Standardowy komunikat brzmi:

451 – Requested action aborted: local error in processing

Kod 451 oznacza lokalny błąd przetwarzania na serwerze, który zwrócił odpowiedź. Słowo „local” odnosi się właśnie do tego serwera – nie do Twojego komputera i nie automatycznie do Twojego programu pocztowego. System rozpoczął obsługę żądania, ale nie mógł jej w danym momencie zakończyć. Jeżeli Remote-MTA wskazuje serwer odbiorcy, to właśnie tam wystąpił błąd przetwarzania. Jeżeli kod zwraca własny SMTP, diagnostykę kierujesz do swojego operatora.

Jak naprawić błąd 451 – local error in processing? Pozwól serwerowi ponowić próbę albo spróbuj ponownie później. Jeżeli kolejne wiadomości do tej samej domeny również kończą się kodem 451, przekaż administratorowi pełny Diagnostic-Code, nazwę serwera oraz godzinę wystąpienia problemu. To znacznie ułatwi odnalezienie zdarzenia w logach.

452 – Requested action not taken: insufficient system storage

Standardowy komunikat brzmi:

452 – Requested action not taken: insufficient system storage

Kod 452 oznacza, że serwer wykonujący operację nie ma w tym momencie wystarczających zasobów systemowych lub przestrzeni. To wciąż błąd tymczasowy, dlatego różni się od trwałego 552 – exceeded storage allocation. Problem znajduje się na serwerze zwracającym kod i nie naprawisz go poprzez zmianę treści zwykłej wiadomości czy ponowne wpisanie adresu odbiorcy. Przy dostarczaniu poczty do zewnętrznej domeny będzie to najczęściej infrastruktura odbiorcy.

Jak naprawić błąd 452 – Insufficient system storage? Poczekaj na ponowienie dostarczenia. Jeżeli kod 452 nadal pojawia się przy kolejnych próbach, administrator serwera zwracającego komunikat musi sprawdzić jego zasoby, kolejkę lub limity. Jeśli błąd dotyczy serwera odbiorcy, sam nadawca nie ma możliwości bezpośredniego zwiększenia dostępnej przestrzeni.

550 – Requested action not taken: mailbox unavailable

Standardowy komunikat brzmi:

550 – Requested action not taken: mailbox unavailable

Kod 550 oznacza trwałe odrzucenie operacji i należy do najczęściej spotykanych odpowiedzi SMTP. Sam numer 550 nie wystarcza jednak do postawienia diagnozy. 550 5.1.1 wskazuje problem z docelowym adresem skrzynki, natomiast 550 5.7.1 odnosi się do autoryzacji lub polityki dostarczania. Możesz również spotkać np. 550 5.7.26, gdy serwer odrzuca wiadomość z powodu problemów z uwierzytelnianiem nadawcy. Dlatego przy tym kodzie dalsza część zwrotki jest ważniejsza niż samo słowo „550”.

Jak naprawić błąd 550? Nie wysyłaj tej samej wiadomości ponownie bez sprawdzenia dalszej części komunikatu. Przy 550 5.1.1 zweryfikuj pełny adres odbiorcy – szczególnie literówki przed i po znaku @. Przy kodach z grupy 5.7.x sprawdź treść wiadomości, domenę oraz konfigurację systemu wysyłającego. Jeżeli komunikat dotyczy bezpieczeństwa lub podejrzanej korespondencji, pomocny będzie też poradnik jak bezpiecznie korzystać z poczty e-mail.

552 – Requested mail action aborted: exceeded storage allocation

Standardowy komunikat brzmi:

552 – Requested mail action aborted: exceeded storage allocation

Kod 552 oznacza przekroczenie limitu określonego przez system pocztowy. Standardowy komunikat odnosi się do dostępnej przestrzeni, ale rozszerzony status dokładniej pokazuje, czego dotyczy ograniczenie. 5.2.2 – Mailbox full oznacza pełną skrzynkę odbiorcy, natomiast inne warianty mogą dotyczyć np. maksymalnego rozmiaru wiadomości lub jej zawartości. To ważne rozróżnienie, ponieważ problemu z pełną skrzynką nie naprawisz zmniejszeniem własnego folderu „Wysłane”, a limit załącznika możesz rozwiązać bez angażowania administratora.

Jak naprawić błąd 552 – exceeded storage allocation? Najpierw odczytaj rozszerzony kod i tekst. Jeżeli skrzynka odbiorcy jest pełna, jej właściciel musi zwolnić miejsce. Jeśli wiadomość przekracza dopuszczalny rozmiar, zmniejsz załączniki albo prześlij większy plik przez Dysk Google, OneDrive czy inną usługę udostępniania plików. Jeżeli serwer wskazuje niedozwoloną zawartość, usuń konkretny blokowany element.

553 – Requested action not taken: mailbox name not allowed

Standardowy komunikat brzmi:

553 – Requested action not taken: mailbox name not allowed

Kod 553 oznacza problem z nazwą lub składnią adresu wykorzystanego w transakcji SMTP. Nie musi chodzić wyłącznie o adres odbiorcy. Rozszerzone statusy pozwalają rozróżnić m.in. nieprawidłowy adres docelowy od błędu w adresie nadawcy. Jest to więc jeden z tych przypadków, w których szczególnie ważne jest przeczytanie całej odpowiedzi, a nie tylko pierwszych trzech cyfr.

Jak naprawić błąd 553 – mailbox name not allowed? Sprawdź dokładnie adres wskazany w komunikacie. Usuń przypadkowe spacje, zweryfikuj część przed znakiem @, nazwę domeny oraz jej końcówkę. Jeżeli błąd wskazuje adres nadawcy, sprawdź adres wpisany w konfiguracji konta pocztowego. Jeśli wskazuje odbiorcę, popraw jego adres i wyślij wiadomość ponownie.

554 – Transaction failed

Standardowy komunikat brzmi:

554 – Transaction failed

Kod 554 oznacza, że serwer odrzucił całą transakcję SMTP. Jest to bardzo ogólny komunikat i sam w sobie nie mówi, czy problem dotyczy zawartości wiadomości, routingu, bezpieczeństwa czy konfiguracji. Dlatego przy 554 zawsze trzeba przeczytać rozszerzony kod i dalszy opis diagnostyczny. Przykładowo 554 5.6.0 może wskazywać problem z formatem wiadomości, natomiast 554 5.4.6 może dotyczyć pętli routingu. Jeżeli serwer dopisuje własny opis, właśnie on powinien być podstawą dalszej diagnostyki.

Jak naprawić błąd 554 – Transaction failed? Odczytaj cały komunikat po kodzie 554 i nie zmieniaj losowo ustawień SMTP czy hasła. Jeśli błąd dotyczy konstrukcji wiadomości, utwórz nową wiadomość od początku zamiast przekazywać problematyczną korespondencję. Jeżeli kod wskazuje routing lub konfigurację serwera, przekaż pełną zwrotkę administratorowi usługi pocztowej.

Co oznaczają kody 5.1.1, 5.2.2, 5.4.7 i 5.7.1?

Rozszerzony status składa się z trzech części. Pierwsza cyfra określa wynik: 2.x.x oznacza powodzenie, 4.x.x problem tymczasowy, a 5.x.x trwałe niepowodzenie. Druga cyfra wskazuje obszar problemu: x.1.x adres, x.2.x skrzynkę, x.3.x system pocztowy, x.4.x routing lub sieć, x.5.x protokół, x.6.x treść wiadomości, a x.7.x bezpieczeństwo i politykę. Trzecia cyfra doprecyzowuje konkretny przypadek.

Dlatego 550 5.1.1 i 550 5.7.1 nie są tym samym błędem mimo identycznego podstawowego kodu 550. W kolejnych poradnikach warto już rozpatrywać je jako osobne problemy, ponieważ mają inne przyczyny i inne rozwiązania.

Korzystasz z hostingu? Sprawdź logi pocztowe

Jeżeli korzystasz z poczty we własnej domenie i hostingu, masz jedną istotną przewagę podczas diagnostyki: administrator serwera może zajrzeć bezpośrednio do logów SMTP. W zależności od konfiguracji część informacji znajdziesz również samodzielnie w panelu takim jak DirectAdmin lub cPanel. Dzięki temu można sprawdzić dokładną godzinę próby wysyłki, adres nadawcy i odbiorcy, odpowiedź zdalnego serwera oraz etap, na którym wiadomość została zatrzymana. Jeżeli nie masz dostępu do logów, przekaż supportowi pełny kod Mailer-Daemon, adres odbiorcy oraz przybliżony czas wysyłki. W praktyce dostawca hostingu może wtedy znacznie szybciej ustalić techniczną przyczynę niż użytkownik darmowej skrzynki, który nie ma bezpośredniego dostępu do infrastruktury serwera.

Jak diagnozować komunikat Mailer-Daemon?

Jeżeli otrzymałeś zwrotkę od Mailer-Daemon, zacznij od pełnego kodu, np. 550 5.1.1 User unknown, 550 5.7.1 Delivery not authorized, 452 Requested action not taken: insufficient system storage albo 554 5.6.0. Następnie sprawdź Status, Remote-MTA i Diagnostic-Code. Te informacje pozwalają ustalić zarówno rodzaj problemu, jak i serwer, który zwrócił odpowiedź.

Jeżeli kod rozpoczyna się od 4, sprawdź, czy wiadomość ma status delayed – w takim przypadku system nadal może automatycznie ponawiać dostarczenie. Jeżeli kod rozpoczyna się od 5, odczytaj dokładny rozszerzony status i usuń wskazaną przyczynę przed ponownym wysłaniem. Przy problemie technicznym zachowaj pełną zwrotkę zamiast przesyłać administratorowi wyłącznie informację „mail nie działa”. Im więcej danych z DSN przekażesz, tym szybciej można ustalić przyczynę odrzucenia wiadomości.