| Termin | Definicja |
|---|---|
| RSET | RSET to polecenie SMTP anulujące bieżącą transakcję wysyłkową bez zamykania sesji. Polecenie resetujące bufor transakcjiRSET należy do podstawowego zestawu poleceń SMTP i służy do porzucenia rozpoczętej transakcji wysyłkowej. Serwer kasuje zapamiętanego nadawcę z polecenia MAIL FROM, całą listę odbiorców zebraną poleceniami RCPT TO oraz ewentualnie przekazane dane, po czym odpowiada kodem 250 i wraca do stanu sprzed rozpoczęcia transakcji. Samo połączenie TCP pozostaje otwarte, a wynegocjowane wcześniej parametry sesji - powitanie EHLO, szyfrowanie STARTTLS i uwierzytelnienie AUTH - zachowują ważność. Miejsce polecenia w sekwencji rozmowy z serweremOdróżnia je to od QUIT, które kończy całą sesję i zamyka połączenie, oraz od NOOP, które niczego nie zmienia i służy wyłącznie podtrzymaniu kanału. Praktyczne zastosowanie pojawia się przy wysyłce seryjnej: klient nawiązuje jedno połączenie i wysyła w nim wiele listów, a między kolejnymi wywołuje RSET, żeby mieć pewność, że odbiorcy poprzedniej wiadomości nie przeniosą się na następną. Drugie zastosowanie to obsługa błędu w połowie transakcji - gdy serwer odrzuci jednego z odbiorców kodem 550, klient może wyzerować stan i zacząć od nowa zamiast rozłączać się i płacić kosztem kolejnego uzgodnienia TLS. Trzecie to weryfikacja adresów: narzędzia sprawdzające istnienie skrzynki podają nadawcę i odbiorcę, czytają odpowiedź serwera, a następnie porzucają transakcję zamiast wysyłać cokolwiek. Nadużycia, limity i błędne implementacjeSerwery pocztowe liczą polecenia RSET w ramach ochrony przed nadużyciami, bo nadmiarowe resetowanie to typowy wzorzec zachowania narzędzi zbierających adresy. Po przekroczeniu progu połączenie bywa zrywane albo spowalniane opóźnieniem odpowiedzi. Część przekaźników odpowiada kodem 250 zawsze, niezależnie od stanu, przez co klient nie wykryje, że reset w rzeczywistości nic nie zrobił. Zdarza się też, że aplikacja wysyłkowa wywołuje polecenie zamiast poprawnie zamknąć sesję po ostatnim liście - serwer trzyma wtedy otwarte gniazdo aż do wygaśnięcia limitu czasu, a przy kilkuset takich sesjach wyczerpuje pulę połączeń. Objawem po stronie użytkownika jest kampania zatrzymująca się bez komunikatu i program czekający w nieskończoność na odpowiedź. Podsłuchanie rozmowy SMTP przy trudnych wysyłkachGdy wiadomości nie wychodzą, a program pokazuje jedynie ogólny błąd, sprawdzamy przebieg sesji ręcznie - łączymy się z serwerem na porcie 587 lub 465, przechodzimy krok po kroku przez EHLO, STARTTLS, AUTH, MAIL FROM i RCPT TO, i czytamy dokładne kody odpowiedzi. To zwykle rozstrzyga w kilka minut, czy blokada leży po stronie dostawcy, zapory na stacji, czy błędnych danych logowania. Taką diagnostykę wykonujemy dla firm o każdej porze doby, również przy wysyłkach generowanych automatycznie przez systemy sprzedażowe. |