Почта через telnet


Для работы с почтой бывает достаточно и простого стандартного телнет-клиента. Мной этот способ использовался для проверки работы почтовых серверов своего провайдера. Для тех кто не в курсе:
pop3 сервер - получение почты;
smtp сервер - отправка почты.
 
Работаем с pop3:

telnet pop3.peterstar.net 110 # коннектимся к поп3
Translating "pop3.peterstar.net"...domain server (217.195.65.9) [OK]
Trying pop3.peterstar.net (217.195.65.2, 110)... Open
+OK A-LX ready
USER support-pskov 
# вводим логин
+OK Password required for support-pskov.
PASS vvodim_password 
# вводим пароль
+OK support-pskov has 7 visible messages (0 hidden) in 2801174 octets.


команды:

STAT

Осуществляет проверку состояния почтового ящика. Результатом выполнения этой команды является строка вида "+OK mm nn", где mm - количество сообщений в почтовом ящике, а nn - занимаемый этими сообщенийми размер.

LIST

Выдает список сообщений в виде "номер размер".Номер служит как бы идентификатором конкретного сообщения, а что означает размер понятно и так.

RETR номер

Показать сообщение с указанным номером. Сообщение показывается в том виде, в котором хранится в почтовом ящике, т.е. со всеми заголовками.

DELE номер

Отметить сообщение с указанным номером к удалению. Фактического удаления сообщения в режиме транзакций не происходит. См. ниже.

RSET

Снимает отметки на удаление для всех отмеченных сообщений.

QUIT

Выход из режима транзакций в режим обновления.

Работаем с smtp:

telnet smtp.peterstar.net 25 # коннектимся к smtp
Trying relay.peterstar.net (217.195.65.5, 25)... Open
220 SENDMAILER ESMTP Relay.PeterStar
ehlo peterstar.ru 
# приветствуем сервер;)
250-relay.peterstar.ru Hello [82.140.120.189]
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 10000000
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
MAIL FROM: support-pskov@peterstar.ru 
# указываем почтовый ящик отправителя
250 2.1.0 support-pskov@peterstar.ru... Sender ok
RCPT TO: pnf404@yandex.ru 
# указываем почтовый ящик получателя
250 2.1.5 pnf404@yandex.ru... Recipient ok
data
354 Enter mail, end with "." on a line by itself
Subject: test  # тема письма
# текст письма. Обязательно перед вводом текста жмем ентер, тема письма и текст должны быть разделены пустой строкой.
This is a test message
# после ввода текста жмем ентер, ставим точку и еще раз жмем ентер.
250 2.0.0 o4HEOqgZ040121 Message accepted for delivery 
# письмо отправлено
quit 
# выход
221 2.0.0 relay.peterstar.ru closing connection


May 17, 2010