Рубрики
mail \ почта

Проверка подключения к почтовому серверу \ telnet \ nc

1. Проверка почты через telnet

Как проверить работоспособность почты на сервере mail.server.ua используя утилиту telnet?
Команда для входа на почтовый сервер:
telnet mail.server.ua 110
Задать имя пользователя: user user@server.ua
Задать пароль для пользователя: pass PassW0rd
Получить список писем: list
Прочитать письмо retr x (где x - это номер письма)
Для выхода введите команду quit

2. Проверка работы почтового сервера из командной строки

Доступ к SMTP через telnet (отправка почты).

telnet mail.mydomain.ru 25
mail.mydomain.ru - адрес smtp сервера


25 - smtp-порт сервера, с которым должен соединиться telnet
220 mail.mydomain.ru ESMTP Sendmail 8.13.1/8.13.1; Sat, 6 Oct 2007 09:50:16 +0400


ehlo lo
ehlo lo - здороваемся с удалённым smtp-сервером


250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP


mail from: test@mydomain.ru
здесь мы говорим, что адрес почтовый отправителя письма test@mydomain.ru
250 2.1.0 test@mydomain.ru... Sender ok
поверка отправителя прошла успешно
rcpt to: test@remote.ru
тут мы ввели почтовый адрес получателя нашего письма test@remote.ru
250 2.1.5 test@remote.ru... Recipient ok
проверка получателя прошла успешно
data
команда data говорит о том, что дальше пойдёт тело письма
354 Enter mail, end with "." on a line by itself


ответ сервера говорит нам о том, что закончить письмо мы должны набрать точку "." на новой строке после набранного нами сообщения (тела письма)
this test mail bla-bla-bla.
это наш текст
.
точка - даём понять серверу, что письмо набрано и его пора отправлять адресату.


250 2.0.0 l965oGGR025162 Message accepted for delivery
Ответ сервера - письмо ушло на отправку.


Доступ к POP3 через telnet (приём почты)


telnet pop3.myserver.ru 110
pop3.myserver.ru - наш pop3 сервер


110 - pop3-порт на который соединиться телнет
+OK
сервер сказал, что соединение прошло нормально
user test
ввели имя пользователя test.
pass parol
ввели пароль "parol"
теперь мы можем узнать количество и размер почтовых сообщений:
stat
для вывода полного листинга почтовых сообщений надо использовать команду:
list
для того чтобы прочитать нужное сообщение вводим:
retr номер письма
просмотреть только заголовок сообщения:
top номер письма 0 (в конце строки поставить ноль)
удалить письмо из ящика:
dele номер сообщения
выход:
quit

Дополнение:

Если SMTP сервер требует SMTP-аутентификацию, то после того как мы с ним поздоровались (ehlo lo) вводим команду AUTH LOGIN и после неё по очереди:
USERNAME имя-пользователя
PASSWORD наш-пароль

Как отправить файл по электронной почте из командной строки Linux.

Для отправки файла из командной строки можно воспользоваться несколькими способами:
Отправка текстового файла:
cat text.txt | mail -s TEST email@address
Отправка бинарного файла:
cat text.exe | uuencode text.txt | mail -s TEST email@address 
Отправка файла с архивированием на лету:
gzip -c text | uuencode text.gz | mail -s TEST email@address
Отправка с помощью утилиты mpack:
mpack -s “Attached file” file.jpg test@example.com
Отправка с помощью утилиты nail: 
nail -s "Let's send file" -a file_to_send.rar recepient@email.adr
Look at this funny file
.