+7(960) 250-82-68 info@mirossa.ru


 mirossa        1С           C         PHP       JAVA  


Статьи
 
 

Отправка письма через Telnet

а. Установка и настройка Stunnel.

При отправке письма потребуется шифрование, которого у Telnet нет.
Поэтому устанавливаем и настраиваем программу stunnel(или аналог).
Настройки для stunnel в файле stunnel.conf, например такие(для учетной записи на mail.ru):

client = yes

output = stunnel-log.txt
debug = 0
[SMTP mail]
accept = 127.0.0.1:25
connect = smtp.mail.ru:465

[POP3 mail]
accept = 127.0.0.1:110
connect = pop.mail.ru:995

б. Открываем Telnet и начинаем диалог:

белый цвет - ответы Сервера, черный - вводит пользователь, зеленый - комментарий
После команд нажимается Enter.

в командной строке набираем >telnet 127.0.0.1 25
220 smtp39.i.mail.ru ESMTP ready
ehlo rrr.ru //после ehlo - я указывал любое имя(rrr.ru).
250-smtp39.i.mail.ru
250-SIZE 73400320
250-8BITMIME
250-PIPELINING
250 AUTH PLAIN LOGIN XOAUTH2
auth login //Вариант аутентификации, когда вначале вводится логин, а затем пароль
334 VXNlcm5hbWU6 //VXNlcm5hbWU6 значит Username:
c2VyZ2V5QG1haWwucnU= //Логин, кодированный в Base64. Формат sergey@mail.ru
334 UGFzc3dvcmQ6 //UGFzc3dvcmQ6 значит Password:
YmVyaVBhc3N3b3JkOik= //Пароль, кодированный в Base64
235 Authentication succeeded
mail from: <sergey@mail.ru> //После этой команды возникла ошибка
500 unrecognized command
mail from: <sergey@mail.ru> //После такой же команды снова возникла другая ошибка
501 <sergey@mail.ru>: malformed address:mail.ru> may not follow <sergey@mail.ru>
mail from: <sergey@mail.ru> //с третьего раза та же команда оказалась правильной :)
250 OK
rcpt to: <sergey@list.ru>
250 Accepted
data
354 Enter message, ending with "." on a line by itself //"Завершаем ввод сообщения точкой на отдельной строке"
subject: test //Тема письма (её можно не указывать)
Hello world! //Тело письма

. //(.)Точка - конец письма
250 OK id=1adKKc-0007ao-Eu //id отправленного письма
По поводу возникновения "ошибок" при вводе команд(выше показаны две ошибки).
Заметил, что если вначале ввести команду в текстовом редакторе, скопировать и вставить в консоль, то ошибок нет.