Przejdź do treści

Jak działa poczta tymczasowa: droga jednej wiadomości od wysłania do usunięcia

Weźmy jedną wiadomość. Wymyślony sklep Bright Parcel właśnie zarejestrował odwiedzającego z adresem quietfox42@veylax.com, a jego system naciska odpowiednik przycisku Wyślij przy e-mailu z potwierdzeniem. Chwilę później ta wiadomość jest na ekranie odwiedzającego, a dobę później nie istnieje już nigdzie w usłudze skrzynek. Ten artykuł śledzi ją na całej drodze.

Jak więc działa poczta tymczasowa? Korzysta ze zwykłej maszynerii poczty internetowej z jednym zwrotem akcji: strona odbierająca przyjmuje pocztę dla dowolnej nazwy użytkownika w swoich domenach i trzyma ją tylko krótko. Serwer nadawcy sprawdza w DNS rekord MX domeny, łączy się ze wskazanym hostem przez SMTP na porcie 25 i dostarcza wiadomość. System poczty tymczasowej parsuje ją, pokazuje w skrzynce i usuwa według harmonogramu. W VookMail rekordy MX domen wskazują na dostawcę dostarczania poczty, który odbiera sesję SMTP i przekazuje każdą wiadomość do VookMail przez HTTPS.

Etap 1: Wyjście od nadawcy

Aplikacja Bright Parcel buduje wiadomość. Wiadomość to ustrukturyzowany tekst, ułożony według Internet Message Format (RFC 5322): nagłówki takie jak From, To i Subject, potem pusta linia, potem treść. Aplikacja zwykle nie dostarcza jej bezpośrednio. Przekazuje ją wychodzącej usłudze pocztowej, albo przez uwierzytelnione połączenie SMTP na porcie 587 (lub 465 z TLS od początku), albo przez API webowe firmy wysyłającej.

Pierwsze opóźnienie może wystąpić już tutaj. Wiele aplikacji wkłada pocztę wychodzącą do kolejki zadań i obrabia ją partiami, zwłaszcza platformy marketingowe. Chwila, w której serwis mówi „sprawdź pocztę”, może więc wyprzedzać moment, w którym poczta faktycznie wychodzi. W naszym przykładzie powiedzmy, że kolejka zajmuje dwadzieścia sekund. Nic jeszcze nie dotarło do strony odbiorcy i żadna usługa poczty tymczasowej nie może tego zobaczyć ani przyspieszyć.

Etap 2: Ustalenie, gdzie veylax.com przyjmuje pocztę

Serwer wychodzący czyta część po znaku @, tu veylax.com, i pyta DNS o rekordy MX tej domeny. Rekord MX (mail exchanger) wskazuje serwer, który przyjmuje pocztę dla domeny. W notacji pliku strefy rekordy domeny mogłyby wyglądać tak. Nazwy są wymyślone na potrzeby przykładu:

example-temp.com. 3600 IN MX 10 mx1.mail-provider.example.
example-temp.com. 3600 IN MX 20 mx2.mail-provider.example.

3600 to TTL (time to live), czyli liczba sekund, przez które resolver może trzymać tę odpowiedź w pamięci podręcznej. 10 i 20 to preferencje: nadawcy próbują najpierw najniższej liczby i przechodzą do wyższej, jeśli ta jest nieosiągalna. Nazwa hosta musi mieć własny rekord A (IPv4) lub AAAA (IPv6). Rekord MX powinien wskazywać nazwę hosta, a nie bezpośrednio adres IP ani alias CNAME.

To samo zapytanie możesz wykonać sam dla dowolnej domeny:

SystemPolecenie
Wiersz polecenia Windowsnslookup -type=mx example.com
Windows PowerShellResolve-DnsName example.com -Type MX
macOS i Linuxdig MX example.com +short

Systemy przeciwdziałania nadużyciom używają tego samego zapytania, by wykrywać domeny kierujące pocztę do znanej infrastruktury jednorazowej. To jeden z powodów, dla których niektóre serwisy rozpoznają domeny poczty tymczasowej nawet wtedy, gdy sama domena jest nowa.

Dwa przypadki brzegowe w DNS

Domena bez rekordu MX nie jest automatycznie nieosiągalna. RFC 5321, standard SMTP, definiuje rozwiązanie zastępcze: nadawca może potraktować własny rekord A lub AAAA domeny jako domyślny host pocztowy. Domena, która nie chce żadnej poczty, może to zadeklarować przez null MX (RFC 7505), czyli rekord MX z preferencją 0 i pojedynczą kropką jako hostem. Domeny poczty tymczasowej publikują oczywiście zwykłe rekordy MX, bo odbieranie to cały ich sens.

Utrudnić może też buforowanie, gdy usługa dodaje domenę. Resolwery, które niedawno dostały odpowiedź „nie ma takiego rekordu”, mogą ją trzymać, aż skończy się czas negatywnego buforowania, określony przez rekord SOA domeny (RFC 2308). Zupełnie nowa domena może więc potrzebować czasu, zanim zacznie niezawodnie odbierać od wszystkich nadawców.

Etap 3: Rozmowa dwóch serwerów

Serwer wychodzący Bright Parcel otwiera teraz połączenie TCP z preferowanym hostem MX na porcie 25. SMTP to protokół tekstowy: klient wysyła polecenia, a serwer odpowiada ponumerowanymi odpowiedziami. Oto uproszczona sesja dla naszej wiadomości, w której S: to odbiorca, a C: to nadawca. Hosty i wartość rozmiaru należą do tego wymyślonego przykładu.

S: 220 mx1.mail-provider.example ESMTP ready
C: EHLO out.brightparcel.example
S: 250-mx1.mail-provider.example
S: 250-STARTTLS
S: 250 SIZE 26214400
C: STARTTLS
S: 220 Ready to start TLS
(TLS handshake, then EHLO again)
C: MAIL FROM:<bounce@brightparcel.example>
S: 250 OK
C: RCPT TO:<quietfox42@veylax.com>
S: 250 OK
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: (headers, blank line, body, then a line with a single dot)
S: 250 Queued as 8F2A1C
C: QUIT
S: 221 Bye

PolecenieCelCo to znaczy dla poczty tymczasowej
EHLOPrzedstawia nadawcę i pyta, co serwer obsługujeOdpowiedź wymienia rozszerzenia, takie jak STARTTLS, i maksymalny SIZE
STARTTLSPrzełącza połączenie na TLS (RFC 3207)Chroni ten jeden odcinek. To nie jest szyfrowanie end-to-end
MAIL FROMUstawia nadawcę koperty, czyli miejsce, dokąd idą zwrotyCzęsto różni się od widocznego wiersza From, zwłaszcza u nadawców masowych
RCPT TOWskazuje odbiorcęOdbiorca catch-all odpowiada 250 dla dowolnej nazwy użytkownika w swoich domenach
DATARozpoczyna treść wiadomościKończy się pojedynczą kropką w osobnej linii
QUITZamyka sesjęDostarczenie rozstrzygnęło się już przy 250 po DATA

Moment, w którym odpowiedzialność zmienia właściciela

Ostatnie 250 to najważniejsza linia w sesji. Do tej chwili wiadomość należy do serwera Bright Parcel i jeśli połączenie się zerwie, ten próbuje ponownie. Potem odbiorca przyjął odpowiedzialność. Panel nadawcy zwykle pokaże teraz „dostarczono”, co oznacza tylko, że ten odcinek się udał. Nie znaczy, że jakikolwiek człowiek coś zobaczył.

Kody odpowiedzi wyjaśniają sporo z zachowań, które ludzie obserwują:

  • 2xx to sukces, a 250 oznacza przyjęcie.
  • 3xx to krok pośredni, a 354 mówi nadawcy, by przesłał wiadomość.
  • 4xx to błąd tymczasowy, na przykład 421 lub 451. Nadawca trzyma wiadomość w kolejce i ponawia próbę.
  • 5xx to błąd trwały, na przykład 550 (skrzynka niedostępna lub odrzucona) albo 552 (za duża). Nadawca się poddaje i zwykle generuje wiadomość zwrotną.

Różnica między 4xx a 5xx tłumaczy większość „wolnej” poczty. Gdyby odbiorca odpowiedział w tym miejscu 451, na przykład z powodu greylistingu (RFC 6647), nasza wiadomość czekałaby w kolejce Bright Parcel, ani zgubiona, ani dostarczona. RFC 5321 radzi, by odstęp między próbami wynosił zwykle co najmniej 30 minut, a czas rezygnacji co najmniej cztery do pięciu dni, choć prawdziwe systemy ustalają własne harmonogramy i wiele ponawia szybciej. Dlatego jedno potwierdzenie może pojawić się po kilku sekundach, a następne po dwudziestu minutach, i w żadnym z tych przypadków nic nie jest nie tak.

Dwa zestawy adresów

SMTP ma dwie warstwy adresowania. Koperta, czyli MAIL FROM i RCPT TO, to to, czego serwery używają do routingu. Nagłówki, From:, To: i Subject:, są częścią treści wiadomości i to je widzisz na ekranie. Mogą się różnić. Newsletter może wyświetlać To: subscribers, chociaż odbiorcą na kopercie był twój adres tymczasowy. System odbierający porządkuje więc wiadomości według odbiorcy z koperty, czyli wartości, na której można polegać. Dlatego też nagłówek Return-Path, dodawany przy końcowym dostarczeniu, zapisuje nadawcę z koperty, a nie widoczny adres From.

Etap 4: Dlaczego quietfox42 nie musiał istnieć

Przy RCPT TO zwykły serwer pocztowy sprawdza, czy skrzynka istnieje, i odpowiada 550, jeśli nie. Domena poczty tymczasowej działa odwrotnie. Pracuje jako odbiorca catch-all, czyli z wildcardem: przyjmowana jest każda część lokalna (to, co przed znakiem @).

Ten jeden wybór umożliwia natychmiastowe adresy. Gdy VookMail pokazuje losowy adres, nic nie musiało powstać na żadnym serwerze pocztowym. Gdy klikasz Nowy, wpisujesz własną nazwę użytkownika, wybierasz domenę i naciskasz strzałkę, ta nazwa już „istnieje”, bo domena przyjmuje wszystkie nazwy. Aplikacja musi tylko pokazać ci wiadomości, których odbiorca zgadza się z adresem na twoim ekranie.

Do tych nazw stosują się dwie małe reguły. Standard mówi, że część lokalna może rozróżniać wielkość liter, ale niemal wszystkie prawdziwe systemy traktują Test@ i test@ jako jedną skrzynkę, więc system poczty tymczasowej rozsądnie normalizuje wielkość liter, żeby sposób zapisu nadawcy nie rozbił skrzynki na dwie. A RFC 5321 ogranicza część lokalną do 64 oktetów, z praktycznym limitem 254 znaków dla całego adresu, więc generowane nazwy powinny trzymać się dobrze w tych granicach.

Etap 5: Od protokołu pocztowego do żądania webowego

Nasza wiadomość została teraz przyjęta przez maszynę, która mówi SMTP. Strona pokazująca skrzynkę to aplikacja webowa. Coś musi te dwie rzeczy połączyć.

Prowadzenie serwera pocztowego wystawionego na cały internet to prawdziwa praca: TLS, zalewy połączeń, kolejki, złośliwe oprogramowanie i utrzymywanie dobrej reputacji. Dlatego wiele nowoczesnych aplikacji zleca stronę SMTP wyspecjalizowanemu dostawcy poczty przychodzącej, a wiadomości odbiera jako żądania webowe, wzorzec często nazywany inbound parse webhook. VookMail korzysta z tego modelu. Działa to tak:

  1. Hosty MX dostawcy przyjmują wiadomość od serwera nadawcy, jak w sesji powyżej.
  2. Dostawca pakuje ją, albo jako surowe źródło MIME, albo jako już sparsowane pola, takie jak nadawca, odbiorcy, temat, tekst, HTML i załączniki.
  3. Wysyła ten pakiet w żądaniu HTTPS POST do punktu końcowego prowadzonego przez aplikację poczty tymczasowej, co szyfruje treść między tymi dwoma punktami.
  4. Aplikacja odpowiada statusem sukcesu. Jeśli jest nieosiągalna albo zwraca błąd, porządny dostawca ponawia próbę według własnej polityki.
  5. Aplikacja waliduje żądanie, dopasowuje odbiorcę do adresu i zapisuje wiadomość tymczasowo.
KwestiaWłasny odbiornik SMTPDostawca poczty przychodzącej plus HTTPS
EkspozycjaPort 25 otwarty dla każdego hosta w internecieDostawca przejmuje ruch SMTP, a aplikacja widzi tylko żądania HTTPS
Skoki ruchuOperator musi zapewnić mocInfrastruktura dostawcy radzi sobie z falami
Parsowanie MIMEOperator pisze lub utrzymuje parserCzęsto robi to dostawca, choć można nadal użyć surowego źródła
Dopasowanie do aplikacji webowejPotrzebny most między kolejką poczty a aplikacjąWiadomość przychodzi jak każde żądanie API
ZależnośćMniej stron zewnętrznychOpiera się na dostępności i konfiguracji dostawcy

Ostatni wiersz to prawdziwy koszt. Jeśli dostawca poczty przychodzącej ma awarię albo problem z konfiguracją, dostarczanie do każdej domeny za nim może się zatrzymać do czasu naprawy, nawet gdy sama strona poczty tymczasowej działa normalnie. Wiadomości odrzucone w tym czasie z błędem tymczasowym mogą jeszcze dotrzeć, gdy pierwotni nadawcy ponowią próbę, zależnie od tego, jak długo ich kolejki je trzymają.

Ochrona punktu końcowego

Punkt końcowy webhooka to publiczny adres URL, więc każdy mógłby próbować wysłać na niego sfałszowaną wiadomość. Staranne implementacje zwykle łączą kilka zabezpieczeń:

  • Weryfikacja podpisu, gdy dostawca podpisuje każde żądanie, a aplikacja odrzuca te, które się nie zgadzają.
  • Tajna ścieżka lub token znany tylko dostawcy i aplikacji.
  • Ograniczenie żądań do opublikowanych zakresów adresów dostawcy, tam gdzie istnieją.
  • Limity rozmiaru, które odrzucają zbyt duże ładunki wcześnie, by chronić pamięć i miejsce.
  • Idempotencja. Dostawcy ponawiają próby, więc ta sama wiadomość może przyjść dwa razy, a Message-ID lub identyfikator zdarzenia dostawcy zapobiega duplikatom.

Etap 6: Rozbieranie wiadomości na części

To, co przychodzi, nie jest jeszcze czymś, co człowiek może wygodnie czytać. MIME (Multipurpose Internet Mail Extensions, RFC 2045 i kolejne) pozwala jednej wiadomości nieść kilka części w różnych formatach. Nasz e-mail z potwierdzeniem mógłby być ułożony tak, z dodaną dla przykładu fakturą:

CzęśćCo zawiera
multipart/mixedZewnętrzny kontener, gdy są załączniki
multipart/alternativeTa sama treść dwa razy, jako text/plain i text/html. Czytnik pokazuje najbogatszą formę, jaką obsługuje
multipart/relatedHTML zgrupowany z obrazami wbudowanymi, wskazywanymi przez identyfikatory cid:
Część załącznikaNagłówek Content-Disposition: attachment i nazwa pliku, potem zakodowane dane pliku

Nad tym wszystkim są nagłówki, w tym Message-ID, Date i linie śladu Received, które zapisują każdy serwer, przez który wiadomość przeszła. Jeśli kiedyś zechcesz wiedzieć, gdzie wystąpiło opóźnienie, znaczniki czasu w liniach Received to miejsce, w które warto zajrzeć.

Parser musi też odwrócić kilka kodowań. Base64 niesie załączniki binarne i powiększa je mniej więcej o jedną trzecią, więc plik 10 MB staje się wiadomością o rozmiarze około 13 do 14 MB. Quoted-printable obsługuje tekst w większości ASCII, zapisując znaki specjalne jako =XX. Wartość charset= mówi, jak zakodowany jest tekst, zwykle UTF-8, co ma duże znaczenie w usłudze używanej w wielu językach. A tematy ze znakami spoza ASCII używają składni =?UTF-8?B?...?= lub =?UTF-8?Q?...?= z RFC 2047.

Jak sprawić, by HTML był bezpieczny do wyświetlenia

HTML w poczcie piszą obcy ludzie, więc przeglądarka poczty nie może pozwolić mu uruchamiać kodu w kontekście strony. Staranne implementacje zwykle usuwają skrypty, atrybuty obsługi zdarzeń i niebezpieczne schematy URL oraz wyświetlają wiadomość w odizolowanej ramce, by jej style i treść nie wpływały na otaczającą stronę.

Zdalne obrazy też wymagają namysłu. Wczytanie jednego mówi jego nadawcy, że wiadomość została otwarta, i tak działają piksele śledzące. VookMail usuwa ukryte piksele śledzące i trzyma obrazy wyłączone, dopóki ich nie dopuścisz.

Przeglądarka może też zrobić coś pożytecznego ze sparsowanym tekstem. W naszej wiadomości z potwierdzeniem VookMail pokazuje kod weryfikacyjny lub link potwierdzający nad wiadomością, żeby nikt nie musiał przewijać długiego szablonu, by go znaleźć.

Załączniki

Załączniki są dekodowane i zapisywane tymczasowo, by można je było pobrać. W VookMail popularne pliki programów, takie jak .exe, .bat i .apk, są odrzucane, archiwa takie jak .zip pokazują ostrzeżenie, a obowiązują maksymalne rozmiary. Załączniki są usuwane razem z wiadomościami. Pamiętaj, że bezpieczeństwo pliku nie ma nic wspólnego z tym, gdzie go przechowywano: dokument z makrami jest tak samo niebezpieczny po pobraniu ze skrzynki tymczasowej.

Etap 7: Dotarcie na ekran

Nasza wiadomość jest już zapisana, ale przeglądarka pokazująca quietfox42@veylax.com jeszcze o tym nie wie. Aplikacje webowe mają kilka sposobów, by się dowiedzieć:

TechnikaJak działaKompromisy
Short pollingStrona pyta serwer co kilka sekundProste i niezawodne, ale generuje powtarzane żądania
Long pollingŻądanie pozostaje otwarte, aż pojawią się wieści lub minie limit czasuMniej pustych odpowiedzi, więcej otwartych połączeń
Server-Sent EventsJeden długotrwały strumień od serwera do przeglądarkiWydajne w jedną stronę, łączy się ponownie samo
WebSocketsStałe połączenie dwukierunkoweW pełni interaktywne, wymaga dedykowanej infrastruktury

Skrzynka VookMail sprawdza pocztę co kilka sekund, a przycisk Odśwież sprawdza ręcznie, na przykład gdy urządzenie spało albo zerwała się sieć. Te kilka sekund to zwykle najkrótszy odcinek podróży. Jeśli poczta wydaje się wolna, czas niemal zawsze zniknął wcześniej, w kolejce nadawcy lub przy ponowieniu próby.

Tworzenie adresu przechodzi też przez niewielką ochronę przed botami: krótkie obliczenie w przeglądarce odwiedzającego, znane jako proof of work. Zwykłego odwiedzającego kosztuje to prawie nic, a masowe tworzenie adresów robi droższym.

Adres można też otworzyć gdzie indziej. Ponieważ sam adres identyfikuje skrzynkę, przeniesienie jej na inne urządzenie wymaga tylko przekazania adresu. Przycisk QR w VookMail pokazuje go jako kod, który telefon może zeskanować, więc ta sama skrzynka da się otworzyć tam, a aplikacje na Androida i Huawei pokazują pocztę w ten sam sposób. To wygodne, a jednocześnie pokazuje, dlaczego te skrzynki mają niską prywatność: każdy, kto zna lub odgadnie adres, może otworzyć tę skrzynkę. Losowy adres to bezpieczniejszy wybór, bo jest znacznie trudniejszy do odgadnięcia niż krótka nazwa.

Etap 8: Usunięcie

Mniej więcej dobę po tym, jak nasze potwierdzenie przyszło, znika. Przechowywanie w systemie poczty tymczasowej realizuje się zwykle przez znacznik czasu przy każdej zapisanej wiadomości i zaplanowane zadanie, które usuwa wszystko starsze niż limit. Załączniki trzymane jako osobne pliki odchodzą w tym samym czasie. Inne rozwiązania używają wygasania na poziomie magazynu, gdy sama baza danych usuwa stare rekordy dzięki ustawieniu time-to-live. Zadania wsadowe to jeden z powodów, dla których usługi mówią o wygasaniu „po około” dobie, bo dokładny moment zależy od tego, kiedy zadanie się uruchamia. W VookMail wiadomości, załączniki i adresy są usuwane w ciągu około 24 godzin, a przycisk Usuń pozwala usunąć je wcześniej.

Krótkie przechowywanie służy dwóm celom naraz. Chroni prywatność, a jest też koniecznością pojemnościową: skrzynki jednorazowe dostają dużo poczty marketingowej i trzymanie jej długo nikomu by nie służyło. Nasza polityka prywatności i strona o metodologii opisują postępowanie z danymi dokładniej.

Zwróć uwagę, czego usunięcie nie dotyka. Bright Parcel nadal ma adres w swojej tabeli klientów, a jego logi nadal pokazują, że „dostarczono”. Zniknęła tylko kopia po stronie skrzynki.

Cała trasa w jednej tabeli

EtapSkładnikProtokół lub mechanizmTypowy port lub format
RedagowanieAplikacja lub klient pocztyWiadomość RFC 5322, MIMETekst z nagłówkami i częściami
Przekazanie do wysyłkiUsługa pocztowa nadawcySubmission SMTP lub API wysyłkowe587 lub 465
Wyszukanie trasyResolver DNSZapytania MX, potem A lub AAAADNS, port 53
Przekazanie dalejSerwer nadawcy do MX odbiorcySMTP z oportunistycznym STARTTLS25
Odbiór przychodzącyDostawca dostarczania pocztyPrzyjmowanie catch-all dla domenOdpowiedzi 250, 4xx, 5xx
PrzekazanieDostawca do VookMailŻądanie HTTPS443
PrzetwarzanieAplikacja poczty tymczasowejParsowanie MIME, czyszczenie, zapisBaza danych i magazyn plików
WyświetleniePrzeglądarka lub aplikacja mobilnaSprawdzanie co kilka sekund plus ręczne OdświeżHTTPS
WygaśnięcieZaplanowane czyszczenieReguła przechowywaniaW VookMail około doby

Gdzie wchodzą SPF, DKIM i DMARC

Te trzy pojawiają się w niemal każdej rozmowie o e-mailu, więc warto dokładnie powiedzieć, gdzie leżą na tej trasie. Wszystkie dotyczą udowadniania, kto wysłał wiadomość. Żaden z nich nie decyduje o tym, czy adres tymczasowy może ją odebrać.

SPF (RFC 7208) to rekord DNS TXT wymieniający serwery uprawnione do wysyłania z użyciem domeny w nadawcy koperty, a odbiorcy porównują z nim łączący się adres IP. DKIM (RFC 6376) to kryptograficzny podpis, który domena nadawcy dodaje do wybranych nagłówków i treści, weryfikowany kluczem publicznym w DNS. DMARC (RFC 7489) to polityka mówiąca odbiorcom, co zrobić, gdy wiadomość nie przejdzie dopasowania SPF i DKIM do widocznej domeny From, i dokąd wysyłać raporty.

Dla naszej wiadomości te kontrole zachodzą mniej więcej przy Etapie 3. Serwer Bright Parcel został sprawdzony względem rekordu SPF, a jego podpis DKIM można zweryfikować opublikowanym kluczem. Dostawca odbierający może użyć tych wyników, by oznaczyć podszywanie się. Przekazywanie nieco komplikuje sprawę: podpis DKIM przetrwa, dopóki wiadomość nie jest zmieniana, a wynik SPF dotyczy tylko ostatniego łączącego się serwera. Gdy poczta jest przekazywana dalej, ARC (Authenticated Received Chain, RFC 8617) może zapisać wcześniejsze wyniki. Ostatecznie jednak to rekord MX i przyjęcie przez odbiorcę sprawiają, że wiadomość zostaje dostarczona.

Gdy wiadomość nie przychodzi

Każdy z powyższych etapów to miejsce, w którym wiadomość może się zatrzymać. Praca od strony nadawcy zwykle najszybciej znajduje problem.

EtapCo poszło nie takCo widzisz lub robisz
Przed wysłaniemLiterówka w adresiePoczta poszła gdzie indziej albo wróciła. Użyj przycisku Kopiuj
Wyjście od nadawcyWiadomość stoi w kolejce albo partie są wolneMinuta lub dwie to norma u niektórych usług. Poczekaj
Wyjście od nadawcySerwis po cichu pomija domeny jednorazoweNic nie przychodzi. Uszanuj to i użyj tam stałego adresu lub aliasu
SMTPOdpowiedź 4xx i późniejsza ponowna próbaWiadomość przychodzi z opóźnieniem, które może wynosić minuty lub więcej
SMTPWiadomość przekracza limit rozmiaruOdrzucenie 552 i zwrot do nadawcy
Dostawca poczty przychodzącejAwaria lub problem z DNSDostarczanie do wszystkich domen może się wstrzymać do czasu rozwiązania
SkrzynkaOkno czasowe minęło albo adres został usuniętyWiadomość przychodzi za późno, by ją zobaczyć

Odczytywanie awarii, gdy masz stronę wysyłającą

Jeśli testujesz własną aplikację, widzisz znacznie więcej niż użytkownik, a nasz poradnik o e-mailu tymczasowym dla programistów idzie dalej w projektowaniu testów. Rozsądna kolejność sprawdzania:

  1. Otwórz logi pocztowe aplikacji albo panel dostawcy wysyłki. Czy wiadomość została przyjęta i jaki końcowy status pokazuje?
  2. Poszukaj zwrotów lub zdarzeń webhooków zgłaszających 5xx ze strony odbiorcy. Tekst po kodzie często podaje przyczynę.
  3. Rozwiąż rekordy MX domeny odbiorcy z sieci swojego serwera, używając poleceń powyżej. Problem z resolverem tam może nie pokazać się nigdzie indziej.
  4. Upewnij się, że twoja domena wysyłająca ma skonfigurowane SPF, DKIM i DMARC, bo niektórzy odbiorcy traktują nieuwierzytelnioną pocztę podejrzliwie.
  5. Wyślij małą wiadomość w czystym tekście, by wykluczyć filtrowanie ze względu na rozmiar lub treść.
  6. Używaj osobnej nazwy użytkownika na każdy test, żeby wiedzieć, który przebieg wygenerował którą wiadomość.

Jeśli wiadomość trafia do skrzynki późno, przeczytaj jej nagłówki Received od dołu. Duża przerwa między dwoma znacznikami czasu pokazuje, który odcinek ją zatrzymał, z uwzględnieniem ewentualnej różnicy zegarów tych serwerów.

Po co wiele domen?

VookMail pozwala wybierać spośród ponad 30 domen. Są ku temu praktyczne powody. Testerzy mogą rozdzielać projekty albo zestawy testów według domeny. Jeśli jedna domena ma problem z DNS lub dostarczaniem, inne mogą nadal działać. I mniejsza jest zależność od jednej nazwy, co pomaga, gdy systemy wysyłające oceniają domeny odbiorców, a nie tylko nadawców.

Wiele domen nie jest narzędziem do obchodzenia serwisów, które celowo odrzucają adresy jednorazowe. Jeśli usługa odrzuca domenę poczty tymczasowej, sygnalizuje, że chce trwałego kontaktu, a właściwym wyborem jest twój prawdziwy adres albo stały alias dla tej usługi. Odmowa może przyjść w formularzu, przez listę domen lub zapytanie MX jak w Etapie 2, albo później, gdy nadawca odmówi wysłania.

Co trasa mówi o bezpieczeństwie

Po prześledzeniu wiadomości widać dokładnie, jak daleko sięga każda ochrona.

Szyfrowanie jest stosowane odcinek po odcinku. STARTTLS chroni każdy odcinek między serwerami, gdy obie strony go obsługują, i często jest oportunistyczne, więc połączenie może wrócić do czystego tekstu, chyba że polityka taka jak MTA-STS (RFC 8461) wymaga inaczej. HTTPS chroni odcinki przekazywania i oglądania. Nic z tego nie jest szyfrowaniem end-to-end: każdy system, który obsługuje wiadomość, może ją przeczytać.

Dostęp to druga połowa. Bez hasła o wejściu decyduje znajomość adresu, więc nigdy nie pozwól, by cokolwiek poufnego było tam wysyłane. Krótkie przechowywanie ogranicza szkody po każdej ekspozycji, ale oznacza też, że skrzynka nie może służyć jako zapis. A ponieważ treść jest niezaufana, phishing i złośliwe oprogramowanie mogą trafić do tej skrzynki tak jak do każdej innej. Skrzynka tymczasowa chroni twój prawdziwy adres, a niewiele robi dla twojego urządzenia, jeśli otworzysz zły plik. Odpowiednie zastosowania to prywatność, kontrola spamu i testowanie, jak określa nasz regulamin, a ważne konta należą gdzie indziej.

Jak to wygląda w VookMail

Cała powyższa maszyneria działa, zanim przyjdziesz. Gdy otwierasz VookMail, adres jest gotowy. Możesz kliknąć Nowy, by wpisać nazwę użytkownika i wybrać domenę, albo użyć żółtego przycisku „Losowy”, opisanego w naszym poradniku o tym, jak korzystać z VookMail. Nie ma czego rejestrować, bo domena już przyjmuje każdą nazwę. Gdy nadawca dostarcza pocztę, dostawca stojący za rekordami MX odbiera ją przez SMTP i przekazuje przez HTTPS, a ona pojawia się w twojej skrzynce razem z załącznikami przy następnym sprawdzeniu strony. Mniej więcej dobę później jej nie ma.

Usługa jest też dostępna jako aplikacja w Google Play i Huawei AppGallery.

Jeszcze kilka pytań technicznych

Jakiego portu używa poczta przychodząca?

Dostarczanie między serwerami pocztowymi używa SMTP na porcie TCP 25. Porty 587 i 465 służą do przekazywania poczty wychodzącej do własnego dostawcy, więc pojawiają się w Etapie 1, a nie w Etapie 3. Dlatego też połączenie domowe blokujące port 25 zwykle nadal może wysyłać przez swojego dostawcę.

Czy usługa poczty tymczasowej widzi moje wiadomości?

Technicznie tak. Wiadomość dociera do usługi w czytelnej postaci, bo tylko tak może ją tobie pokazać, a to samo dotyczy dostawcy dostarczania, który obsługuje ją po drodze. Dotyczy to też zwykłej poczty hostowanej, chyba że treść jest szyfrowana end-to-end. To kolejny powód, by trzymać wszystko wrażliwe poza skrzynką tymczasową.

Dlaczego nadawca może myśleć, że wiadomość dostarczono, skoro nic nie widzę?

Bo „dostarczono” w panelu nadawcy odnosi się do odpowiedzi 250 serwera odbierającego. Zdarzenia po tym punkcie, takie jak etap przekazywania albo spóźniony przyjazd po wyczyszczeniu skrzynki, są dla nadawcy niewidoczne.

Czy nadawca może poznać, że mój adres jest catch-all?

Często. Narzędzie weryfikujące może przetestować zmyśloną nazwę użytkownika w domenie, a jeśli serwer ją przyjmie, domena prawdopodobnie jest catch-all. Samo to nie dowodzi, że domena jest jednorazowa, bo wiele zwykłych domen firmowych jest skonfigurowanych tak samo, więc takie narzędzia zwykle łączą to z innymi sygnałami.

Czy odpowiedzi na wiadomość działają?

Odpowiedzi z twojej strony nie są sednem projektu, bo skrzynka głównie odbiera. Jeśli potrzebujesz wymiany w dwie strony, lepiej pasuje zwykła skrzynka albo usługa aliasów obsługująca odpowiedzi.

Więcej o samym produkcie znajdziesz w naszym FAQ. VookMail należy do sieci darmowych narzędzi PAYATE.