w świecie poczty elektronicznej istnieje wiele aspektów testowania, ale jednym z najbardziej podstawowych testów, które można wykonać, jest po prostu telnet na dany serwer SMTP. Test ten jest przydatny do określenia, czy najbardziej podstawowe problemy nie istnieją lub nie istnieją.
- czy serwer działa?
- czy istnieje firewall blokujący komunikację?
- czy serwer pocztowy pozwala na przekazywanie konkretnej domeny/adresu e-mail?,
- jakie polecenia SMTP obsługuje serwer pocztowy?
- czy serwer odpowiada poprawną nazwą hosta?
- czy połączenie działa poza oprogramowaniem lub interfejsami API innych firm?
na wszystkie te i inne pytania można odpowiedzieć za pomocą prostego testu telnet.
zanim zaczniemy, koniecznie zapoznaj się z naszym artykułem towarzyszącym do tego posta: gdzie są wysyłane wiadomości Bounce? w nowej zakładce, dzięki czemu można ją przeczytać po zakończeniu tego bloga.,
polecenia użyte w poniższych przykładach (jak również dodatkowe) są opisane w sekcji 4.1 RFC 2821.
większość komputerów jest preinstalowana z klientem telnet. W przypadku tych wersji systemu Windows, które tego nie robią, można zainstalować, otwierając sekcję „Programy i funkcje” w Panelu sterowania i wybierając „Włącz lub wyłącz funkcje systemu Windows”. Po otwarciu tego okna wybierz „telnet client”, a następnie kliknij OK.
Gdy klient telnet zostanie zweryfikowany do zainstalowania na serwerze, najpierw musimy znaleźć serwer pocztowy do zalogowania., W tym celu będziemy potrzebować rekordu DNS MX dla danej domeny. Można to znaleźć za pomocą następującego polecenia (dla tych przykładów port25.com będzie używana, ale można ją zastąpić dowolną domeną):
Windows:
nslookup-type = mx port25.com
odpowiedź nieautoryzowana:
port25.com MX preference = 100, mail exchanger = mail.port25.com
Linux:
nslookup-type = mx port25.com
odpowiedź nieautoryzowana:
port25.com mail exchanger = 100 mail.port25.com.,następnie potrzebujemy DNS PTR dla IP, którego będziemy używać. Najpierw musimy wiedzieć, jaki adres IP widzi w Internecie. Aby dowiedzieć się, że możemy użyć strony internetowej takiej jak:
z adresem IP uruchom następujące polecenie, gdzie A. B. C. D jest adresem IP.
Windows:
nslookup-type=ptr A. B. C. Dnieautoryzowana odpowiedź:
D.C.B.A.in-addr.arpa nazwa = server.example.comLinux:
nslookup-type=ptr A. B. C. Dodpowiedź nieautoryzowana:
D. C. B. A.,in-addr.arpa nazwa = server.example.comserver.example.com to tylko przykład, a Twoje wyniki będą inne.
więc teraz, gdy mamy rekord MX dla port25.com i PST dla IP, z którego będziemy korzystać, nadszedł czas, aby zalogować się na serwer SMTP. Aby to zrobić, użyj następującego polecenia:
telnet mail.port25.com 25teraz powinno być wyświetlone coś podobnego do następującego:
pierwszą komendą, którą musimy wydać na serwer pocztowy, jest EHLO lub HELO., Jest to podstawowe powitanie, które rozpoczyna komunikację między Klientem telnet a serwerem SMTP. Przekazywany jest również DNS PTR dla adresu IP, z którego łączymy się, jak określono wcześniej.
EHLO server.example.comnależy zwrócić coś podobnego do następującego:
250-mail.port25.com mówi hello250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250-8BITMIME250-XACK250-XMRG250-SIZE 54525952250-VERP250 DSNwyświetla polecenia SMTP, które serwer SMTP akceptuje., Nie wszystkie serwery SMTP obsługują te same zestawy poleceń. Na przykład, yahoo pokazuje tylko następujące polecenie:
250-8BITMIME250-SIZE 41943040250 PIPELININGAOL pokazuje tylko jedno z:
250 DSNnastępne polecenie, które musimy wydać, to poczta z Komendy. Określa to adres, na który zostaną wysłane odbicia. To nie jest to samo co nagłówek from, który jest adresem e-mail pokazanym w kliencie poczty e-mail.
MAIL FROM: <[email protected]>250 2.1.,0 MAIL okteraz po wysłaniu polecenia MAIL FROM możemy wysłać RCPT do polecenia. Polecenie to informuje serwer pocztowy SMTP do kogo ma zostać wysłana wiadomość. Może to być ten sam lub inny nagłówek niż to, który jest adresem e-mail pokazanym w kliencie poczty e-mail.
RCPT TO: <[email protected]>250 2.1.5 <[email protected]> okostatnim poleceniem do uruchomienia przed uruchomieniem treści wiadomości jest polecenie DATA., Polecenie to pozwala serwerowi poczty SMTP wiedzieć, że cała reszta, która ma zostać wysłana, jest treścią wiadomości (która zawiera również nagłówki).
DATA354 wyślij wiadomośćważne jest, aby pamiętać, że jeśli serwer pocztowy obsługuje PIPELINING, jako mail.port25.com czy, serwer pocztowy SMTP może poczekać do wydania polecenia DATA przed odpowiedzią na inne polecenia po EHLO / HELO. W takim przypadku wprowadź polecenia MAIL FROM, RCPT TO I DATA przed czekaniem na odpowiedź.,
Po wysłaniu polecenia DATA możemy rozpocząć wysyłanie zawartości wiadomości. Zaczyna się od różnych nagłówków. Co najmniej wiadomość powinna zawierać nagłówek to, from, subject i date. Wprowadzone tu nagłówki zostaną wyświetlone użytkownikowi w jego kliencie poczty e-mail.
z ustawionymi nagłówkami dodajemy teraz jedną pustą linię z karetką return/line feed (wystarczy nacisnąć enter dwa razy), a następnie uruchamiamy rzeczywistą treść wiadomości.
Witaj świecie,jest to wiadomość testowa wysłana z ręcznej sesji telnet.,Z poważaniem, administrator SMTPPo zakończeniu wiadomości musimy poinformować serwer SMTP, że skończyliśmy z wiadomością i chcemy, aby serwer pocztowy SMTP ją zaakceptował. Odbywa się to z okresem na linii przez siebie. Jeśli podczas pisania wiadomości potrzebna jest kropka na samej linii, należy umieścić 2 kropki, pierwszy z nich jest drugi.
. 250 2.6.0 odebrana wiadomośćna koniec wysyłane jest polecenie QUIT, aby zamknąć połączenie:
quit221 2.0.0 mail.port25,com żegna sięz tym, że serwer pocztowy przyjął teraz wiadomość do dostarczenia, i powinien siedzieć w skrzynce odbiorczej RCPT na adres!!!
tutaj są wszystkie polecenia bez przerwy:
~ Scott