Przejdź do treści

Ustawienia plików cookie

Prosimy wybrać, na które rodzaje plików cookie Państwo zezwalają. Wybór można zmienić w dowolnym momencie w Ustawieniach plików cookie na dole każdej strony. Polityka prywatności

Niezbędne

Zawsze włączone

Potrzebne do logowania, zachowania koszyka i zapamiętania wyborów. Są zawsze włączone.

Jakie pliki cookie?
  • weboke_sessie, weboke_klant, weboke_remember: sesja i pozostanie zalogowanym
  • weboke_basket: koszyk
  • wkBtwIncl: wyświetlanie cen z VAT lub bez VAT
  • wok_cookies: wybór dotyczący plików cookie, 12 miesięcy

Mierzą, która reklama prowadzi do odwiedzin lub zamówienia, abyśmy nie płacili za reklamy, które nic nie dają.

Jakie pliki cookie?
  • Google Ads przez Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, reklamy w ChatGPT
  • wok_aff: przez którego partnera trafili Państwo do nas (program partnerski), 60 dni

4,6

Kraj i język

Każdy kraj ma własną stronę z cenami i stawką VAT tego kraju.

Wyświetl

Odczytanie zwrotki (bounce)

Moduł 6: Zwroty (bounce) i rozwiązywanie problemów · Czas czytania: 11 minut

Cel lekcji: Po tej lekcji będą Państwo potrafili przeanalizować komunikat o błędzie dotyczący niedostarczonej wiadomości (bounce): który serwer zgłosił błąd, dla jakiego adresu, co oznacza kod oraz czy problem jest tymczasowy, czy trwały.

Kluczowe pojęcia: bounce, Mailer-Daemon, delivery status notification (DSN, RFC 3464), Reporting-MTA, Remote-MTA, Final-Recipient, Action (failed, delayed), Status, Diagnostic-Code, Will-Retry-Until, kod odpowiedzi (RFC 5321), rozszerzony kod statusu X.Y.Z (RFC 3463), komunikat o opóźnieniu, backscatter

Czym jest bounce?

Jeśli serwer pocztowy nie może dostarczyć wiadomości, odsyła komunikat z powrotem do nadawcy. Nazywa się to bounce (lub: non-delivery report, NDR). Przychodzi od nadawcy w postaci Mailer-Daemon@..., MAILER-DAEMON lub Mail Delivery System, z tematem takim jak:

  • Mail delivery failed: returning message to sender
  • Undelivered Mail Returned to Sender
  • Delivery Status Notification (Failure)
  • Warning: message ... delayed 24 hours (to nie jest bounce, lecz komunikat o opóźnieniu, patrz dalej)

Wiele osób od razu wyrzuca taki komunikat albo zniechęca się angielskim tekstem. Szkoda, ponieważ bounce niemal zawsze dokładnie mówi, co poszło nie tak. Trzeba tylko wiedzieć, gdzie szukać.

Bounce zawsze ma pusty adres nadawcy koperty (Return-Path: <>). Jest to celowe: bounce na bounce mógłby inaczej spowodować niekończącą się pętlę (RFC 5321).

Kto odrzucił wiadomość?

Wiadomość przechodzi przez co najmniej dwa serwery: Państwa dostawcy oraz odbiorcy. Bounce może powstać w dwóch sytuacjach:

  1. Serwer odbiorcy odrzuca wiadomość podczas sesji SMTP (lekcja 1.2), na przykład po RCPT TO (adres nieznany) lub po treści (spam lub DMARC). Państwa własny serwer otrzymuje to odrzucenie i tworzy z niego bounce dla Państwa. Błąd pochodzi wtedy od odbiorcy, a bounce od Państwa własnego serwera.
  2. Państwa własny serwer poddaje się, na przykład ponieważ odbiorca był niedostępny przez kilka dni, albo ponieważ sami osiągnęli Państwo pewien limit.

To rozróżnienie jest ważne: w pierwszym przypadku trzeba wiedzieć, co nie odpowiadało odbiorcy, w drugim przypadku problem leży bliżej.

Część czytelna dla człowieka

Na górze znajduje się tekst przeznaczony dla ludzi. Różni się w zależności od oprogramowania pocztowego, ale niemal zawsze zawiera te same elementy:

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  pieter.devries@example.net
    host mx1.example.net [198.51.100.20]
    SMTP error from remote mail server after RCPT TO:<pieter.devries@example.net>:
    550 5.1.1 <pieter.devries@example.net>: Recipient address rejected: User unknown

Proszę czytać to w ten sposób:

FragmentCo oznacza
permanent errorTrwały błąd: serwer nie podejmie ponownej próby
pieter.devries@example.netAdres, dla którego wystąpił błąd (przy kilku odbiorcach: tylko ten)
host mx1.example.net [198.51.100.20]Serwer odbiorcy, z którym nawiązano kontakt
SMTP error from remote mail serverBłąd pochodzi od odbiorcy, nie od Państwa własnego serwera
after RCPT TONa jakim etapie sesji: tutaj przy podawaniu odbiorcy
550 5.1.1 ... User unknownKod i tekst od odbiorcy: ten adres nie istnieje

Część dla maszyn: DSN

Pod tekstem zwykle znajduje się część przeznaczona dla programów, czyli delivery status notification (RFC 3464). Ma zawsze taką samą budowę, co ułatwia odczyt:

Reporting-MTA: dns; mail.hosting.example

Action: failed
Final-Recipient: rfc822;pieter.devries@example.net
Status: 5.1.1
Remote-MTA: dns; mx1.example.net
Diagnostic-Code: smtp; 550 5.1.1 <pieter.devries@example.net>: Recipient address rejected: User unknown
PoleZnaczenie
Reporting-MTASerwer, który napisał ten bounce (zwykle Państwa własny serwer wysyłający)
Final-RecipientAdres, którego dotyczy sprawa
Actionfailed (niepowodzenie, trwałe), delayed (odroczone, próba będzie ponawiana), czasem delivered lub relayed
StatusRozszerzony kod statusu, patrz niżej
Remote-MTASerwer po drugiej stronie, który udzielił odpowiedzi
Diagnostic-CodeDosłowna odpowiedź tego serwera: tu znajduje się prawdziwy powód
Will-Retry-UntilPrzy delayed: do kiedy serwer będzie ponawiał próby

Na samym dole znajduje się oryginalna wiadomość albo tylko jej nagłówki. Można tam zobaczyć, jakiej wiadomości to dotyczyło oraz jaki adres nadawcy i jaki Return-Path zostały użyte. Czasem jest to klucz do rozwiązania problemu (patrz przykład DMARC w zadaniu).

Odczytywanie kodów

Istnieją dwa rodzaje kodów i zazwyczaj oba znajdują się w bounce.

Kod odpowiedzi (RFC 5321): trzy cyfry, takie jak 550 lub 451. Pierwsza cyfra jest najważniejsza:

Zaczyna się odZnaczenieCo robi serwer wysyłający
2PowodzenieNic więcej, wiadomość została przyjęta
4Błąd tymczasowyZachowuje wiadomość i ponawia próbę później
5Błąd trwałyPoddaje się i wysyła bounce

Rozszerzony kod statusu (RFC 3463): trzy liczby oddzielone kropkami, takie jak 5.1.1 lub 4.7.500. Pierwsza liczba to znów 2, 4 lub 5. Druga liczba mówi, gdzie leży problem:

Druga liczbaTematPrzykłady
X.1Adres5.1.1 adres nie istnieje, 5.1.2 domena nie istnieje
X.2Skrzynka pocztowa5.2.2 / 4.2.2 skrzynka pełna, 5.2.1 skrzynka wyłączona
X.3System pocztowy5.3.4 wiadomość zbyt duża
X.4Sieć i trasa4.4.1 brak odpowiedzi, 4.4.7 zbyt długo w kolejce, 5.4.4 brak trasy
X.5Protokół5.5.1 nieprawidłowe polecenie
X.6Treść5.6.0 problem z treścią lub kodowaniem
X.7Bezpieczeństwo i polityka5.7.1 odrzucono, 5.7.26 brak uwierzytelnienia (Gmail), 5.7.509 DMARC (Microsoft)

Trzecia liczba to dokładny powód. Więksi odbiorcy używają do tego własnych numerów, na przykład Gmail z zakresem 5.7.25 do 5.7.30 oraz Microsoft z 4.7.500 i 5.7.509. Znajdują się one w ich własnej dokumentacji (lekcja 6.2).

Zasada praktyczna: kod zaczynający się od 5, z 7 na środku (5.7.x), niemal zawsze dotyczy kwestii polityki: uwierzytelniania, reputacji lub spamu. Ponowne wysłanie nic tu nie pomoże; trzeba coś zmienić.

Odroczone to jeszcze nie niepowodzenie

Przy błędzie tymczasowym (4xx) Państwa serwer zachowuje wiadomość i ponawia próbę. RFC 5321 zaleca podtrzymywanie prób przez co najmniej cztery do pięciu dni, z odstępem co najmniej pół godziny między próbami. Wiele serwerów wysyła po kilku godzinach lub po dniu komunikat o opóźnieniu:

Action: delayed
Status: 4.7.500
Diagnostic-Code: smtp; 451 4.7.500 Server busy. Please try again later from [203.0.113.25].
Will-Retry-Until: Thu, 12 Nov 2026 08:58:40 +0100

Oznacza to: nie wysyłać ponownie, serwer sam jeszcze próbuje. Jeśli mimo to wyślą Państwo wiadomość ponownie, odbiorca może ją w rezultacie otrzymać dwukrotnie. Jeśli ostatecznie nie uda się przed Will-Retry-Until, nadejdzie prawdziwy bounce, często z kodem 4.4.7 (wiadomość wygasła w kolejce).

Fałszywe zwroty: backscatter

Otrzymują Państwo nagle dziesiątki zwrotów dla wiadomości, których nigdy nie wysyłali? Proszę wtedy spojrzeć na oryginalną wiadomość na dole. Jeśli widnieje tam nadawca z Państwa domeny, ale serwer i tekst, których Państwo nie znają, oznacza to, że spamer użył Państwa adresu jako nadawcy. Odbiorcy wysyłają swoje zwroty do Państwa. Nazywa się to backscatter.

Państwa skrzynka pocztowa zazwyczaj nie jest wtedy zhakowana (różnicę wyjaśnia lekcja 3.4). Co pomaga: polityka DMARC zaostrzana krok po kroku (lekcja 4.4), dzięki czemu odbiorcy odrzucają sfałszowaną pocztę, zanim powstanie bounce. Warto jednak sprawdzić folder wysłanych wiadomości oraz skontaktować się z dostawcą, aby upewnić się, że naprawdę nic nie zostało wysłane z Państwa skrzynki.

W praktyce: tak to wygląda

W WebOké oprócz samego bounce'a mogą Państwo sprawdzić w Śledzenie e-mail w DirectAdmin, co serwer zrobił z wiadomością: Dostarczono, Odroczone lub Niepowodzenie, wraz z odpowiedzią serwera odbiorcy. Inne panele mają zwykle podobny dziennik poczty lub "śledzenie wiadomości"; w Microsoft 365 nazywa się to na przykład śledzeniem wiadomości. Warto najpierw tam zajrzeć, jeśli nie otrzymali Państwo bounce'a lub jeśli ktoś twierdzi, że Państwa wiadomość nie dotarła.

Podsumowanie

  • Bounce przychodzi od Mailer-Daemon i ma pusty Return-Path. Warto go przeczytać, ponieważ zwykle dokładnie mówi, co poszło nie tak.
  • Proszę najpierw sprawdzić, kto zgłosił błąd (SMTP error from remote mail server = odbiorca) i dla jakiego adresu.
  • W części dla maszyn: Action, Status, Remote-MTA i przede wszystkim Diagnostic-Code.
  • Pierwsza cyfra: 4 = tymczasowy, 5 = trwały. Druga liczba: 1 adres, 2 skrzynka, 3 system, 4 trasa, 5 protokół, 6 treść, 7 polityka.
  • Komunikat o opóźnieniu (delayed): nie wysyłać ponownie. Zwroty dla wiadomości, których Państwo nie wysyłali: backscatter.

Quiz

1. W bounce znajduje się Action: delayed i Status: 4.4.1. Co Państwo robią?



2. W bounce znajduje się SMTP error from remote mail server after RCPT TO: ... 550 5.1.1 User unknown. Kto zgłosił błąd i o co chodzi?



3. Gdzie leży problem przy rozszerzonym kodzie statusu zaczynającym się od 5.7?



4. Nagle otrzymują Państwo wiele zwrotów dla wiadomości, których nigdy nie wysyłali, z Państwa adresem jako nadawcą. Jakie jest najbardziej prawdopodobne wyjaśnienie?



5. Gdzie w bounce znajduje się dosłowna odpowiedź serwera odbiorcy?



Zadanie

Zadanie Z6.1: Analiza trzech zwrotów (bounce). Otrzymują Państwo trzy przykładowe zwroty (bounce-1.txt, bounce-2.txt i bounce-3.txt). Dla każdego zwrotu należy podać: adres, dla którego wystąpił błąd, serwer, który zgłosił błąd (Remote-MTA), kod statusu, informację, czy jest tymczasowy czy trwały, oraz co powinien zrobić nadawca (do wyboru z listy). Program sprawdza odpowiedzi według stałego klucza i podaje wyjaśnienie dla każdego pola.

Zadanie Z6.1: Analiza trzech zwrotów (bounce)

Plik do tego zadania: bounce-1.txt, bounce-2.txt, bounce-3.txt

Proszę otworzyć trzy przykładowe zwroty (bounce) i uzupełnić po pięć pytań dla każdego z nich. Co powinien zrobić nadawca? A. Nic, czekać: serwer spróbuje ponownie. B. Sprawdzić adres lub poprosić odbiorcę innym kanałem o prawidłowy adres. C. Poprosić usługę wysyłającą o dopasowane SPF/DKIM (lub wysyłkę przez SMTP z logowaniem) i nie zaostrzać zasad DMARC. D. Wysłać mniejszy załącznik. E. Zmienić hasło. F. Poprosić odbiorcę o zwolnienie miejsca.

















Wprowadzone dane i wyniki sprawdzania nie są zapisywane. Przeglądarka zapamiętuje udzielone odpowiedzi oraz informację, czy zadanie zostało zaliczone. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało zaliczone (lub prawie zaliczone); tam można ją również usunąć.

Dalsza lektura

Kroki opisane w tych artykułach dotyczą paneli WebOké; u innych dostawców działa to w podobny sposób.

Chwileczkę…

Konfiguracja domen

Dla każdej domeny można ustawić serwery nazw, powiązanie z hostingiem oraz to, kto zostanie właścicielem.

Wczytywanie domen…