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

Kluczowe Wnioski

    • Manual telnet testing to szybki sposób o niskiej technologii do diagnozowania problemów z łącznością i konfiguracją SMTP.

    • Użyj go, aby zweryfikować, czy serwer SMTP jest dostępny, odpowiednio skonfigurowany i akceptuje połączenia.

    • Test może ujawnić zablokowane porty, ograniczenia relay, błędy DNS lub problemy z kompatybilnością TLS.

    • Podstawowe polecenia SMTP to EHLO/HELO, MAIL FROM, RCPT TO, DATA, and QUIT.

    • Port 25 jest standardowy dla relay, podczas gdy 465 i 587 są używane do bezpiecznego przesyłania.

    • Base64-encoded authentication (AUTH LOGIN) jest wymagana, gdy serwery wymagają danych do logowania.

    • Narzędzia takie jak Swaks lub zintegrowane platformy do testowania e-maili mogą automatyzować i rozszerzać kroki diagnostyczne telnetu.

Q&A Highlights

  • Dlaczego używać telnetu zamiast dedykowanego narzędzia do testowania emaili?

    Telnet zapewnia bezpośrednią widoczność w surowy dialog SMTP. Jest to nieocenione w przypadku rozwiązywania problemów na poziomie protokołu i potwierdzania odpowiedzi serwera bez warstw pośredników.

  • Jaki jest najszybszy sposób, aby sprawdzić, czy mój port SMTP jest zablokowany?

    Uruchom telnet mail.example.com 25. Jeśli otrzymasz „Połączenie odrzucone”, prawdopodobnie twój ISP lub host blokuje port.

  • Czy muszę się uwierzytelnić podczas testowania z telnet?

    Tylko jeśli serwer poczty wymaga uwierzytelnienia. Użyj polecenia AUTH LOGIN i wyślij swoją nazwę użytkownika oraz hasło zakodowane w Base64.

  • Czy mogę wysłać pełny email przez telnet?

    Tak. Po DATA, dodaj nagłówki i treść, zakończ pojedynczą kropką (.) w osobnej linii, a następnie wpisz QUIT.

  • Czy telnet jest bezpieczny do testowania SMTP?

    Nie. Telnet przesyła dane w postaci zwykłego tekstu. Używaj go tylko do testowania w bezpiecznych, kontrolowanych środowiskach. Aby uzyskać bezpieczne połączenia, testuj za pomocą TLS, używając narzędzi obsługujących STARTTLS.

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.

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.

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.

How Do I Send an Email Using Telnet?

Wysyłanie e-maili za pomocą telnetu może pomóc w zidentyfikowaniu problemów z dostarczalnością w ramach obecnej konfiguracji.

Zanim wyślesz e-mail za pomocą telnetu, upewnij się, że telnet jest zarówno zainstalowany, jak i włączony na Twoim komputerze. Większość komputerów ma zainstalowanego klienta telnet. Dla wersji Windows, które go nie mają, można go zainstalować, otwierając sekcję „Programy i funkcje” w panelu sterowania i wybierając „Włącz lub wyłącz funkcje systemu Windows”. Gdy to okno jest otwarte, wybierz „klient telnet” i kliknij OK.

Po potwierdzeniu zainstalowania klienta telnet na serwerze, otwórz okno terminala, gdzie wpiszesz swoje polecenia. W systemie Windows użyj klawiszy Windows + R, wpisz „cmd” i naciśnij enter. Użytkownicy Mac znajdą ikonę terminala, otwierając Finder i wyszukując „Narzędzia” na stronie Aplikacje, lub wpisując „terminal” w funkcji wyszukiwania Launchpad.

Następnie musimy znaleźć serwer poczty, do którego mamy się zalogować. Do tego potrzebujemy rekordu DNS MX dla danej domeny. Można go znaleźć za pomocą następującego polecenia (w tych przykładach używana będzie domena port25.com, ale można ją zastąpić dowolną domeną):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Porty SMTP - Szybki Przewodnik

Oto szybki przewodnik po popularnych portach dla składania SMTP i kiedy ich używać:

Port

Szyfrowanie

Typowy przypadek użycia

Uwagi

25

Brak / Okazjonalny TLS

Serwer-serwer przekazywanie

Często blokowany przez ISP ze względu na spam

465

SSL/TLS domyślnie

Przestarzałe bezpieczne składanie

Nie zalecane, ale wciąż używane przez starsze systemy

587

STARTTLS

Współczesne autoryzowane składanie

Zalecane do składania emaili przez klientów

Dla zaawansowanej konfiguracji serwera poczty i optymalizacji, zobacz nasz przewodnik na temat wskazówek dotyczących konfiguracji PowerMTA. Jeśli twój relacyjny SMTP używa innego portu niż 25, jak pokazano w przykładzie, użyj portu określonego w odpowiedzi serwera wymiany poczty na nslookup. Możesz także zweryfikować port, od którego zależy twój SMTP, pytając administratora lub logując się na serwer 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 nasz internet. Aby to 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
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

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

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

telnet mail.port25.com 25

Coś podobnego do poniższego powinno się pojawić:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Jeśli w tym momencie otrzymasz komunikat o błędzie, taki jak „nie można połączyć się”, może to oznaczać, że numer portu jest poprawny lub serwer poczty ma problemy.

Pierwsze polecenie, które musimy wydać do serwera poczty dla naszego testera e-mail SMTP to EHLO lub HELO. To jest podstawowe powitanie, które rozpoczyna komunikację między klientem telnet a serwerem SMTP. Przyszły również DNS PTR dla adresu IP, z którego się łączymy, jak ustalono wcześniej.

EHLO server.example.com

Coś podobnego do poniższego powinno zostać zwrócone:

250-mail.port25.com says hello
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

I aol pokazuje tylko jedno:

250 DSN

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

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, takiego jak you@free-mail-provider.com. Wariacje 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 pocztowemu SMTP, do kogo należy wysłać wiadomość. Może być to takie samo lub inne niż nagłówek to, który jest adresem e-mail pokazanym w kliencie e-mail.

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

Dwukrotnie sprawdź adres odbiorcy przed wysłaniem polecenia RCPT TO — wyświetlenie tu komunikatu o błędzie może oznaczać błędnie napisany lub zablokowany adres odbiorcy.

Ostatnie polecenie do uruchomienia przed rozpoczęciem treści wiadomości to polecenie DATA. To polecenie informuje serwer pocztowy SMTP, że wszystko, co zaraz zostanie wysłane, to treść wiadomości (która zawiera również nagłówki).

DATA 354 wyślij wiadomość

Warto zauważyć, że jeśli serwer pocztowy obsługuje PIPELINING, jak mail.port25.com, serwer pocztowy SMTP może czekać do wydania polecenia DATA przed odpowiedzią na inne polecenia po EHLO/HELO. W takim przypadku wprowadź 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. Zaczyna się to od różnych nagłówków. Minimalnie wiadomość powinna zawierać nagłówek to, from, subject i date. Nagłówki wprowadzane tutaj zostaną pokazane użytkownikowi w jego kliencie e-mail.

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

Z ustawionymi nagłówkami dodajemy teraz jedną pustą linię z powrotem do karetki/przewijaniem linii (po prostu naciśnij enter dwa razy) i wtedy rozpoczynamy rzeczywistą treść wiadomości.

Hello World, To jest testowa wiadomość wysłana z manualnej sesji telnet. Z poważaniem, Administrator SMTP

Po zakończeniu wiadomości musimy powiedzieć serwerowi SMTP, że skończyliśmy z wiadomością i chcemy, aby serwer SMTP ją zaakceptował. Robi się to za pomocą kropki na linii samej sobie. Jeśli w trakcie pisania wiadomości potrzebna jest kropka na linii samej sobie, musisz wstawić 2 kropki, pierwsza ucieka drugiej.

.   250 2.6.0 wiadomość przyjęta

Jeśli otrzymasz komunikat o błędzie zamiast powiadomienia „przyjęta”, zanotuj istotne szczegóły i skontaktuj się ze swoim dostawcą usług e-mail w celu uzyskania dalszej pomocy. Problemy z połączeniem mogą być również związane z protokołami bezpieczeństwa - upewnij się, że używasz TLS 1.2 lub wyższego dla bezpiecznych połączeń.

Na koniec wysyłane jest polecenie QUIT do zamknięcia połączenia:

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

Tym kończąc, serwer pocztowy przyjął wiadomość do dostarczenia, twój test wysyłania e-maila za pomocą telnetu jest zakończony i powinien znajdować się w skrzynce odbiorczej adresu RCPT TO!

Oto wszystkie polecenia bez przerw:

telnet mail.port25.com 25
Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
  
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

EHLO server.example.com
250-mail.port25.com says hello
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 send message

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,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Wysyłanie e-maila za pomocą telnetu pozwala szybko przetestować możliwości połączenia i jest tańsze niż zaawansowany sprzęt diagnostyczny lub oprogramowanie. Dla bardziej zaawansowanych narzędzi testowania SMTP warto używać Swaks z SparkPost dla kompleksowego testowania e-maili.

Wysyłanie e-maili za pomocą telnetu może pomóc w zidentyfikowaniu problemów z dostarczalnością w ramach obecnej konfiguracji.

Zanim wyślesz e-mail za pomocą telnetu, upewnij się, że telnet jest zarówno zainstalowany, jak i włączony na Twoim komputerze. Większość komputerów ma zainstalowanego klienta telnet. Dla wersji Windows, które go nie mają, można go zainstalować, otwierając sekcję „Programy i funkcje” w panelu sterowania i wybierając „Włącz lub wyłącz funkcje systemu Windows”. Gdy to okno jest otwarte, wybierz „klient telnet” i kliknij OK.

Po potwierdzeniu zainstalowania klienta telnet na serwerze, otwórz okno terminala, gdzie wpiszesz swoje polecenia. W systemie Windows użyj klawiszy Windows + R, wpisz „cmd” i naciśnij enter. Użytkownicy Mac znajdą ikonę terminala, otwierając Finder i wyszukując „Narzędzia” na stronie Aplikacje, lub wpisując „terminal” w funkcji wyszukiwania Launchpad.

Następnie musimy znaleźć serwer poczty, do którego mamy się zalogować. Do tego potrzebujemy rekordu DNS MX dla danej domeny. Można go znaleźć za pomocą następującego polecenia (w tych przykładach używana będzie domena port25.com, ale można ją zastąpić dowolną domeną):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Porty SMTP - Szybki Przewodnik

Oto szybki przewodnik po popularnych portach dla składania SMTP i kiedy ich używać:

Port

Szyfrowanie

Typowy przypadek użycia

Uwagi

25

Brak / Okazjonalny TLS

Serwer-serwer przekazywanie

Często blokowany przez ISP ze względu na spam

465

SSL/TLS domyślnie

Przestarzałe bezpieczne składanie

Nie zalecane, ale wciąż używane przez starsze systemy

587

STARTTLS

Współczesne autoryzowane składanie

Zalecane do składania emaili przez klientów

Dla zaawansowanej konfiguracji serwera poczty i optymalizacji, zobacz nasz przewodnik na temat wskazówek dotyczących konfiguracji PowerMTA. Jeśli twój relacyjny SMTP używa innego portu niż 25, jak pokazano w przykładzie, użyj portu określonego w odpowiedzi serwera wymiany poczty na nslookup. Możesz także zweryfikować port, od którego zależy twój SMTP, pytając administratora lub logując się na serwer 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 nasz internet. Aby to 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
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

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

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

telnet mail.port25.com 25

Coś podobnego do poniższego powinno się pojawić:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Jeśli w tym momencie otrzymasz komunikat o błędzie, taki jak „nie można połączyć się”, może to oznaczać, że numer portu jest poprawny lub serwer poczty ma problemy.

Pierwsze polecenie, które musimy wydać do serwera poczty dla naszego testera e-mail SMTP to EHLO lub HELO. To jest podstawowe powitanie, które rozpoczyna komunikację między klientem telnet a serwerem SMTP. Przyszły również DNS PTR dla adresu IP, z którego się łączymy, jak ustalono wcześniej.

EHLO server.example.com

Coś podobnego do poniższego powinno zostać zwrócone:

250-mail.port25.com says hello
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

I aol pokazuje tylko jedno:

250 DSN

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

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, takiego jak you@free-mail-provider.com. Wariacje 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 pocztowemu SMTP, do kogo należy wysłać wiadomość. Może być to takie samo lub inne niż nagłówek to, który jest adresem e-mail pokazanym w kliencie e-mail.

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

Dwukrotnie sprawdź adres odbiorcy przed wysłaniem polecenia RCPT TO — wyświetlenie tu komunikatu o błędzie może oznaczać błędnie napisany lub zablokowany adres odbiorcy.

Ostatnie polecenie do uruchomienia przed rozpoczęciem treści wiadomości to polecenie DATA. To polecenie informuje serwer pocztowy SMTP, że wszystko, co zaraz zostanie wysłane, to treść wiadomości (która zawiera również nagłówki).

DATA 354 wyślij wiadomość

Warto zauważyć, że jeśli serwer pocztowy obsługuje PIPELINING, jak mail.port25.com, serwer pocztowy SMTP może czekać do wydania polecenia DATA przed odpowiedzią na inne polecenia po EHLO/HELO. W takim przypadku wprowadź 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. Zaczyna się to od różnych nagłówków. Minimalnie wiadomość powinna zawierać nagłówek to, from, subject i date. Nagłówki wprowadzane tutaj zostaną pokazane użytkownikowi w jego kliencie e-mail.

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

Z ustawionymi nagłówkami dodajemy teraz jedną pustą linię z powrotem do karetki/przewijaniem linii (po prostu naciśnij enter dwa razy) i wtedy rozpoczynamy rzeczywistą treść wiadomości.

Hello World, To jest testowa wiadomość wysłana z manualnej sesji telnet. Z poważaniem, Administrator SMTP

Po zakończeniu wiadomości musimy powiedzieć serwerowi SMTP, że skończyliśmy z wiadomością i chcemy, aby serwer SMTP ją zaakceptował. Robi się to za pomocą kropki na linii samej sobie. Jeśli w trakcie pisania wiadomości potrzebna jest kropka na linii samej sobie, musisz wstawić 2 kropki, pierwsza ucieka drugiej.

.   250 2.6.0 wiadomość przyjęta

Jeśli otrzymasz komunikat o błędzie zamiast powiadomienia „przyjęta”, zanotuj istotne szczegóły i skontaktuj się ze swoim dostawcą usług e-mail w celu uzyskania dalszej pomocy. Problemy z połączeniem mogą być również związane z protokołami bezpieczeństwa - upewnij się, że używasz TLS 1.2 lub wyższego dla bezpiecznych połączeń.

Na koniec wysyłane jest polecenie QUIT do zamknięcia połączenia:

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

Tym kończąc, serwer pocztowy przyjął wiadomość do dostarczenia, twój test wysyłania e-maila za pomocą telnetu jest zakończony i powinien znajdować się w skrzynce odbiorczej adresu RCPT TO!

Oto wszystkie polecenia bez przerw:

telnet mail.port25.com 25
Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
  
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

EHLO server.example.com
250-mail.port25.com says hello
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 send message

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,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Wysyłanie e-maila za pomocą telnetu pozwala szybko przetestować możliwości połączenia i jest tańsze niż zaawansowany sprzęt diagnostyczny lub oprogramowanie. Dla bardziej zaawansowanych narzędzi testowania SMTP warto używać Swaks z SparkPost dla kompleksowego testowania e-maili.

Wysyłanie e-maili za pomocą telnetu może pomóc w zidentyfikowaniu problemów z dostarczalnością w ramach obecnej konfiguracji.

Zanim wyślesz e-mail za pomocą telnetu, upewnij się, że telnet jest zarówno zainstalowany, jak i włączony na Twoim komputerze. Większość komputerów ma zainstalowanego klienta telnet. Dla wersji Windows, które go nie mają, można go zainstalować, otwierając sekcję „Programy i funkcje” w panelu sterowania i wybierając „Włącz lub wyłącz funkcje systemu Windows”. Gdy to okno jest otwarte, wybierz „klient telnet” i kliknij OK.

Po potwierdzeniu zainstalowania klienta telnet na serwerze, otwórz okno terminala, gdzie wpiszesz swoje polecenia. W systemie Windows użyj klawiszy Windows + R, wpisz „cmd” i naciśnij enter. Użytkownicy Mac znajdą ikonę terminala, otwierając Finder i wyszukując „Narzędzia” na stronie Aplikacje, lub wpisując „terminal” w funkcji wyszukiwania Launchpad.

Następnie musimy znaleźć serwer poczty, do którego mamy się zalogować. Do tego potrzebujemy rekordu DNS MX dla danej domeny. Można go znaleźć za pomocą następującego polecenia (w tych przykładach używana będzie domena port25.com, ale można ją zastąpić dowolną domeną):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Porty SMTP - Szybki Przewodnik

Oto szybki przewodnik po popularnych portach dla składania SMTP i kiedy ich używać:

Port

Szyfrowanie

Typowy przypadek użycia

Uwagi

25

Brak / Okazjonalny TLS

Serwer-serwer przekazywanie

Często blokowany przez ISP ze względu na spam

465

SSL/TLS domyślnie

Przestarzałe bezpieczne składanie

Nie zalecane, ale wciąż używane przez starsze systemy

587

STARTTLS

Współczesne autoryzowane składanie

Zalecane do składania emaili przez klientów

Dla zaawansowanej konfiguracji serwera poczty i optymalizacji, zobacz nasz przewodnik na temat wskazówek dotyczących konfiguracji PowerMTA. Jeśli twój relacyjny SMTP używa innego portu niż 25, jak pokazano w przykładzie, użyj portu określonego w odpowiedzi serwera wymiany poczty na nslookup. Możesz także zweryfikować port, od którego zależy twój SMTP, pytając administratora lub logując się na serwer 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 nasz internet. Aby to 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
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

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

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

telnet mail.port25.com 25

Coś podobnego do poniższego powinno się pojawić:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Jeśli w tym momencie otrzymasz komunikat o błędzie, taki jak „nie można połączyć się”, może to oznaczać, że numer portu jest poprawny lub serwer poczty ma problemy.

Pierwsze polecenie, które musimy wydać do serwera poczty dla naszego testera e-mail SMTP to EHLO lub HELO. To jest podstawowe powitanie, które rozpoczyna komunikację między klientem telnet a serwerem SMTP. Przyszły również DNS PTR dla adresu IP, z którego się łączymy, jak ustalono wcześniej.

EHLO server.example.com

Coś podobnego do poniższego powinno zostać zwrócone:

250-mail.port25.com says hello
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

I aol pokazuje tylko jedno:

250 DSN

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

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, takiego jak you@free-mail-provider.com. Wariacje 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 pocztowemu SMTP, do kogo należy wysłać wiadomość. Może być to takie samo lub inne niż nagłówek to, który jest adresem e-mail pokazanym w kliencie e-mail.

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

Dwukrotnie sprawdź adres odbiorcy przed wysłaniem polecenia RCPT TO — wyświetlenie tu komunikatu o błędzie może oznaczać błędnie napisany lub zablokowany adres odbiorcy.

Ostatnie polecenie do uruchomienia przed rozpoczęciem treści wiadomości to polecenie DATA. To polecenie informuje serwer pocztowy SMTP, że wszystko, co zaraz zostanie wysłane, to treść wiadomości (która zawiera również nagłówki).

DATA 354 wyślij wiadomość

Warto zauważyć, że jeśli serwer pocztowy obsługuje PIPELINING, jak mail.port25.com, serwer pocztowy SMTP może czekać do wydania polecenia DATA przed odpowiedzią na inne polecenia po EHLO/HELO. W takim przypadku wprowadź 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. Zaczyna się to od różnych nagłówków. Minimalnie wiadomość powinna zawierać nagłówek to, from, subject i date. Nagłówki wprowadzane tutaj zostaną pokazane użytkownikowi w jego kliencie e-mail.

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

Z ustawionymi nagłówkami dodajemy teraz jedną pustą linię z powrotem do karetki/przewijaniem linii (po prostu naciśnij enter dwa razy) i wtedy rozpoczynamy rzeczywistą treść wiadomości.

Hello World, To jest testowa wiadomość wysłana z manualnej sesji telnet. Z poważaniem, Administrator SMTP

Po zakończeniu wiadomości musimy powiedzieć serwerowi SMTP, że skończyliśmy z wiadomością i chcemy, aby serwer SMTP ją zaakceptował. Robi się to za pomocą kropki na linii samej sobie. Jeśli w trakcie pisania wiadomości potrzebna jest kropka na linii samej sobie, musisz wstawić 2 kropki, pierwsza ucieka drugiej.

.   250 2.6.0 wiadomość przyjęta

Jeśli otrzymasz komunikat o błędzie zamiast powiadomienia „przyjęta”, zanotuj istotne szczegóły i skontaktuj się ze swoim dostawcą usług e-mail w celu uzyskania dalszej pomocy. Problemy z połączeniem mogą być również związane z protokołami bezpieczeństwa - upewnij się, że używasz TLS 1.2 lub wyższego dla bezpiecznych połączeń.

Na koniec wysyłane jest polecenie QUIT do zamknięcia połączenia:

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

Tym kończąc, serwer pocztowy przyjął wiadomość do dostarczenia, twój test wysyłania e-maila za pomocą telnetu jest zakończony i powinien znajdować się w skrzynce odbiorczej adresu RCPT TO!

Oto wszystkie polecenia bez przerw:

telnet mail.port25.com 25
Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
  
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

EHLO server.example.com
250-mail.port25.com says hello
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 send message

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,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Wysyłanie e-maila za pomocą telnetu pozwala szybko przetestować możliwości połączenia i jest tańsze niż zaawansowany sprzęt diagnostyczny lub oprogramowanie. Dla bardziej zaawansowanych narzędzi testowania SMTP warto używać Swaks z SparkPost dla kompleksowego testowania e-maili.

Jak przetestować SMTP za pomocą autoryzacji 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 czytelników, chociaż nie wszystkie serwery wymiany poczty tego wymagają. Zrozumienie uwierzytelniania jest również istotne przy analizie nagłówków e-maili 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 tekstowy ASCII wymagany przez serwery pocztowe do pomyślnej transmisji danych. Jest to sposób reprezentowania danych logowania — pewna kombinacja tekstu — w formacie numerycznym zrozumiałym dla komputera.

Możesz generować base64 za pomocą oprogramowania lub darmowych narzędzi online. Gdy już przekażesz informacje do serwera poczty, porównuje on te dane z rekordami, aby określić uwierzytelnianie.

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

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

  • Przywitaj się z serwerem za pomocą EHLO lub HELO, wpisz AUTH LOGIN i czekaj na odpowiedź komputera.

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

  • Wprowadź hasło zakodowane w base64 i powinieneś otrzymać odpowiedź, taką jak „uwierzytelnianie powiodło się”.

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

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 czytelników, chociaż nie wszystkie serwery wymiany poczty tego wymagają. Zrozumienie uwierzytelniania jest również istotne przy analizie nagłówków e-maili 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 tekstowy ASCII wymagany przez serwery pocztowe do pomyślnej transmisji danych. Jest to sposób reprezentowania danych logowania — pewna kombinacja tekstu — w formacie numerycznym zrozumiałym dla komputera.

Możesz generować base64 za pomocą oprogramowania lub darmowych narzędzi online. Gdy już przekażesz informacje do serwera poczty, porównuje on te dane z rekordami, aby określić uwierzytelnianie.

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

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

  • Przywitaj się z serwerem za pomocą EHLO lub HELO, wpisz AUTH LOGIN i czekaj na odpowiedź komputera.

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

  • Wprowadź hasło zakodowane w base64 i powinieneś otrzymać odpowiedź, taką jak „uwierzytelnianie powiodło się”.

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

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 czytelników, chociaż nie wszystkie serwery wymiany poczty tego wymagają. Zrozumienie uwierzytelniania jest również istotne przy analizie nagłówków e-maili 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 tekstowy ASCII wymagany przez serwery pocztowe do pomyślnej transmisji danych. Jest to sposób reprezentowania danych logowania — pewna kombinacja tekstu — w formacie numerycznym zrozumiałym dla komputera.

Możesz generować base64 za pomocą oprogramowania lub darmowych narzędzi online. Gdy już przekażesz informacje do serwera poczty, porównuje on te dane z rekordami, aby określić uwierzytelnianie.

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

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

  • Przywitaj się z serwerem za pomocą EHLO lub HELO, wpisz AUTH LOGIN i czekaj na odpowiedź komputera.

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

  • Wprowadź hasło zakodowane w base64 i powinieneś otrzymać odpowiedź, taką jak „uwierzytelnianie powiodło się”.

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

Inne wiadomości

Czytaj więcej z tej kategorii

A person is standing at a desk while typing on a laptop.

Kompletna, natywna dla AI platforma, która rośnie wraz z Twoim biznesem.

A person is standing at a desk while typing on a laptop.

Kompletna, natywna dla AI platforma, która rośnie wraz z Twoim biznesem.