| Termin | Definicja |
|---|---|
| throttling SMTP | Throttling SMTP to celowe ograniczenie tempa wysyłki, chroniące reputację nadawcy przed nagłym skokiem wolumenu. Na czym polega throttling SMTPThrottling SMTP oznacza kontrolowane ograniczanie tempa wysyłania wiadomości za pośrednictwem protokołu SMTP (Simple Mail Transfer Protocol). Ograniczenie może dotyczyć liczby połączeń otwieranych w określonym czasie, liczby wiadomości przesyłanych w jednej sesji, liczby odbiorców, liczby komend SMTP albo całkowitego wolumenu danych. Mechanizm nie musi oznaczać całkowitego zablokowania poczty. Serwer może przyjmować część wiadomości, a pozostałe opóźniać, odrzucać tymczasowo lub sygnalizować nadawcy konieczność ponowienia próby później. Throttling może być zastosowany po stronie serwera wysyłającego, dostawcy skrzynki pocztowej, serwera odbiorcy albo pośredniczącej bramy pocztowej. W praktyce limit bywa ustalany na podstawie adresu IP, domeny nadawcy, konta, poświadczeń SMTP, reputacji nadawcy lub adresu odbiorcy. Nie istnieje jedna uniwersalna wartość limitu obowiązująca dla całego SMTP. Każdy operator może ustalić własne zasady, a ich przekroczenie może skutkować odpowiedzią tymczasową, na przykład kodem SMTP z klasy 4xx. Dlaczego serwery ograniczają tempo wysyłkiGłównym celem throttlingu jest ochrona zasobów serwera oraz ograniczenie skutków nagłego wzrostu ruchu. Duża liczba wiadomości wysyłanych w krótkim czasie zwiększa obciążenie procesora, pamięci, systemu kolejkowania i łączy sieciowych. Serwer musi również wykonywać dodatkowe operacje, takie jak obsługa sesji TLS, weryfikacja nadawcy, analiza treści, sprawdzanie rekordów DNS oraz zapis komunikatów w kolejce dostarczania. Ograniczenie tempa pomaga także odróżniać normalny ruch od zachowania charakterystycznego dla spamu, przejętego konta lub błędnie skonfigurowanej aplikacji. Nagły skok liczby wiadomości może pogorszyć reputację adresu IP i domeny, zwiększyć liczbę odbić oraz doprowadzić do umieszczenia kolejnych wiadomości w folderze spamu. Throttling pozwala rozłożyć wysyłkę w czasie, dzięki czemu system może stopniowo reagować na błędy i nie powoduje przeciążenia serwerów odbiorczych. Samo ograniczenie nie gwarantuje jednak dostarczenia poczty ani dobrej reputacji nadawcy. Kody SMTP, kolejka i ponawianie dostarczeniaTypowym sygnałem zadziałania ograniczenia jest tymczasowa odpowiedź SMTP z kodem rozpoczynającym się od cyfry 4, na przykład 421 albo 451. Dokładne znaczenie zależy od komunikatu tekstowego oraz polityki danego serwera. Kod 4xx informuje, że operacja nie została trwale zaakceptowana, ale ponowienie próby może być możliwe. Inaczej działa kod z klasy 5xx, który zwykle oznacza trwałe odrzucenie wiadomości lub sesji i nie powinien być traktowany jak zwykłe opóźnienie wynikające z throttlingu. Poprawnie działający system nadawczy powinien umieścić wiadomość w kolejce i ponowić dostarczenie po przerwie. Odstęp między próbami powinien zwiększać się przy kolejnych niepowodzeniach, co ogranicza ryzyko zapętlenia i dalszego przeciążania odbiorcy. Warto analizować pełną odpowiedź serwera, czas wystąpienia błędu, adres IP użyty do połączenia oraz identyfikator kolejki. Sam wpis „mail delayed” nie wskazuje jeszcze przyczyny. Opóźnienie może wynikać z limitu liczby wiadomości, problemu z DNS, niedostępności serwera odbiorcy, błędu uwierzytelniania albo odrzucenia połączenia przez filtr antyspamowy. Rozpoznawanie i ograniczanie skutków throttlinguAnalizę należy rozpocząć od logów klienta pocztowego, aplikacji wysyłającej oraz serwera SMTP. Trzeba porównać liczbę prób dostarczenia z liczbą zaakceptowanych wiadomości i sprawdzić, czy błędy występują wobec jednego operatora, jednej domeny, konkretnego konta lub wszystkich odbiorców. Istotne są również powtarzające się kody 4xx, długość przerw między próbami, liczba równoległych połączeń oraz rozmiar partii odbiorców przekazywanych w jednej sesji. W aplikacjach korzystających z biblioteki SMTP należy upewnić się, że wiadomość nie jest wysyłana ponownie po każdym błędzie bez kontroli stanu kolejki. Ograniczenie problemu zwykle wymaga zmniejszenia równoległości połączeń, redukcji liczby odbiorców obsługiwanych w jednej partii i zastosowania kontrolowanego odstępu między wiadomościami. Ważne jest respektowanie odpowiedzi tymczasowych zamiast natychmiastowego wielokrotnego ponawiania. Należy także sprawdzić poprawność konfiguracji konta, domeny nadawcy i mechanizmu uwierzytelniania, ponieważ błędna konfiguracja może powodować odrzucenia mylone z throttlingiem. W przypadku zwykłego komputera problem może ujawniać się jako opóźnione wysyłanie, wiadomości pozostające w skrzynce nadawczej albo powtarzające się komunikaty o niedostępności serwera. Diagnostyka powinna rozdzielić błąd aplikacji pocztowej od ograniczenia nałożonego przez zewnętrznego operatora SMTP. |