Zasięg

Grow

Manage

Automate

Zasięg

Grow

Manage

Automate

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

Email

1 min read

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

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, jakie możesz przeprowadzić, jest po prostu połączenie się za pomocą telnetu z danym serwerem SMTP.  Ten test SMTP jest przydatny w ustalaniu, czy najbardziej podstawowe problemy istnieją, czy nie.

  • Czy serwer działa?

  • Czy firewall blokuje komunikację?

  • Czy serwer pocztowy pozwala na przesyłanie dla 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?

Na te i inne pytania można odpowiedzieć za pomocą prostego testu telnet.

Zanim zaczniemy, upewnij się, że otworzyłeś nasz materiał uzupełniający do tego wpisu: Gdzie są wysyłane wiadomości zwrotne? w nowej karcie, abyś mógł go przeczytać po zakończeniu tego bloga.

Na marginesie, polecenia użyte w poniższych przykładach (jak również dodatkowe polecenia) są omówione w sekcji 4.1 dokumentu RFC 2821.

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

Wysyłanie e-maili przez telnet może pomóc w identyfikacji problemów z dostarczalnością w aktualnej konfiguracji.

Przed wysłaniem e-maila za pomocą telnetu upewnij się, że telnet jest zarówno zainstalowany, jak i włączony na twoim komputerze. Większość komputerów ma wstępnie zainstalowany klient telnetu. W przypadku tych wersji systemu 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” i kliknij OK.

Po zweryfikowaniu instalacji klienta telnetu na serwerze, otwórz okno terminala, w którym wpiszesz polecenia w linii poleceń. W Windows użyj skrótu Windows + R, wpisz „cmd” i naciśnij enter. Użytkownicy komputerów Mac znajdą ikonę terminala, otwierając Finder i wyszukując „Utilities” na stronie z aplikacjami lub wpisując „terminal” w funkcji wyszukiwania Launchpad.

Następnie musimy znaleźć serwer pocztowy, do którego zalogujemy się. W tym celu będziemy potrzebować rekordu DNS MX dla danego domeny. Można to znaleźć za pomocą następującego polecenia (w tych przykładach zostanie użyty port25.com, ale każdy domena może być zastąpiona):

Windows:

nslookup -type=mx port25.com

Niewiążąca odpowiedź:

port25.com  MX preferencja = 100, wymiana poczty = mail.port25.com

Linux:

nslookup -type=mx port25.com

Niewiążąca odpowiedź:

port25.com  wymiana poczty = 100 mail.port25.com.

SMTP używa jednego z trzech portów — 25, 465 lub 587, które są często używane przez Microsoft Outlook. Jeżeli twój przekaz 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 również zweryfikować port, na którym polega twój SMTP, pytając administratora lub logując się do serwera wymiany poczty i przeglądając protokoły.

Następnie potrzebujemy rekordu DNS PTR dla IP, którego zamierzamy użyć. Najpierw musimy wiedzieć, jaki adres IP widzi nasza strona internetowa. Aby go znaleźć, możemy użyć strony internetowej, takiej jak:

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

Niewiążąca odpowiedź:

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

Linux:

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

Niewiążąca odpowiedź:

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

server.example.com to tylko przykład, a twoje wyniki będą inne.

Więc teraz, gdy mamy rekord MX dla port25.com i PTR dla IP, którego zamierzamy użyć, nadszedł czas, aby zalogować się na serwer SMTP. W tym celu użyj następującego polecenia:

telnet mail.port25.com 25

Powinno teraz pojawić się coś podobnego do poniższego:

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 na tym etapie otrzymujesz komunikat o błędzie, taki jak „nie można się połączyć”, to port jest prawidłowy lub serwer pocztowy ma problemy.

Pierwszym poleceniem, które musimy wydać serwerowi pocztowemu dla naszego testu e-maila SMTP, jest EHLO lub HELO. Jest to podstawowe powitanie, które rozpoczyna komunikację między klientem telnet a serwerem SMTP. Podawany jest również DNS PTR dla adresu IP, z którego się łączymy, zgodnie z wcześniej ustalonym.

EHLO server.example.com

Powró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

Pokazuje to komendy SMTP, które akceptuje serwer SMTP. Nie wszystkie serwery SMTP obsługują te same zestawy komend. Na przykład Yahoo pokazuje tylko następujące:

250-8BITMIME 250-SIZE 41943040 250 PIPELINING

A AOL pokazuje tylko jeden z:

250 DSN

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

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

Upewnij się, że używasz nazwy domeny odpowiadającej domenie twojego serwera pocztowego. 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 ty@darmowy-dostawca-pocztowy.com. Różnice w nazwach domen mogą spowodować pojawienie się komunikatu o błędzie.

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

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

Podwójnie sprawdź adres odbiorcy przed wysłaniem polecenia RCPT TO — komunikat o błędzie tutaj może wskazywać na literówkę lub zablokowanego odbiorcę e-maila.

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

DATA 354 wyślij wiadomość

Ważne jest, aby pamiętać, że jeśli serwer poczty obsługuje PIPELINING, jak mail.port25.com, serwer SMTP może poczekać, aż polecenie DATA zostanie wydane, zanim odpowie na inne polecenia po EHLO/HELO. W takim przypadku wprowadź MAIL FROM, RCPT TO i DATA przed oczekiwaniem na odpowiedź.

Teraz, gdy polecenie DATA zostało wysłane, możemy zacząć wysyłać treść wiadomości. Rozpoczyna się to od różnych nagłówków. Minimalna wiadomość powinna zawierać nagłówek do, from, subject i date. Nagłówki wpisane tutaj zostaną pokazane użytkownikowi w jego kliencie pocztowym.

From: "John Smith" <jsmith@port25.com> To: "Jane Doe" <jdoe@port25.com> Subject: testowa wiadomość wysłana z sesji ręcznego telnetu Date: Śr, 11 maja 2011 16:19:57 -0400

Po ustawieniu nagłówków dodajemy jedną pustą linię z powrotem na karetę/nową linię (po prostu naciśnij enter dwa razy), a następnie rozpoczynamy faktyczną treść wiadomości.

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

Po zakończeniu pisania wiadomości musimy powiedzieć serwerowi SMTP, że skończyliśmy z wiadomością i chcemy, aby serwer poczty SMTP ją zaakceptował. Można to zrobić za pomocą kropki na osobnej linii. Jeśli podczas pisania wiadomości konieczne jest użycie kropki na osobnej linii, musisz wstawić 2 kropki, pierwsza ucieka drugą.

.   250 2.6.0 wiadomość odebrana

Jeśli otrzymasz komunikat o błędzie zamiast powiadomienia „odebrano”, zanotuj odpowiednie szczegóły i skontaktuj się z dostawcą poczty e-mail o dalszą pomoc.

Na końcu, polecenie QUIT jest wysyłane, aby zamknąć połączenie:

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

Wtedy serwer poczta zaakceptował teraz wiadomość do dostarczenia, twój test wysyłania e-maila przez telnet jest zakończony i powinien znajdować się w skrzynce odbiorczej adresu RCPT TO!

Oto wszystkie komendy 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 wyślij wiadomość From: "John Smith" <jsmith@port25.com> To: "Jane Doe" <jdoe@port25.com> Subject: testowa wiadomość wysłana z sesji ręcznego telnetu Date: Śr, 11 maja 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ść odebrana QUIT 221 2.0.0 mail.port25.com mówi do widzenia

Wysyłanie e-maila za pomocą telnet pozwala szybko testować możliwości połączenia i przy mniejszych kosztach niż zaawansowany sprzęt diagnostyczny lub oprogramowanie.

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ć docieraniu dużych ilości spamu do skrzynek odbiorczych, chociaż nie wszystkie serwery wymiany poczty tego wymagają.

Główna różnica w nowoczesnych protokołach uwierzytelniania polega na obecności kodowania base64. Base64 konwertuje dane binarne na format tekstowy ASCII wymagany przez serwery poczty do pomyślnej transmisji danych. Jest to sposób reprezentowania twoich danych logowania — niektórej kombinacji tekstu — w formacie numerycznym, który komputer może zrozumieć.

Możesz generować swoje base64 za pomocą oprogramowania lub darmowych narzędzi online. Po przesłaniu informacji do serwera poczty, porównuje on te dane z swoimi zapisami, aby określić uwierzytelnienie.

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

  • Otwórz terminal i połącz się z serwerem poczty za pomocą nazwy serwera telnet i komendy dostępu — mail.port25.com w przykładzie powyżej.

  • Pozdrów serwer za pomocą EHLO lub HELO, wpisz 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.”

  • Przejdź do MAIL FROM, RCPT TO, DATA i QUIT, aby wysłać uwierzytelniony email.

Teraz, gdy wiesz, jak sprawdzić połączenie SMTP za pomocą telnetu, omówimy procedury uwierzytelniania. Uwierzytelnianie SMTP pomaga zapobiegać docieraniu dużych ilości spamu do skrzynek odbiorczych, chociaż nie wszystkie serwery wymiany poczty tego wymagają.

Główna różnica w nowoczesnych protokołach uwierzytelniania polega na obecności kodowania base64. Base64 konwertuje dane binarne na format tekstowy ASCII wymagany przez serwery poczty do pomyślnej transmisji danych. Jest to sposób reprezentowania twoich danych logowania — niektórej kombinacji tekstu — w formacie numerycznym, który komputer może zrozumieć.

Możesz generować swoje base64 za pomocą oprogramowania lub darmowych narzędzi online. Po przesłaniu informacji do serwera poczty, porównuje on te dane z swoimi zapisami, aby określić uwierzytelnienie.

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

  • Otwórz terminal i połącz się z serwerem poczty za pomocą nazwy serwera telnet i komendy dostępu — mail.port25.com w przykładzie powyżej.

  • Pozdrów serwer za pomocą EHLO lub HELO, wpisz 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.”

  • Przejdź do MAIL FROM, RCPT TO, DATA i QUIT, aby wysłać uwierzytelniony email.

Teraz, gdy wiesz, jak sprawdzić połączenie SMTP za pomocą telnetu, omówimy procedury uwierzytelniania. Uwierzytelnianie SMTP pomaga zapobiegać docieraniu dużych ilości spamu do skrzynek odbiorczych, chociaż nie wszystkie serwery wymiany poczty tego wymagają.

Główna różnica w nowoczesnych protokołach uwierzytelniania polega na obecności kodowania base64. Base64 konwertuje dane binarne na format tekstowy ASCII wymagany przez serwery poczty do pomyślnej transmisji danych. Jest to sposób reprezentowania twoich danych logowania — niektórej kombinacji tekstu — w formacie numerycznym, który komputer może zrozumieć.

Możesz generować swoje base64 za pomocą oprogramowania lub darmowych narzędzi online. Po przesłaniu informacji do serwera poczty, porównuje on te dane z swoimi zapisami, aby określić uwierzytelnienie.

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

  • Otwórz terminal i połącz się z serwerem poczty za pomocą nazwy serwera telnet i komendy dostępu — mail.port25.com w przykładzie powyżej.

  • Pozdrów serwer za pomocą EHLO lub HELO, wpisz 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.”

  • Przejdź do MAIL FROM, RCPT TO, DATA i QUIT, aby wysłać uwierzytelniony email.

Dołącz do naszego Newslettera.

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

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.

Dołącz do naszego Newslettera.

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

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.

Dołącz do naszego Newslettera.

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

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.

Logo Pinterest
Logo Uber
Square logo
Logo Adobe
Logo Meta
Logo PayPal

Company

Ustawienia prywatności

Biuletyn

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

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.

Logo Uber
Square logo
Logo Adobe
Logo Meta

Company

Ustawienia prywatności

Biuletyn

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

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.

Logo Uber
Logo Adobe
Logo Meta

Zasięg

Grow

Manage

Automate

Zasoby

Company

Biuletyn

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

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.