
Testowanie połączenia z serwerem SMTP przy użyciu programu Telnet
Artykuł dotyczy: | |
- | Microsoft Outlook 2000/2002/2003/2007 |
- | Outlook Express |
Często pojawiającym się pytaniem dotyczącym programu Outlook jest problem z wysyłaniem poczty przez serwer SMTP. Problem ten może występować bezpośrednio po skonfigurowaniu konta lub pojawić się nagle. W takich wypadkach użytkownicy często starają się szukać przyczyny problemu w samym programie Outlook. Tymczasem bardzo rzadko Outlook jest odpowiedzialny za brak możliwości wysyłania wiadomości. Zazwyczaj problem jest spowodowany błędną konfiguracją konta lub blokowaniem portów komunikacyjnych przez inne programy, takie jak programy antywirusowe, czy zapory sieciowe, co uniemożliwia połączenie się z serwerem SMTP.
Typowy błąd zgłaszany przez program Outlook, wygląda następująco:
Łączenie z serwerem nie powiodło się. Konto: 'outlook.pl', Serwer: 'smtp.outlook.pl', Protokół: SMTP, Port: 25, Zabezpieczenie (SSL): Nie, Błąd łączy: 10060, Numer błędu: 0x800CCC0E.
Najprostszym i najszybszym testem na sprawdzenie, czy winna leży po stronie Outlook'a, jest próba wysłania wiadomości pocztowej na swój własny adres przy użyciu programu telnet. Jest to program, który umożliwia nam nawiązanie z konsoli linii poleceń połączenia bezpośrednio z serwerem pocztowym na poziomie protokołu komunikacyjnego TCP/IP i konwersację z serwerem przy wykorzystaniu protokołu SMTP (Simple Mail Transport Protocol). Podstawowy protokół SMTP jest bardzo prostym protokołem tekstowym, dlatego nawet mało doświadczony użytkownik nie będzie miał problemów z wysłaniem wiadomości pocztowej przy użyciu komend SMTP.
W poniższym przykładzie przetestujemy połączenie do serwera SMTP o nazwie outlook.pl dla konta pocztowego info@outlook.pl i wyślemy wiadomość testową. Pogrubioną zieloną czcionką zaznaczone zostały te komendy, które wpisywane są przez użytkownika. Czcionką zieloną niepogrubioną zaznaczone zostały komendy wyświetlane przez serwer SMTP. Po wpisaniu tekstu komendy, należy wcisnąć przycisk Enter, aby ją wykonać. Aby przeprowadzić test, należy postąpić w następujący sposób:
Kliknąć przycisk Start, wybrać polecenie Uruchom i w polu edycji wpisać:
Uruchomiona zostanie konsola linii poleceń. Należy uruchomić w niej program telnet z dwoma argumentami. Pierwszym powinna być nazwa serwera, z którym chcemy się połączyć, drugim - numer portu TCP, na którym chcemy połączyć się z serwerem. Ponieważ łączymy się z serwerem SMTP dlatego używamy dobrze znanego numeru portu SMTP - 25:
Jeśli łączenie z serwerem nie powiedzie się, to wyświetlony zostanie następujący komunikat:
Połączenie nie powiodło się
W tym momencie już wiemy, że istnieją jakieś problemy z połączeniem i że należy ich szukać w konfiguracji komputera i sieci, a nie w programie Outlook.
Jeśli połączenie z serwerem się uda, to na ekranie zobaczymy komunikat powitalny, na przykład:
220-We do not authorize the use of this system to transport unsolicited,
220 and/or bulk e-mail.
Teraz możemy zacząć wysyłać komendy do serwera SMTP. Pierwsza z nich to komenda EHLO, po której powinna nastąpić nazwa naszego komputera:
Serwer odpowie nam wyświetlając informacje o obsługiwanych rozszerzeniach protokołu SMTP, np.:
250-adi.ehost.pl Hello alfa [193.239.56.225]
250-SIZE 52428800
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
Wpisujemy komendę MAIL FROM z adresem, z jakiego wysyłana jest wiadomość. Powinniśmy podać tutaj poprawny adres SMTP najlepiej własny, ale z innego serwera SMTP. Jeśli podamy adres konta obsługiwanego przez ten sam serwer SMTP, który właśnie testujemy, to serwer może zażądać, abyśmy najpierw się uwierzytelnili, co znacznie utrudniło by cały test.
Serwer powinien zaakceptować adres odpowiadając na przykład:
Teraz wpisujemy komendę RCPT TO i podajemy adres, na który chcemy wysłać wiadomość. Powinien to być koniecznie adres, który znajduje się na serwerze SMTP, z którym się połączyliśmy:
Serwer powinien zaakceptować adres odbiorcy odpowiadając na przykład:
Teraz możemy wydać komendę DATA, aby poinformować serwer, że jesteśmy gotowi do wpisania treści wiadomości:
Serwer odpowie, że jest gotowy do przyjęcia wiadomości, na przykład:
Możemy wprowadzać treść wiadomości, jej koniec powinien być oznaczony przez pojedynczy znak kropki w nowej linii:
To jest wiadomosc testowa.
.
Serwer potwierdzi odebranie wiadomości, na przykład:
250 OK id=1HHFZx-0006L4-Oy
Teraz pozostaje nam jeszcze tylko podanie komendy QUIT, aby zakończyć połączenie z serwerem:
Przebieg całego procesu wysyłania wiadomości widoczny jest na obrazku poniżej. Tekst zaznaczony na zielono to komendy wprowadzane przez użytkownika. Pozostały tekst to odpowiedzi serwera.
![]() |
Jeśli uda nam się wysłać wiadomość testową ze swojego na swój własny adres przy użyciu programu telnet, a takiej samej wiadomości nie możemy wysłać używając programu Outlook, oznacza to, że faktycznie problem jest związany z programem Outlook. Jeśli jednak nie uda nam się wysłać poprawnie wiadomości przy użyciu programu telnet, to znaczy, że wina nie leży po stronie Outlook'a i powinniśmy szukać przyczyn problemu w konfiguracji naszego komputera lub połączenia do sieci Internet.
Jeśli masz jakieś pytania lub komentarze dotyczące tego artykułu, napisz na naszym forum.
(c) CodeTwo. Wszelkie prawa zastrzeżone.
© Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.