Отправка почты через telnet
Как проверить работоспособность отправки почты с машины (своего сервера) используя утилиту telnet? Первый вариант - когда smtp сервер не требует авторизации (но большинство требует авторизации)
Итак, в командной строке вводим:
1. telnet "smtp.server.ru" 25 //Команда для входа на почтовый сервер
220 "бла-бла" // ответ от сервера - всё ок
2. Команда приветствия:
helo vasia.mail.ru // vasia.mail.ru - адрес с которого вы запустили telnet
250 "бла-бла" // ответ от сервера - всё ок
3. Указываем адрес отправителя:
mail from: vasia@mail.ru
250 Sender ok // ответ от сервера - всё ок
4. Указываем адресата:
rcpt to: semen@mail.ru
250 Recipient ok // ответ от сервера - всё ок
5. Введим команду
data
354 Enter mail, end with "." on a line by itself // ответ от сервера - всё ок - можно вводить текст письма
6. Введём тему письма:
Subject: тема тестового письма
7. С новой строки - текст письма - а в конце письма одну точку в пустой строке, чтобы закончить письмо
.
Message accepted for delivery // ответ от сервера - письмо ушло
9. Введём для выхода команду
quit
221 closing connection
Connection closed by foreign host.
Второй вариант - когда smtp сервер требует(!) авторизации - рассмотрим конкретный пример с сервисом mail.ru
В командной строке вводим:
1. telnet smtp.mail.ru 25
220 smtp2.mail.ru ESMTP ready
2. ehlo mail.ru //приветствуем сервер
250-smtp2.mail.ru // ок – приветствие успешно
250-SIZE 31457280
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250 STARTTLS
3. Авторизовываемся на сервере
auth login
334 VXNlcm5hbWU6 // ок – вводите логин пароль
4. Теперь нужно ввести логин и пароль(через Enter), но они должны быть закодированы. Следует использовать кодировщик base64 encode. В интернете можно найти ресурсы по кодировке, например этот
YBHHHJRhbHk= // Закодированный логин
334 UGFzc3dvcmQ6 // ок - принят
cm9vdFdFSdsQ== // Закодированный пароль
235 2.0.0 OK
5. mail from:vasia@mail.ru
250 OK
6. rcpt to:vit@gmail.com
250 Accepted
7. data
354 Enter message, ending with "." on a line by itself
8. Subdject: testing from cmd
9. текст письма (в конце в пустой строке точку)
hello World
.
250 OK id=1PRU8v-00052r-00
10. quit // Выходим с сервера
221 smtp2.mail.ru closing connection
Connection to host lost.