Jak testować serwer SMTP z wiersza poleceń przez Telnet i w narzędziach online

Aby upewnić się, że rozumiesz wszystkie szczegóły tego, co mamy zamiar omówić, zdefiniujmy czym jest SMTP i co można za jego pomocą testować.

SMTP (Simple Mail Transfer Protocol) jest metodologią stojącą za obiegiem poczty elektronicznej w Internecie. Ludzie zapewne zastanawiali się, w jaki sposób e-maile docierają do miejsca przeznaczenia. SMTP w pełni pokrywa to zagadnienie, implementując coś podobnego do mechanizmu dostarczania prawdziwego listu w kopercie. Serwer SMTP, lub po prostu komputer z uruchomionym protokołem SMTP, jest nośnikiem poczty w Internecie. Wiadomości wysyłane są bezpośrednio do tego serwera, który w konsekwencji dostarcza je do odbiorców. Całkiem wygodne, nieprawdaż?

Różne rzeczy można sprawdzić, po prostu telnetując się do danego serwera SMTP:

  • Czy serwer działa?
  • Czy firewall blokuje komunikację?
  • Czy serwer pocztowy pozwala na przekazywanie konkretnej domeny lub adresu e-mail?
  • Jakie komendy SMTP obsługuje serwer pocztowy?
  • Ile czasu zajmuje odpowiedź serwera?
  • Czy serwer odpowiada z poprawną nazwą hosta?

Jak przetestować serwer SMTP za pomocą ręcznej sesji telnet?

Najpierw należy zweryfikować klienta telnet pod kątem instalacji na serwerze. Następnie należy wyszukać serwer pocztowy, do którego można się zalogować. Do tego celu będzie nam potrzebny rekord DNS MX dla danej domeny. Można użyć czegoś podobnego do poniższego polecenia:

Windows:

nslookup -type=mx mailtrap.io

Linux:

nslookup -type=mx mailtrap.ioNon-authoritative answer:Server:192.168.0.1Address:192.168.0.1#53Non-authoritative answer:mailtrap.iomail exchanger = 10 aspmx2.googlemail.com.mailtrap.iomail exchanger = 10 aspmx3.googlemail.com.mailtrap.iomail exchanger = 1 aspmx.l.google.com.mailtrap.iomail exchanger = 5 alt1.aspmx.l.google.com.mailtrap.iomail exchanger = 5 alt2.aspmx.l.google.com.

Dla IP, z którego będziemy korzystać, potrzebujemy DNS PTR. W tym celu, powinniśmy zacząć od adresu IP, który Internet widzi jako posiadany przez nas. Strony takie jak ta http://whatismyipaddress.com/ mogą być doskonałym rozwiązaniem w tym przypadku.

Gdy już odgadłeś swój adres IP, uruchom poniższe polecenie, gdzie T.T.T.T oznacza adres IP.

Windows:

nslookup -type=ptr T.T.T.T

Linux:

nslookup -type=ptr A.B.C.DServer:192.168.0.1Address:192.168.0.1#53Non-authoritative answer:212.235.118.46.in-addr.arpaname = SOL-FTTB.212.235.118.46.sovam.net.ua.

Mamy teraz dwa podstawowe wymagania – rekord MX dla railsware.com oraz PTR dla IP, którego będziemy używać. W tym momencie możesz zalogować się do serwera SMTP. Użyj następującej komendy, aby to zrobić:

telnet mail.railsware.com 25

Wyświetli się coś podobnego do poniższego kodu:

Trying 45.55.56.249...Connected to mail.railsware.com (45.55.56.249).Escape character is '^]'.220 mail.railsware.com (PowerMTA(TM) v4.0) ESMTP service readyThe first command to issue to the mail server is going to be EHLO or HELO, which is a basic greeting that initiates the communication between the SMTP server and the telnet client.EHLO server.example.com

Powinno zostać zwrócone coś podobnego do poniższego:

250-mail.railsware.com says hello250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250-8BITMIME250-XACK250-XMRG250-SIZE 54525952250-VERP250 DSN

Kolejnym zagadnieniem będzie polecenie MAIL FROM. Polecenie to definiuje adres, na który dostarczane są odbiory. Nagłówek „From” nie jest tym samym (adresem e-mail wyświetlanym w kliencie poczty).

MAIL FROM: <[email protected]>250 2.1.0 MAIL ok

Po wysłaniu komendy MAIL FROM możemy wysłać komendę RCPT TO. Komenda RCPT TO określa, do kogo ma zostać wysłana wiadomość. Jest to zarówno podobne jak i różne od nagłówka „TO”.

RCPT TO: <[email protected]>250 2.1.5 <[email protected]> okBefore starting the body of the message, you should run the DATA command. This command "explains” that all the other content, aside from previous, is the body of the message, including the headers.DATA354 send message

Niektóre serwery pocztowe, w tym mail.rsilsware.com, obsługują PIPELINING. Oznacza to, że serwer pocztowy SMTP będzie czekał na wydanie komendy DATA zanim odpowie na jakiekolwiek inne komendy po komendzie EHLO. Wprowadź komendy MAIL FROM, RCPT TO i DATA przed oczekiwaniem na odpowiedź w tym przypadku.

Wypróbuj Mailtrap za darmo

Usługi online do testowania serwerów SMTP

Na początek musisz zdefiniować adres serwera SMTP. Możesz użyć komendy ns lookup aby to zrobić lub skorzystać z niektórych usług online jak https://mxtoolbox.com/SuperTool.aspx?action=mx#.

Usługa sprawdzania SMTP będzie zawierała kilka etapów jak: sprawdzenie statusu serwera DNS Black List, weryfikacja rekordów MX, konfiguracja przekaźników, rekord PTR, weryfikacja adresu email. Mamy kilka usług online, które mogą pomóc w sprawdzeniu serwera SMTP:

Dołącz do naszego newsletteraTylko najlepsze treści, dostarczane raz w miesiącu. Zrezygnuj z subskrypcji w każdej chwili.

MX Toolbox

https://mxtoolbox.com/diagnostic.aspx

MX Toolbox to darmowa usługa, która wykona proste testy:

  • SMTP Reverse DNS Mismatch
  • SMTP Valid Hostname
  • SMTP Banner Check
  • SMTP TLS
  • SMTP Connection Time
  • SMTP Open Relay
  • SMTP Transaction Time

Nie wolno jednak definiować portu, podawać hasła itp. Liczba testów jest również ograniczona.

Wormly

https://www.wormly.com/test_smtp_server

Wormly daje Ci darmową wersję próbną, aby sprawdzić Twoje serwery SMTP, ale nie pozwala na definiowanie portu lub hasła, bezpieczne połączenie również nie jest dostępne.

SMTPer

http://smtper.nanogenesis.fr/

SMTPer jest rzeczywiście najwygodniejszym rozwiązaniem, które pozwala na zdefiniowanie portu, zapewnia użytkownikom bezpieczne połączenie i autoryzację. Można również wypełnić formularze zarówno nadawcy, jak i odbiorcy.

test-smtp.com

http://www.test-smtp.com/

Test SMTP po prostu wysyła żądania do serwerów SMTP w celu wykonania testów Relaying. Usługa ta nie posiada wystarczającego zestawu narzędzi do prawidłowego badania SMTP.

testsmtp.tcsoftware.net

http://testsmtp.tcsoftware.net/

Check SMTP działa dla pewnych części procesu, ale nie wystarcza do prawidłowego badania. Nie zapewnia bezpiecznego połączenia.

Check SMTP przeprowadzi następujące testy:

  • Sprawdź status swojego serwera DNS Black List
  • Weryfikuj rekordy MX
  • Konfiguracja przekaźników
  • Rekord PTR (Reverse Lookup)
  • Weryfikuj adres e-mail

Dodatkowe zasoby

Potrzebujesz pomocy w konfiguracji wysyłania e-maili dla swojej infrastruktury? Znajdź swój przewodnik tutaj:

  • Wysyłanie emaili za pomocą PHP
  • Wysyłanie emaili za pomocą PHPMailer
  • Wysyłanie emaili za pomocą Laravel
  • Wysyłanie emaili za pomocą Symfony
  • Wysyłanie emaili za pomocą NodeJS
  • Wysyłanie emaili za pomocą Nodemailer
  • Sending Emails with Java
  • Sending Emails with Python
  • Sending Emails with Django
  • Sending Emails with Go
  • Sending Emails with Ruby
  • Sending Emails with ASP .Net C#
  • Wysyłanie emaili z Angular App
  • Wysyłanie emaili z React App
  • Wysyłanie emaili z React Native App

Jeśli podobał Ci się ten artykuł, proszę podziel się i rozpowszechnij go. Będziemy naprawdę wdzięczni.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *