Przetestuj połączenie SMTP za pomocą ręcznej sesji Telnet

Opublikowany: 2022-04-04

Dostawcy serwerów, tacy jak DigitalOcean, AWS, Vultr i inni, blokują port wychodzący 25 poczty e-mail, aby zapobiec przedostawaniu się spamu. Jednak zawsze możesz poprosić ich o odblokowanie. Jeśli chcesz dowiedzieć się, czy twój port 25 został zablokowany, możesz użyć ręcznej sesji telnet do przetestowania połączenia SMTP.

Błędy połączenia SMTP można rozwiązać na wiele sposobów, ale wiersz poleceń może je wykryć bezpośrednio. Telnet jest zwykle używany do testowania błędów połączenia SMTP. W kolejnych krokach użyjemy Telnet do przetestowania serwera poczty e-mail. Kluczową częścią konfiguracji serwera poczty e-mail jest upewnienie się, że SMTP działa z wiersza poleceń (Linux).

Telnet jest najczęściej używanym sposobem sprawdzania SMTP z wiersza poleceń. Jest to również najczęstszy sposób testowania przekaźnika SMTP.

Spis treści

Co to jest SMTP?

SMTP to tekstowy, zorientowany na połączenie protokół, w którym nadawca poczty łączy się z odbiorcą poczty, wysyłając ciągi poleceń i dostarczając wymagane dane przez niezawodny kanał strumienia uporządkowanych danych, często połączenie TCP (Transmission Control Protocol).

Sesja SMTP składa się z poleceń klienta SMTP (agenta inicjującego, nadawcy lub nadajnika) i odpowiedzi z serwera SMTP (agenta nasłuchującego lub odbiornika), które inicjują sesję i wymieniają parametry sesji. W sesji może być zero lub więcej transakcji SMTP. Na transakcję SMTP składają się trzy sekwencje poleceń/odpowiedzi:

  1. Polecenie MAIL, znane również jako ścieżka powrotu, ścieżka odwrotna, adres zwrotny, mfrom lub nadawca koperty, do ustawienia adresu zwrotnego.
  2. Aby ustalić odbiorcę wiadomości, użyj polecenia RCPT. To polecenie można powtarzać tyle razy, ile jest to konieczne, po jednym dla każdego odbiorcy. Koperta również ma te adresy.
  3. DANE do wskazania początku tekstu wiadomości; treść wiadomości, w przeciwieństwie do jej koperty. Składa się z pustej linii między nagłówkiem wiadomości a treścią wiadomości. Serwer odpowiada dwukrotnie: najpierw na samą instrukcję DATA, potwierdzając gotowość do odebrania tekstu, a następnie ponownie, po sekwencji końca danych, akceptując lub odrzucając cały komunikat.

Co to jest sesja Telnet?

Telnet to protokół sieciowy do zdalnego dostępu do komputera i ustanowienia dwukierunkowego, opartego na współpracy, tekstowego kanału komunikacji między dwoma komputerami.

Tworzy zdalne sesje przy użyciu protokołu sieciowego TCP/IP (Transmission Control Protocol/Internet Protocol), który jest kontrolowany przez użytkownika. Hypertext Transfer Protocol (HTTP) i File Transfer Protocol (FTP) w Internecie po prostu pozwalają użytkownikom żądać określonych plików z odległych komputerów, podczas gdy Telnet umożliwia użytkownikom logowanie się jako zwykły użytkownik z uprawnieniami przypisanymi do określonych aplikacji i danych na tym komputer.

Telnet jest najczęściej używany przez programistów i każdego, kto potrzebuje dostępu do niektórych aplikacji lub danych na zdalnym komputerze.

Jak działa Telnet?

Telnet to protokół klient-serwer do otwierania wiersza poleceń na odległym komputerze, zwykle serwerze. Tego narzędzia można użyć do pingowania portu i określenia, czy jest otwarty. Telnet używa emulatora połączenia terminala wirtualnego, który jest abstrakcyjną instancją połączenia komputera, która używa standardowych protokołów do działania jak fizyczny terminal dołączony do systemu. Dla użytkowników, którzy muszą przesyłać pliki danych, FTP i Telnet mogą być używane razem.

Telnet umożliwia użytkownikom zdalne łączenie się z komputerem, często znane jako Telnetowanie w systemie. Muszą podać kombinację swoich poświadczeń użytkownika, aby uzyskać dostęp do komputera zdalnego, co pozwala im uruchamiać wiersze poleceń tak, jakby były fizycznie obecne na komputerze. Adresy IP użytkowników będą pasować do komputera, na którym są zalogowani, a nie do tego, z którego się logowali, niezależnie od ich fizycznej lokalizacji.

Jakie są zastosowania Telnetu?

Telnet może być używany do wykonywania szeregu zadań na serwerze, w tym edycji plików, wykonywania programów i sprawdzania poczty e-mail.

Niektóre serwery umożliwiają zdalne połączenia przez Telnet z danymi publicznymi w celu grania w proste gry lub szukania prognozy pogody. Wiele z tych funkcji istnieje, ponieważ są nostalgiczne lub są nadal kompatybilne z wcześniejszymi systemami, które wymagają pewnych danych.

Telnet umożliwia również użytkownikom łączenie się z dowolnym oprogramowaniem, które wykorzystuje tekstowe, nieszyfrowane protokoły, takie jak serwery WWW i porty. Użytkownicy mogą otworzyć polecenie cmd na zdalnym komputerze i wpisać telnet, a następnie nazwę lub adres IP zdalnego komputera, a sesja telnet będzie pingować port, aby sprawdzić, czy jest otwarty, czy nie. Pusty ekran wskazuje, że port jest otwarty, ale komunikat o błędzie wskazujący, że port jest podłączony, wskazuje, że jest on zamknięty.

Bezpieczeństwo w Telnecie

Telnet to niezabezpieczony, niezaszyfrowany protokół. Każdy może wyświetlić nazwę użytkownika, hasło i inne poufne informacje wpisane zwykłym tekstem podczas sesji Telnet, monitorując połączenie użytkownika. Informacje te można wykorzystać do uzyskania dostępu do komputera docelowego.

Przetestuj połączenie SMTP za pomocą Telnet

Najpierw przeprowadzimy kilka testów, aby sprawdzić, czy twój wychodzący port 25 jest otwarty, czy nie. W pierwszym przypadku zademonstrujemy zablokowany port SMTP 25, w drugim przejdziemy, wysyłając wiadomość e-mail za pomocą telnetu.

Przypadek 1: Zablokowany port 25

W wierszu poleceń uruchom następujące polecenie (musisz uruchomić to polecenie na serwerze, na którym masz problemy z pocztą e-mail):

 telnet <IP_ADDRESS_OF_REMOTE_MAIL_SERVER> 25

Jeśli otrzymujesz wiadomość typu „PRÓBUJ...” i nic więcej, oznacza to, że Twój port wychodzący 25 jest zablokowany i nie będziesz w stanie wysyłać wiadomości e-mail ze swojego serwera.

Przypadek 2: Gdy port 25 jest otwarty:

Musimy znaleźć serwer pocztowy, aby się zalogować, jeśli nie masz adresu IP serwera pocztowego. W tym celu będziemy potrzebować rekordu DNS MX dla danej domeny. Można to znaleźć za pomocą następującego polecenia

 nslookup -type=mx DOMAIN_NAME

SMTP wykorzystuje jeden z trzech portów: 25, 465 lub 587, z których często korzysta Microsoft Outlook. Jeśli przekaźnik SMTP używa portu innego niż 25, użyjesz portu podanego w odpowiedzi nslookup z serwera wymiany poczty. Możesz zapytać administratora lub przejść do serwera wymiany poczty i przejrzeć protokoły, aby zobaczyć, jakiego portu używa Twój SMTP.

Aby zalogować się do serwera SMTP:

 telnet <IP_ADDRESS_OF_MAIL_SERVER> <PORT>

Jeśli masz połączenie, możesz kontynuować wysyłanie e-maili

Polecenie EHLO lub HELO to pierwsze polecenie, które musimy wysłać do serwera pocztowego dla naszego testera poczty SMTP. Jest to proste powitanie, które rozpoczyna konwersację klienta telnet z serwerem SMTP.

 EHLO <DOMAIN_NAME>
przetestuj połączenie smtp

W tym miejscu wyświetlane są polecenia SMTP akceptowane przez serwer SMTP.

Polecenie MAIL FROM jest kolejnym poleceniem, które naprawdę musimy uruchomić. W ten sposób określa się adres, na który wysyłane są zwroty.

 POCZTA OD: <[email chroniony]>

Teraz możemy wysłać polecenie RCPT TO po wydaniu polecenia MAIL FROM. To polecenie nakazuje serwerowi poczty SMTP wysłanie wiadomości do określonego adresata.

 RCPT DO: <[email chroniony]> 

Polecenie DATA jest ostatnim poleceniem uruchamianym przed rozpoczęciem treści wiadomości. To polecenie informuje serwer poczty SMTP, że reszta wiadomości zostanie przesłana jako treść wiadomości.

 DANE 

Wprowadź Temat: <TEMAT> i naciśnij Return.

Wejdź w < Wiadomość testowa > i naciśnij Powrót.

Po zakończeniu wiadomości musimy poinformować serwer SMTP, że z nią skończyliśmy i chcemy, aby serwer poczty SMTP ją zaakceptował. Osiąga się to poprzez umieszczenie kropki w jednej linii. Jeśli podczas pisania wiadomości wymagana jest kropka w jednym wierszu, użyj dwóch kropek, z których pierwsza uchyla się od drugiej.

.

Pojawi się komunikat OK, a następnie kod ID. Twoja wiadomość została dostarczona.

Wróć do okna Telnet, wprowadź quit, aby zakończyć połączenie z serwerem SMTP, a następnie zakończ, aby zakończyć sesję Telnet.

 ZREZYGNOWAĆ 

Wniosek

Jeśli wypełnisz test, możesz być pewien, że nie ma nic złego w Twoim serwerze pocztowym lub adresie i informacjach, których użyłeś, aby uzyskać do niego dostęp.

Jeśli serwer SMTP poinformował Cię, że pierwotny adres e-mail jest nieprawidłowy, możliwe, że wpisałeś go nieprawidłowo. Możliwe jest również, że coś jest nie tak z Twoim kontem e-mail, dlatego nie możesz go uruchomić w nowym kliencie poczty e-mail.

Mamy nadzieję, że przetestowanie serwera SMTP za pośrednictwem usługi Telnet z dala od nowego klienta poczty e-mail pomoże określić wszystkie możliwe przyczyny problemów z pocztą e-mail.