Отправка почтового сообщения через telnet с авторизацией
Добавлено: 01 янв 2022, 20:43
В общем все тривиально кроме одного момента, если сервер использует AUTH LOGIN, то указывать логин и пасс в plain text не получится.
Поэтому и понадобился этот ман.
Итак дано:
1. сервер 192.168.1.20
2. порт подключения 25 (мой любимый постфикс)
3. Login - USER1
4. Password - SupperDrupp3rP@$$w
Для того чтобы послать логин и пасс нам надо преобразовать их в Base64
Пишем скрипт
perl -MMIME::Base64 -e 'print encode_base64("USER1");'
perl -MMIME::Base64 -e 'print encode_base64("SupperDrupp3rP@$$w");'
Выполняем скрипты и смотрим хэш
теперь выполняем telnet
telnet 192.168.1.20 25
Сервер показывает список своих возможностей, мы же выберем метод AUTH LOGIN и введем закодированные логин и пароль. Обратите внимание, что логин и пароль он спрашивает также в Base64-закодированном виде:
Если все норм то сервак ответит
Если нет то вернет что-то вроде
или
Дальше все тривиально
Поэтому и понадобился этот ман.
Итак дано:
1. сервер 192.168.1.20
2. порт подключения 25 (мой любимый постфикс)
3. Login - USER1
4. Password - SupperDrupp3rP@$$w
Для того чтобы послать логин и пасс нам надо преобразовать их в Base64
Пишем скрипт
perl -MMIME::Base64 -e 'print encode_base64("USER1");'
perl -MMIME::Base64 -e 'print encode_base64("SupperDrupp3rP@$$w");'
Выполняем скрипты и смотрим хэш
Код: Выделить всё
flashdeath@flashadmin:/mnt/c/Users/flashdeath$ perl -MMIME::Base64 -e 'print encode_base64("USER1");'
VVNFUjE=
flashdeath@flashadmin:/mnt/c/Users/flashdeath$ perl -MMIME::Base64 -e 'print encode_base64("SupperDrupp3rP@$$w");'
U3VwcGVyRHJ1cHAzclA=telnet 192.168.1.20 25
Код: Выделить всё
220 server.ru ESMTP 2011
EHLO test-mail
250-mailserv
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-AUTH LOGIN NTLM
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Код: Выделить всё
AUTH LOGIN
334 VXNlcm5hbWU6
VVNFUjE=
334 UGFzc3dvcmQ6
U3VwcGVyRHJ1cHAzclA=
Код: Выделить всё
235 2.7.0 Authentication successfulКод: Выделить всё
535 5.7.8 Error: authentication failed
Код: Выделить всё
535 5.7.3 Authentication unsuccessfulКод: Выделить всё
MAIL FROM: user1@server.ru
250 2.1.0 Ok
RCPT TO: user@server2.ru
250 2.1.5 Ok
DATA
354 End data with .
Subject: Hello world!
This is the test message...
.
250 2.0.0 Ok: queued on as a8b0c5d3-aCbac1dx
QUIT
221 2.0.0 Closing connection.
Connection closed by foreign host.