Blazalek.com

4.3.0SMTP 4.3.0: Nieokreślony tymczasowy status systemu pocztowego

Docelowy system pocztowy uniemożliwił tę próbę, ale nie podał dokładniejszego szczegółu systemowego, więc treść uzasadnienia po kodzie niesie więcej informacji niż same cyfry. Ponawiaj w ograniczonej kolejce grupowanej po systemie docelowym, zachowaj pełną odpowiedź i zleć administratorowi wysyłki oddzielenie warunku po stronie celu od limitu nałożonego na ruch wysyłkowy, zamiast uznawać odbiorcę za nieprawidłowego.

Kategoria
System pocztowy
Klasa
Niepowodzenie tymczasowe
Ponowienie
Kontrolowane ponowienie
Supresja
Sprawdź pełny kontekst

W skrócie

Awaria systemu pocztowego jest tymczasowa, lecz nieokreślona. Ponawiaj z limitem, czytaj pełną odpowiedź, aby rozpoznać właściwą gałąź, i nie wykluczaj z powodu samego 4.3.0. Pierwszy działa administrator wysyłki: nad ograniczoną kolejką ponowień i nad warunkiem po stronie nadawcy, jeśli odpowiedź go nazywa.

Co oznacza ten kod

X.3.0 to status systemu pocztowego oznaczający inny lub nieokreślony warunek; 4.3.0 nadaje mu klasę tymczasową i obejmuje warunki systemu docelowego, których nie opisuje żaden dokładniejszy status w tej klasie.

Przykłady od dostawców

Przykład Rackspace
451 4.3.0 <user@domain.com>: Temporary lookup failure
Przykład Rackspace
451 4.3.0 <servername[xx.xx.xx.xx]>: Client host rejected: Throttled - Too much spam from your mail server. Try again later.
Przykład Gmail
451 4.3.0 Email server has temporarily rejected this message. Go to About SMTP error messages for more information. - gsmtp
Przykład Gmail
451 4.3.0 Multiple destination domains per transaction is unsupported. Please try again. For more information, go to About SMTP error messages and review RFC 5321 specifications. - gsmtp
Przykład Gmail
421 4.3.0 Temporary System Problem. Try again later. For more information, go to About SMTP error messages. - gsmtp
Przykład Gmail
smtp;451 4.3.0 Mail server temporarily rejected message. - gsmtp

Znaczenie techniczne

Docelowy system zwykle istnieje, lecz nienazwany warunek systemowy wygenerował ten status dostarczenia. X.3.0 jest wpisem zbiorczym klasy systemu pocztowego, więc sam nie niesie żadnego szczegółu i nie zastępuje dokładniejszego statusu X.3, jeśli system docelowy ma taki do zwrócenia. Zaakceptowane odpowiedzi zapisane pod 4.3.0 sięgają od ogólnego tymczasowego problemu systemowego, przez tymczasowe niepowodzenie odpytania, które system docelowy wykonuje, po limit nałożony przez ten system na ruch wysyłkowy albo na kształt transakcji.

Status dostarczenia

Klasa 4 oznacza, że warunek może ustąpić; nie dowodzi trwałej awarii ani nieprawidłowego adresu. RFC 2034 wymaga zgodności klasy statusu rozszerzonego z klasą odpowiedzi SMTP, a RFC 5248 zapisuje powiązany podstawowy kod odpowiedzi jako niewyłączny, dlatego zaakceptowane przykłady 4.3.0 występują raz po odpowiedzi 451, a raz po 421, bez zmiany znaczenia samego statusu rozszerzonego. Zmienia się natomiast stan sesji: 421 to odpowiedź zwracana wtedy, gdy system zamyka kanał transmisyjny, a 451 odrzuca wewnątrz sesji, która pozostaje otwarta, więc ten sam status dociera do nadawcy przy dwóch różnych stanach połączenia.

Klasa
Niepowodzenie tymczasowe
Ponowienie
Kontrolowane ponowienie
Supresja
Sprawdź pełny kontekst

Decyzja o ponowieniu

Ustaw ograniczone ponowienia z backoffem, jitterem, kluczami idempotencji oraz limitem prób lub czasu i grupuj próby po systemie docelowym, adresie IP połączenia i czasie, aby warunek jednego systemu nie sterował niepowiązanymi trasami. Przy każdej próbie zapisuj, która odpowiedź podstawowa niosła ten status, bo obie zostawiają połączenie w innym stanie: 421 zamyka kanał transmisyjny, więc nic więcej nie zostaje na nim zaproponowane, a kolejna próba musi otworzyć nowe połączenie, natomiast 451 odrzuca wewnątrz sesji, która pozostaje otwarta, więc pozostałych odbiorców i pozostałe wiadomości można w niej jeszcze zaproponować. Próby trwają tylko dopóki ten cel zwraca klasę tymczasową i limit nie jest wyczerpany; wyczerpanie limitu kończy ponawianie i uruchamia eskalację, a nie nowy cykl ponowień. Jeśli treść odpowiedzi nazwała warunek po stronie nadawcy, popraw ten warunek przed kolejną próbą, bo niezmieniona transakcja odtwarza ten sam wynik. Inny system docelowy to nowa trasa, a nie ciąg dalszy tej sekwencji.

Decyzja o supresji

Nie wykluczaj na podstawie samego 4.3.0. Kod opisuje warunek systemu pocztowego i nie ocenia, czy adres odbiorcy istnieje, czy jest poprawnie zapisany, ani czy przyjmuje pocztę, a zaakceptowane przykłady przypisują te same cyfry systemowi docelowemu, odpytaniu, od którego on zależy, oraz ruchowi samego serwera wysyłającego. Wykluczaj wyłącznie na niezależnym trwałym dowodzie albo na udokumentowanej polityce zastosowanej po przejrzeniu pełnej historii odpowiedzi.

Najczęstsze przyczyny

  • Ogólny tymczasowy warunek wewnątrz docelowego systemu pocztowego, którego serwer nie nazywa. Tabela błędów SMTP Google dokumentuje odpowiedź 421 zaczynającą się od „Temporary System Problem. Try again later.” oraz odpowiedź 451 zaczynającą się od „Email server has temporarily rejected this message.”, obie kontynuowane odsyłaczem do dokumentacji Google i znacznikiem gsmtp.
  • Tymczasowe niepowodzenie odpytania, które system docelowy wykonuje, zanim może przyjąć wiadomość. Dokumentacja odbić hostowanej poczty Rackspace wymienia wiersz 451 4.3.0 o treści „Temporary lookup failure”, poprzedzony tokenem adresu w nawiasach ostrych, który serwer wypełnia w momencie odrzucenia.
  • Limit nałożony przez system docelowy na ruch albo na transakcję, a nie na odbiorcę. Rackspace dokumentuje wiersz 451 4.3.0 o treści „Client host rejected: Throttled - Too much spam from your mail server. Try again later.”, poprzedzony tokenem serwera i adresu wypełnianym w momencie odrzucenia, a Google dokumentuje wiersz 451 4.3.0 zaczynający się od „Multiple destination domains per transaction is unsupported. Please try again.” z odwołaniem do RFC 5321.

Kroki diagnostyczne

  1. Potwierdź, że odpowiedź niesie dokładnie rozszerzony status 4.3.0, i zapisz, z którą podstawową odpowiedzią wystąpiła. Zaakceptowane przykłady łączą go z 451 i z 421, a RFC 5248 zapisuje powiązany podstawowy kod odpowiedzi jako niewyłączny, więc sama podstawowa odpowiedź nie identyfikuje warunku. Rozstrzyga natomiast, jak skończyła się sesja, i po to się ją zapisuje: 421 zamknęło kanał transmisyjny, a 451 nie.
  2. Ustal, który system zwrócił ten status, i zachowaj komplet dowodów: surowy wiersz odpowiedzi, etap SMTP, system docelowy, adres IP połączenia, identyfikator wiadomości i znacznik czasu. Porównaj logi nadawcy i systemu docelowego tam, gdzie dostępne są oba.
  3. Przeczytaj pełną treść odpowiedzi, aby rozdzielić możliwe przyczyny, bo same cyfry są ogólne. Sformułowanie o tymczasowym problemie systemowym lub tymczasowym odrzuceniu wskazuje na system docelowy, sformułowanie o niepowodzeniu odpytania wskazuje na zależność, którą ten system odpytuje, a sformułowanie o ograniczeniu ruchu lub o nieobsługiwanej transakcji wskazuje na ruch wysyłkowy albo na kształt transakcji.
  4. Zanim wyślesz kolejną próbę, nazwij warunek, który ją dopuszcza: cel nadal zwraca klasę tymczasową, ustalony limit nie jest wyczerpany, a warunek po stronie nadawcy nazwany w odpowiedzi został poprawiony.

Działania z podziałem na role

Administrator nadawcy

  • Ponawiaj w ograniczonej kolejce z backoffem i jitterem, a powtarzające się wyniki grupuj po systemie docelowym, adresie IP połączenia i czasie, aby warunek obejmujący cały system nie został odczytany jako warunek pojedynczego odbiorcy.
  • Zadziałaj na tej gałęzi, którą nazywa odpowiedź: przy zgłoszonym ograniczeniu ruchu zmniejsz równoległość i tempo wysyłki oraz przejrzyj reputację serwera wysyłającego, a przy zgłoszonym braku obsługi wielu domen docelowych wysyłaj jedną domenę docelową na transakcję.

Administrator odbiorcy

  • Sprawdź stan systemu pocztowego oraz odpytań, od których on zależy, w oknie czasu, w którym zwrócono ten status, i potwierdź, czy działał wtedy warunek kolejki, przestrzeni dyskowej lub zależności.
  • Zwracaj dokładniejszy status X.3, jeśli system nim dysponuje, i zachowuj treść uzasadnienia po kodzie, aby nadawca mógł oddzielić warunek systemu docelowego od limitu ruchu lub transakcji.

Dostawca

  • Zbadaj tymczasowy warunek usługi stojący za ogólnym statusem i zachowaj pełną odpowiedź SMTP, adres IP połączenia oraz znaczniki czasu dla objętego okna.
  • Udokumentuj, jakie odpowiedzi platforma zwraca pod 4.3.0 i co każda z nich oznacza, aby nadawcy odróżnili problem systemowy po stronie platformy od limitu nałożonego na ich własny ruch.

Źródła

Poniższe źródła określają znaczenie tego kodu rozszerzonego — przede wszystkim rejestr IANA i powiązane RFC. Jeśli na stronie są przykłady od dostawców, pochodzą z ich opublikowanej dokumentacji. Otwórz link, żeby zobaczyć oryginalne brzmienie w kontekście.

Ostatnia weryfikacja:

Znalazłeś błąd lub nieścisłość? Zgłoś poprawkę.

Wskaż element tej strony, który wymaga sprawdzenia. Każde zgłoszenie jest weryfikowane ręcznie.

Rodzaj problemu

Opisz problem i, jeśli chcesz, zaproponuj poprawione brzmienie.

Przy zgłoszeniu merytorycznym podaj publiczne źródło, jeśli je masz.

Możesz wysłać zgłoszenie anonimowo. Odpowiedź nie jest gwarantowana.

Nie wklejaj pełnych odpowiedzi bounce, nagłówków, adresów e-mail, Message-ID, tokenów ani innych danych osobowych. Przed wysłaniem zredaguj materiał dowodowy.

Wysłanie korekty przekazuje wpisane dane do Formspree, żebym mógł zweryfikować i poprawić tę stronę. Przeczytaj informację o prywatności.

Poradnik

Incydenty

Wojtek Blazalek

Ekspert ds. dostarczalności e-mail

Utknąłeś na tym kodzie błędu? Pomagam zespołom ustalać przyczyny odrzuceń oraz naprawiać uwierzytelnianie i reputację, żeby wiadomości trafiały do skrzynki.

Praktyczna praca nad dostarczalnością dla firm wysyłających na dużą skalę.