Zasięg

Grow

Manage

Automate

Zasięg

Grow

Manage

Automate

Jak sprawdzić połączenie SMTP za pomocą ręcznej sesji Telnet

Ptak

7 lut 2020

Email

1 min read

Jak sprawdzić połączenie SMTP za pomocą ręcznej sesji Telnet

Ptak

7 lut 2020

Email

1 min read

Jak sprawdzić połączenie SMTP za pomocą ręcznej sesji Telnet

W świecie emaili istnieje wiele aspektów testowania, ale jednym z najbardziej podstawowych testów, które możesz przeprowadzić, jest po prostu telnet do danego serwera SMTP. Ten test SMTP jest przydatny do określenia, czy najbardziej podstawowe problemy istnieją, czy nie.

W świecie e-maili istnieje wiele aspektów testowania, ale jednym z najbardziej podstawowych testów, które możesz wykonać, jest po prostu połączenie się telnetem do danego serwera SMTP. Ta kontrola SMTP jest użyteczna do określenia, czy występują najbardziej podstawowe problemy, czy też nie.

  • Czy serwer działa?

  • Czy firewall blokuje komunikację?

  • Czy serwer pocztowy pozwala na przekazywanie wiadomości określonej domeny/adresu e-mail?

  • Jakie polecenia SMTP obsługuje serwer pocztowy?

  • Czy serwer odpowiada poprawną nazwą hosta?

  • Czy połączenie działa poza jakimkolwiek oprogramowaniem firm trzecich lub API?

Wszystkie te pytania i wiele innych można odpowiedzieć za pomocą prostego testu telnet.

Zanim zaczniemy, upewnij się, że otworzyłeś w nowej karcie nasz artykuł towarzyszący do tego postu: Dokąd są wysyłane wiadomości zwrotne? aby przeczytać go po zakończeniu tego bloga.

Dla przypomnienia, polecenia użyte w poniższych przykładach (a także dodatkowe polecenia) są omówione w sekcji 4.1 RFC 2821.

Jak wysłać Email używając Telnet?

Wysyłanie wiadomości e-mail przez telnet może pomóc zidentyfikować problemy z dostarczaniem w obecnej konfiguracji.

Przed wysłaniem wiadomości e-mail za pomocą telnetu, potwierdź, że telnet jest zarówno zainstalowany, jak i włączony na Twoim komputerze. Większość komputerów ma zainstalowanego klienta telnet. Dla tych wersji Windows, które tego nie mają, można go zainstalować, otwierając sekcję „Programy i funkcje” w panelu sterowania i wybierając „Włączanie lub wyłączanie funkcji systemu Windows”. Po otwarciu tego okna wybierz „klient telnet”, a następnie kliknij OK.

Po zweryfikowaniu zainstalowania klienta telnet na serwerze, otwórz okno terminala, w którym wprowadzisz polecenia. Na Windows użyj kombinacji klawiszy Windows + R, wpisz „cmd”, a następnie naciśnij Enter. Użytkownicy Mac znajdą ikonę terminala, otwierając Finder i szukając „Utilities” na stronie Aplikacje lub wpisując „terminal” w funkcji wyszukiwania Launchpad.

Następnie musimy znaleźć serwer poczty, do którego się zalogujemy. Do tego potrzebny będzie rekord DNS MX dla danego domeny. Można go znaleźć za pomocą następującego polecenia (w tych przykładach używany będzie port25.com, ale można użyć dowolnej domeny):

Windows:

nslookup -type=mx port25.com

Nieautoryzowana odpowiedź:

port25.com Preferencja MX = 100, wymiennik poczty = mail.port25.com

Linux:

nslookup -type=mx port25.com

Nieautoryzowana odpowiedź:

port25.com Exchanger poczty = 100 mail.port25.com.

SMTP używa jednego z trzech portów — 25, 465 lub 587, które Microsoft Outlook często używa. Dla zaawansowanej konfiguracji i optymalizacji serwera poczty zobacz nasz przewodnik o PowerMTA configuration tips. Jeśli Twój przekaźnik SMTP używa innego portu niż 25, jak pokazano w przykładzie, użyjesz portu określonego w odpowiedzi serwera wymiany poczty na nslookup. Możesz także zweryfikować, na jakim porcie polega Twój SMTP, pytając administratora lub logując się do serwera wymiany poczty i przeglądając protokoły.

Następnie potrzebujemy DNS PTR dla IP, którego będziemy używać. Najpierw musimy wiedzieć, jakim adresem IP internet nas widzi. Aby to znaleźć, możemy użyć takiej strony:

http://whatismyipaddress.com/

Z adresem IP uruchom następujące polecenie, gdzie A.B.C.D to adres IP.

Windows:

nslookup -type=ptr A.B.C.D

Nieautoryzowana odpowiedź:

D.C.B.A.in-addr.arpa nazwa = server.example.com

Linux:

nslookup -type=ptr A.B.C.D

Nieautoryzowana odpowiedź:

D.C.B.A.in-addr.arpa nazwa = server.example.com

server.example.com to tylko przykład, a Twoje wyniki będą różne.

Teraz, gdy mamy rekord MX dla port25.com i PTR dla IP, którego zamierzamy użyć, czas zalogować się na serwer SMTP. Aby to zrobić, użyj następującego polecenia:

telnet mail.port25.com 25

Coś podobnego do poniższego powinno teraz być wyświetlane:

Próba 69.63.149.30... Połączono z mail.port25.com (69.63.149.30). Znak ucieczki to '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP usługa gotowa

Jeśli otrzymasz komunikat o błędzie, taki jak „nie można połączyć” w tym momencie, albo numer portu jest prawidłowy albo serwer poczty napotyka problemy.

Pierwsze polecenie, które musimy wydać do serwera poczty dla naszego testera poczty SMTP, to 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 się łączymy, wg. wcześniej ustalono.

EHLO server.example.com

Powinno to zwrócić coś podobnego do poniższego:

250-mail.port25.com mówi cześć 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN

To pokazuje polecenia SMTP, które akceptuje serwer SMTP. Nie wszystkie serwery SMTP obsługują te same zestawy poleceń. Na przykład yahoo pokazuje tylko następujące:

250-8BITMIME 250-SIZE 41943040 250 PIPELINING

A aol pokazuje tylko jedno:

250 DSN

Następne polecenie, które musimy wydać to polecenie MAIL FROM. Określa ono adres, na który wysyłane są odrzuty. Nie jest to to samo co nagłówek from, który jest adresem e-mail pokazanym w kliencie poczty.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Upewnij się, że używasz nazwy domeny odpowiadającej domenie serwera poczty. Na przykład, jeśli domena Twojego e-maila to anycompany.com, będziesz chciał użyć you@anycompany.com zamiast zewnętrznego e-maila jak you@free-mail-provider.com. Wahania w nazwach domen mogą spowodować pojawienie się komunikatu o błędzie.

Teraz, gdy polecenie MAIL FROM zostało wysłane, możemy wysłać polecenie RCPT TO. To polecenie mówi serwerowi poczty SMTP, do kogo wiadomość powinna być wysłana. Może to być takie samo lub inne niż nagłówek to, który jest adresem e-mail pokazanym w kliencie poczty.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Dwukrotnie sprawdź adres odbiorcy przed wysłaniem polecenia RCPT TO — komunikat o błędzie wyświetlany tutaj może wskazywać na błędnie napisany lub zablokowany adres e-mail odbiorcy.

Ostatnie polecenie, które należy wykonać przed rozpoczęciem części wiadomości to polecenie DATA. To polecenie informuje serwer poczty SMTP, że wszystko, co ma być wysłane, jest treścią wiadomości (która również zawiera nagłówki).

DATA 354 wysyłaj wiadomość

Ważne jest, aby zauważyć, że jeśli serwer poczty obsługuje PIPELINING, jak mail.port25.com, serwer SMTP może oczekiwać na polecenie DATA przed odpowiedzią na inne polecenia po EHLO/HELO. W takim przypadku wykonaj polecenia MAIL FROM, RCPT TO i DATA przed oczekiwaniem na odpowiedź.

Teraz, gdy polecenie DATA zostało wysłane, możemy rozpocząć wysyłanie treści wiadomości. Zaczynamy od różnych nagłówków. W wiadomości powinna się znajdować minimalnie nagłówki to, from, subject i date. Wprowadzone tutaj nagłówki zostaną pokazane użytkownikowi w jego kliencie poczty.

From: "John Smith" <jsmith@port25.com> To: "Jane Doe" <jdoe@port25.com> Subject: test message sent from manual telnet session Date: Wed, 11 May 2011 16:19:57 -0400

Po ustawieniu nagłówków, dodajemy jedną pustą linię z powrotem/linia z pokrostopowrotem (po prostu naciśnij Enter dwa razy) i następnie zaczynamy rzeczywistą treść wiadomości.

Hello World, To jest testowa wiadomość wysłana z ręcznej sesji telnet. Z poważaniem, administrator SMTP

Po 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 za pomocą kropki na linii samej w sobie. Jeśli podczas pisania wiadomości potrzebna jest kropka na linii samej w sobie, musisz umieścić 2 kropki, pierwsza wymija drugą.

. 250 2.6.0 wiadomość przyjęta

Jeśli zamiast powiadomienia „odebrane” otrzymasz komunikat o błędzie, zapisz istotne szczegóły i skontaktuj się z dostawcą poczty e-mail po więcej pomocy. Problemy z połączeniem mogą również być związane z protokołami bezpieczeństwa - upewnij się, że używasz TLS 1.2 lub wyższa dla bezpiecznych połączeń.

Na koniec zostaje wysłane polecenie QUIT, aby zamknąć połączenie:

QUIT 221 2.0.0 mail.port25.com mówi do widzenia

W ten sposób serwer poczty zaakceptował wiadomość do dostarczenia, Twój test wysyłania wiadomości e-mail przez telnet jest zakończony i powinien znajdować się w skrzynce odbiorczej adresu RCPT TO!!!

Oto wszystkie polecenia bez przerywania:

telnet mail.port25.com 25 Próba 69.63.149.30... Połączono z mail.port25.com (69.63.149.30). Znak ucieczki to '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP usługa gotowa EHLO server.example.com 250-mail.port25.com mówi cześć 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok DATA 354 wysyłaj wiadomość From: "John Smith" <jsmith@port25.com> To: "Jane Doe" <jdoe@port25.com> Subject: test message sent from manual telnet session Date: Wed, 11 May 2011 16:19:57 -0400 Hello World, To jest testowa wiadomość wysłana z ręcznej sesji telnet. Z poważaniem, administrator SMTP . 250 2.6.0 wiadomość przyjęta QUIT 221 2.0.0 mail.port25.com mówi do widzenia

Wysyłanie e-maili za pomocą telnet pozwala szybko testować możliwości połączeń i przy mniejszych kosztach niż zaawansowane urządzenia diagnostyczne lub oprogramowanie. Dla bardziej zaawansowanych narzędzi do testowania SMTP rozważ using Swaks with SparkPost dla kompleksowego testowania poczty e-mail.

Jak przetestować SMTP z użyciem uwierzytelniania Telnet?

Teraz, gdy wiesz, jak sprawdzić połączenie SMTP za pomocą telnetu, omówimy procedury uwierzytelniania. Uwierzytelnianie SMTP pomaga zapobiegać dotarciu dużych ilości spamu do skrzynek odbiorczych czytelników, choć nie wszystkie serwery wymiany poczty tego wymagają. Zrozumienie uwierzytelniania jest również kluczowe przy analizowaniu nagłówków e-mail w celu rozwiązywania problemów z dostarczalnością.

Główna różnica w nowoczesnych protokołach uwierzytelniania polega na obecności kodowania base64. Base64 konwertuje dane binarne na format ASCII-text wymagany przez serwery pocztowe do pomyślnej transmisji danych. To sposób reprezentowania poświadczeń logowania — jakiejś kombinacji tekstu — w formacie numerycznym, który komputer może zrozumieć.

Możesz wygenerować swoje base64 za pomocą oprogramowania lub bezpłatnych narzędzi online. Gdy przekażesz informacje do serwera poczty, porównuje on te dane ze swoimi zapisami, aby ustalić uwierzytelnianie.

Aby przetestować uwierzytelnianie SMTP za pomocą telnetu, wykonaj następujące kroki:

  • Otwórz terminal i połącz się z serwerem poczty przy użyciu nazwy serwera telnet i polecenia dostępu — mail.port25.com w powyższym przykładzie.

  • Przywitaj serwer za pomocą EHLO lub HELO, wprowadź AUTH LOGIN i poczekaj na odpowiedź komputera.

  • Wprowadź nazwę użytkownika zakodowaną w base64 i pozwól serwerowi odpowiedzieć.

  • Wprowadź hasło zakodowane w base64, a powinieneś otrzymać odpowiedź taką jak „authentication succeeded”.

  • Kontynuuj z MAIL FROM, RCPT TO, DATA i QUIT, aby wysłać uwierzytelniony e-mail.

Teraz, gdy wiesz, jak sprawdzić połączenie SMTP za pomocą telnetu, omówimy procedury uwierzytelniania. Uwierzytelnianie SMTP pomaga zapobiegać dotarciu dużych ilości spamu do skrzynek odbiorczych czytelników, choć nie wszystkie serwery wymiany poczty tego wymagają. Zrozumienie uwierzytelniania jest również kluczowe przy analizowaniu nagłówków e-mail w celu rozwiązywania problemów z dostarczalnością.

Główna różnica w nowoczesnych protokołach uwierzytelniania polega na obecności kodowania base64. Base64 konwertuje dane binarne na format ASCII-text wymagany przez serwery pocztowe do pomyślnej transmisji danych. To sposób reprezentowania poświadczeń logowania — jakiejś kombinacji tekstu — w formacie numerycznym, który komputer może zrozumieć.

Możesz wygenerować swoje base64 za pomocą oprogramowania lub bezpłatnych narzędzi online. Gdy przekażesz informacje do serwera poczty, porównuje on te dane ze swoimi zapisami, aby ustalić uwierzytelnianie.

Aby przetestować uwierzytelnianie SMTP za pomocą telnetu, wykonaj następujące kroki:

  • Otwórz terminal i połącz się z serwerem poczty przy użyciu nazwy serwera telnet i polecenia dostępu — mail.port25.com w powyższym przykładzie.

  • Przywitaj serwer za pomocą EHLO lub HELO, wprowadź AUTH LOGIN i poczekaj na odpowiedź komputera.

  • Wprowadź nazwę użytkownika zakodowaną w base64 i pozwól serwerowi odpowiedzieć.

  • Wprowadź hasło zakodowane w base64, a powinieneś otrzymać odpowiedź taką jak „authentication succeeded”.

  • Kontynuuj z MAIL FROM, RCPT TO, DATA i QUIT, aby wysłać uwierzytelniony e-mail.

Teraz, gdy wiesz, jak sprawdzić połączenie SMTP za pomocą telnetu, omówimy procedury uwierzytelniania. Uwierzytelnianie SMTP pomaga zapobiegać dotarciu dużych ilości spamu do skrzynek odbiorczych czytelników, choć nie wszystkie serwery wymiany poczty tego wymagają. Zrozumienie uwierzytelniania jest również kluczowe przy analizowaniu nagłówków e-mail w celu rozwiązywania problemów z dostarczalnością.

Główna różnica w nowoczesnych protokołach uwierzytelniania polega na obecności kodowania base64. Base64 konwertuje dane binarne na format ASCII-text wymagany przez serwery pocztowe do pomyślnej transmisji danych. To sposób reprezentowania poświadczeń logowania — jakiejś kombinacji tekstu — w formacie numerycznym, który komputer może zrozumieć.

Możesz wygenerować swoje base64 za pomocą oprogramowania lub bezpłatnych narzędzi online. Gdy przekażesz informacje do serwera poczty, porównuje on te dane ze swoimi zapisami, aby ustalić uwierzytelnianie.

Aby przetestować uwierzytelnianie SMTP za pomocą telnetu, wykonaj następujące kroki:

  • Otwórz terminal i połącz się z serwerem poczty przy użyciu nazwy serwera telnet i polecenia dostępu — mail.port25.com w powyższym przykładzie.

  • Przywitaj serwer za pomocą EHLO lub HELO, wprowadź AUTH LOGIN i poczekaj na odpowiedź komputera.

  • Wprowadź nazwę użytkownika zakodowaną w base64 i pozwól serwerowi odpowiedzieć.

  • Wprowadź hasło zakodowane w base64, a powinieneś otrzymać odpowiedź taką jak „authentication succeeded”.

  • Kontynuuj z MAIL FROM, RCPT TO, DATA i QUIT, aby wysłać uwierzytelniony e-mail.

Połączmy Cię z ekspertem Bird.
Zobacz pełną moc Bird w 30 minut.

Przesyłając, zgadzasz się, że Bird może kontaktować się z Tobą w sprawie naszych produktów i usług.

Możesz zrezygnować z subskrypcji w dowolnym momencie. Zobacz Privacy Statement firmy Bird, aby uzyskać szczegóły dotyczące przetwarzania danych.

Company

Biuletyn

Bądź na bieżąco z Bird dzięki cotygodniowym aktualizacjom do Twojej skrzynki odbiorczej.

Połączmy Cię z ekspertem Bird.
Zobacz pełną moc Bird w 30 minut.

Przesyłając, zgadzasz się, że Bird może kontaktować się z Tobą w sprawie naszych produktów i usług.

Możesz zrezygnować z subskrypcji w dowolnym momencie. Zobacz Privacy Statement firmy Bird, aby uzyskać szczegóły dotyczące przetwarzania danych.

Company

Biuletyn

Bądź na bieżąco z Bird dzięki cotygodniowym aktualizacjom do Twojej skrzynki odbiorczej.

Połączmy Cię z ekspertem Bird.
Zobacz pełną moc Bird w 30 minut.

Przesyłając, zgadzasz się, że Bird może kontaktować się z Tobą w sprawie naszych produktów i usług.

Możesz zrezygnować z subskrypcji w dowolnym momencie. Zobacz Privacy Statement firmy Bird, aby uzyskać szczegóły dotyczące przetwarzania danych.

R

Reach

G

Grow

M

Manage

A

Automate

Company

Biuletyn

Bądź na bieżąco z Bird dzięki cotygodniowym aktualizacjom do Twojej skrzynki odbiorczej.