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:
- list — список сообщений (с указанием количества байт в каждом сообщении);
- top msg lines — вывод заголовка сообщения msg с отображением первых
lines
строк. Например, командаtop 3 5
выводит заголовок сообщения 3 с первыми 5 строками тела сообщения; - retr msg — отображение сообщения с заданным номером (например,
retr 2
); - dele n — удаление сообщения с номером
n
; - rset — восстановление сообщений, помеченных для удаления;
- quit — уничтожение сообщений, помеченных для удаления, и завершение сеанса.
См. также
RFC 1939 с полным списком команд POP; раздел «Введение» настоящей главы; telnet(1)
.