Rejestrujesz się gdzieś, czekasz na link potwierdzający – i nic. Po trzydziestu sekundach zaczynasz się zastanawiać, czy coś jest zepsute. Zwykle nie jest. Zwykle opóźnienie jest wbudowane.
Powód 1: greylisting
Wiele serwerów pocztowych celowo odrzuca wiadomość od nieznanego nadawcy przy pierwszej próbie – kodem błędu oznaczającym „spróbuj później”. Dopiero druga próba zostaje przyjęta.
Pomysł jest elegancki. Porządny serwer pocztowy ma kolejkę i ponawia próbę po kilku minutach. Skrypt spamowy nie – przerabia listę i znika. Greylisting filtruje więc nie po treści, lecz po wytrwałości.
Cena: pierwsza wiadomość od nowego nadawcy przychodzi zwykle z opóźnieniem od jednej do piętnastu minut. Każda kolejna jest natychmiast, bo para nadawca–odbiorca jest już znana.
Powód 2: kolejki po stronie nadawcy
Gdy serwis wysyła tysiąc wiadomości potwierdzających naraz, nie wychodzą one jednocześnie. Trafiają do kolejki i są przerabiane z ograniczoną prędkością – między innymi dlatego, że zbyt wiele równoczesnych połączeń do tego samego serwera odbiorcy wygląda podejrzanie.
Twoje potwierdzenie mogło więc powstać dawno temu i wciąż czekać.
Powód 3: sposób pobierania po stronie odbiorcy
Tu decyduje sposób pracy dostawcy.
Prostym rozwiązaniem jest odpytywanie (polling): w stałych odstępach sprawdza się, czy pojawiło się coś nowego. Jeśli serwis sprawdza co 30 sekund, wiadomość ma średnio 15 sekund, zanim w ogóle zostanie zauważona – w najgorszym razie 30.
Lepszym rozwiązaniem jest IMAP IDLE. Połączenie z serwerem pozostaje otwarte, a serwer sam zgłasza nową pocztę w chwili jej nadejścia. Wiadomość jest znana w ułamku sekundy zamiast po połowie interwału.
Do tego dochodzi często druga warstwa: strona w przeglądarce także co jakiś czas pyta, czy jest coś nowego. Te dwa interwały się sumują.
getSend korzysta z prostszego wariantu. Usługa na naszym serwerze łączy się ze skrzynką w losowych odstępach od 15 do 45 sekund i pobiera to, co się w niej znajduje. Interfejs w Twojej przeglądarce pyta co 3 do 13 sekund, czy pojawiło się coś nowego. Oba odstępy są celowo losowe, żeby zapytania nie trafiały wszystkie naraz. Średnio daje to około 38 sekund między dotarciem wiadomości na serwer pocztowy a jej pojawieniem się w skrzynce, a w najgorszym razie niecałą minutę.
Jak to się kumuluje
| Etap | korzystnie | niekorzystnie |
|---|---|---|
| Kolejka u nadawcy | 1 s | 60 s |
| Greylisting | 0 s | 900 s |
| Pobranie u odbiorcy | < 1 s (IDLE) | połowa interwału |
| Odświeżenie w przeglądarce | < 1 s | połowa interwału |
Greylisting jest zdecydowanie największą pozycją – i jedyną, której ani nadawca, ani odbiorca nie skróci w pojedynczym przypadku.
Co robić, gdy nic nie przychodzi
- Odczekaj dwie, trzy minuty. W większości przypadków sprawa rozwiąże się sama.
- Nie klikaj wielokrotnie „wyślij ponownie”. Powstaje wtedy kilka wiadomości, a część dostawców unieważnia wszystkie poza ostatnią – w efekcie nie działa żaden link.
- Sprawdź folder spam, jeśli korzystasz ze zwykłej skrzynki.
- Przeczytaj adres jeszcze raz. Literówka to najczęstsza przyczyna, a nikt nie dostaje o niej komunikatu.
- Dopiero potem poproś o nową wiadomość, najlepiej po pięciu minutach.
A jeśli naprawdę nigdy nie dojdzie?
Zwykle chodzi o jedną z trzech rzeczy: nadawca jest na liście blokującej, adres nie istnieje w takiej postaci, albo filtr po cichu odrzucił wiadomość. Ostatni przypadek jest najbardziej frustrujący, bo nikt nie dostaje informacji – ani Ty, ani nadawca.