| Termin | Definicja |
|---|---|
| kod błędu SMTP | Kod błędu SMTP to trzycyfrowa odpowiedź serwera pocztowego opisująca wynik próby dostarczenia wiadomości. Trzycyfrowa odpowiedź serwera SMTPKod błędu SMTP jest trzycyfrową odpowiedzią przekazywaną przez serwer pocztowy podczas komunikacji prowadzonej według protokołu Simple Mail Transfer Protocol. Kod informuje klienta pocztowego albo inny serwer, jaki jest aktualny stan obsługi polecenia. Sama liczba nie opisuje całej sytuacji: do odpowiedzi należy również tekst wyjaśniający, na przykład „Mailbox unavailable” albo „Authentication required”. Program powinien interpretować przede wszystkim kod liczbowy, natomiast tekst może różnić się między dostawcami poczty i nie zawsze jest przeznaczony do automatycznego przetwarzania. Pierwsza cyfra określa ogólną klasę odpowiedzi. Kody zaczynające się od 2 oznaczają pomyślne wykonanie operacji, kody z pierwszą cyfrą 3 wskazują na konieczność wykonania kolejnego kroku, a kody rozpoczynające się od 4 lub 5 sygnalizują niepowodzenie. Druga cyfra wskazuje grupę funkcjonalną, na przykład składnię, połączenie albo system pocztowy, a trzecia doprecyzowuje konkretny przypadek. Taki układ nie oznacza jednak, że każdy serwer obsługuje wszystkie rozszerzone kody identycznie. Jak odczytywać klasy 2xx, 3xx, 4xx i 5xxOdpowiedzi z klasy 2xx potwierdzają prawidłowe wykonanie czynności. Kod 220 jest typową odpowiedzią powitalną po nawiązaniu połączenia z serwerem SMTP. Kod 221 informuje o zakończeniu sesji po poleceniu QUIT. Kod 250 oznacza pomyślne wykonanie polecenia; może potwierdzić między innymi HELO lub EHLO, MAIL FROM, RCPT TO albo DATA, zależnie od etapu dialogu. Kod 251 może oznaczać, że adresata nie ma na lokalnym serwerze, ale serwer przyjmie wiadomość i spróbuje ją przekazać dalej. Kody 3xx nie są jeszcze błędami końcowymi. Kod 334 jest używany w przebiegu niektórych mechanizmów uwierzytelniania SMTP i oznacza oczekiwanie na kolejną odpowiedź klienta. Kod 354 po poleceniu DATA wskazuje, że serwer oczekuje treści wiadomości zakończonej sekwencją końca danych. Klasy 4xx i 5xx mają odmienną semantykę. Błąd 4xx jest zwykle tymczasowy, więc klient może ponowić próbę po pewnym czasie. Błąd 5xx oznacza trwałe odrzucenie bieżącej operacji, choć usunięcie przyczyny może pozwolić na późniejsze wysłanie wiadomości. Przykładowo kod 421 informuje o niedostępności usługi i często oznacza zamknięcie połączenia. Kod 450 może wskazywać, że żądana operacja dotycząca skrzynki nie została wykonana z przyczyny tymczasowej. Kod 451 oznacza lokalny błąd przetwarzania, a 452 może informować o niewystarczających zasobach systemu. Wśród odpowiedzi trwałych spotyka się kod 550, używany między innymi przy niedostępnej skrzynce lub odrzuceniu adresata, kod 551 przy niedostępnym lokalnie adresacie oraz kod 552 przy przekroczeniu przydzielonego limitu skrzynki lub rozmiaru wiadomości. Konkretne znaczenie trzeba zawsze odnieść do polecenia, po którym serwer zwrócił odpowiedź. Różnica między kodem SMTP a rozszerzonym kodem statusuW logach pocztowych często występuje zapis zawierający zarówno podstawowy kod SMTP, jak i rozszerzony kod statusu zgodny z RFC 3463 oraz późniejszymi aktualizacjami. Podstawowy kod ma trzy cyfry, na przykład 550. Rozszerzony kod ma postać trzech grup cyfr oddzielonych kropkami, na przykład 5.1.1. Pierwsza grupa rozszerzonego kodu również opisuje klasę odpowiedzi, druga grupę tematyczną, a trzecia bardziej szczegółowy przypadek. Kod 5.1.1 jest powszechnie stosowany przy sytuacji, w której adres skrzynki odbiorcy jest nieprawidłowy albo nie istnieje, ale dokładna decyzja zależy od serwera i jego konfiguracji. Nie należy utożsamiać samego kodu 550 z jedną konkretną przyczyną. Ten sam kod może zostać zwrócony po RCPT TO z powodu nieistniejącego adresu, polityki odrzucania odbiorcy, ograniczenia dostępu albo filtrów antyspamowych. Jeżeli serwer odrzuca treść wiadomości po poleceniu DATA, znaczenie może być związane z zawartością, reputacją nadawcy, załącznikiem lub regułą bezpieczeństwa. Przy analizie warto zapisać pełny komunikat, nazwę hosta, moment wystąpienia, użyte szyfrowanie, etap sesji oraz kierunek połączenia. Sam fragment „SMTP error 550” jest zbyt ubogi, aby wiarygodnie wskazać źródło problemu. Postępowanie przy błędach wysyłania pocztyDiagnostykę należy rozpocząć od ustalenia, czy błąd pojawia się przy połączeniu z serwerem poczty wychodzącej, podczas uwierzytelniania, przy wskazaniu nadawcy, przy wskazaniu odbiorcy czy dopiero po przekazaniu treści wiadomości. Kod 535 zwykle wskazuje na nieudaną autoryzację, ale nie przesądza, czy przyczyną jest błędne hasło, wyłączone logowanie SMTP, wymaganie hasła aplikacji albo niezgodny mechanizm uwierzytelniania. Kod 530 może oznaczać konieczność uwierzytelnienia przed wykonaniem żądanej operacji. W takiej sytuacji należy sprawdzić nazwę użytkownika, port, ustawienia szyfrowania i wymagania dostawcy konta, bez wielokrotnego wysyłania tej samej wiadomości. Jeżeli odpowiedź należy do klasy 4xx, ponowienie próby może być właściwe, lecz klient powinien stosować opóźnienie zamiast wykonywać natychmiastową pętlę połączeń. Powtarzające się próby mogą doprowadzić do dodatkowych ograniczeń. Przy kodzie 5xx trzeba najpierw poprawić przyczynę: zweryfikować adres odbiorcy, zmniejszyć rozmiar załączników, sprawdzić limit skrzynki albo skontaktować się z dostawcą poczty z pełnym komunikatem i identyfikatorem sesji. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC oraz podzespołów, a podczas diagnozy problemów z wysyłaniem poczty może sprawdzić konfigurację klienta, połączenie sieciowe i sposób prezentowania kodu SMTP. |