20.4. Тестирование почтового сервера SMTP/POP3

Проблема

Требуется убедиться в том, что различные компоненты почтового сервера успешно работают.

Решение

Для тестирования почтового сервера можно использовать программы telnet и openssl s_client. Проверка работы сервера SMTP проводится с помощью telnet:

$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '*]'.
220 windbag.test.net ESMTP Postfix (Libranet/GNU)
ehlo windbag
250-windbag.test.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-XVERP
250 8BITMIME
mail from: foober@test.net
250 OK
rcpt to: carla@test.net
250 OK
data
354 End data with <CR><LF>.<CR><LF>
Date: Jan 15, 2004
From: foober
Reply-to: foober@test.net
Message-Id: <six@test.net>
Subject: telnet test
Hi Carla,
Did you get this?
.
250 OK: queued as 6069F2290C
quit
221 Bye
Connection closed by foreign host.

Программа telnet также используется для проверки простой, незашифрованной пересылки POP3:

$ telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '*]'.
+OK Hello there.
user carla
+OK Password required.
pass mypassword
+OK 2 messages [1275 octets]
list
+OK POP3 clients that break here, they violate STD53.
1 638
2 637
retr 1
+OK 638 octets follow.
Return-Path: <stinkpad@test.net>
X-Original-To: carla@test.net
Received: from 192.168.1.100 (unknown [192.168.1.100])
  by windbag.test.net (Postfix) with ESMTP id 409E722884
  for <carla@test.net>; Thu, 15 Jan 2004 15:29:54 -0700 (PDT)
From: stinkpad <stinkpad@test.net>
To: carla@test.net
Subject: telnet test
Date: Thu, 15 Jan 2004 15:29:50 -0700
User-Agent: KMail/1.5.4
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200401151529.50714.stinkpad@test.net>
Hi Carla,
Did you get this?
.
quit
+OK Bye-bye.
Connection closed by foreign host.

Для тестирования поддержки TLS/SSL используется программа openssl s_client:

$ openssl s_client -connect localhost:995
CONNECTED(00000003)
depth=0 /C=US/ST=NM/L=Albuquerque/O=Courier Mail Server/OU=Automatically-generated
POP3 SSL key/CN=windbag/emailAddress=postmaster@test.net
verify error:num=18:self signed certificate
...
+OK Hello there.
user carla
+OK Password required.
pass sekritword
+OK logged in.

Далее всё делается так же, как в обычном сеансе POP3.

Проверка клиентских подключений может выполняться по имени хоста или по IP-адресу:

$ telnet windbag 25
$ telnet 192.168.1.5 110
$ openssl s_client -connect windbag:995

Комментарий

Некоторые распространённые команды POP3:

См. также

RFC 1939 с полным списком команд POP; раздел «Введение» настоящей главы; telnet(1).