Перейти к основному содержанию

Отправка email с помощью openssl

Mail

У меня есть задачка, проверить работу почтового сервера на 587 порту. Работает SSL (требуется STARTTLS), используется доменная аутентификация.

Я работаю в Windows в bash через WSL2.

Открываем соединение:

openssl s_client -starttls smtp -connect mail.internet-lab.ru.ru:587 -crlf

Отображается сертификат. Запоминаем на какой он выписан домен. Сервер пишет:

250 SMTPUTF8

Отправляем приветствие:

helo
250 mail.internet-lab.ru Hello [10.10.30.15]

Проверяем, что в ответе фигурирует тот же домен, для которого выписан сертификат.

Логинимся:

auth login
334 VXNlcm5hbWU6

Если декодировать это сообщение из BASE64, то получим: "334 Username:". Нас просят ввести имя пользователя. Вводить тоже нужно в BASE64. Воспользуюсь конвертером (почему-то функция base64 в Linux как-то по-другому конвертирует и результат не нравится почтовому серверу):

Base64 encode/decode

Логин v.pupkin@ilab.local превращается в di5wdXBraW5AaWxhYi5sb2NhbA==.

di5wdXBraW5AaWxhYi5sb2NhbA==
334 UGFzc3dvcmQ6

Если декодировать это сообщение из BASE64, то получим: "334 Password:". Нас просят ввести пароль. Вводить нужно в BASE64. Пароль QwErTy превращается в UXdFclR5.

UXdFclR5
235 2.7.0 Authentication successful

Аутентифицировались успешно. Указываем заголовки:

mail from:admin@internet-lab.ru
250 2.1.0 Sender OK
rcpt to:test@example.com
250 2.1.5 Recipient OK
Data
354 Start mail input; end with <CRLF>.<CRLF>
From: Test
To: test@example.com
Subject: Test Message
body
Message text content.

.
250 2.6.0 <08e9ce90-3dd5-459a-bc76-2cd0407211e7@mail.ilab.local> [InternalId=2465311228736, Hostname=mail.ilab.local] 1509 bytes in 22.205, 0,066 KB/sec Queued mail for delivery

Заканчиваем ввод тела переводом строки и точкой. Сообщение отправлено.

Теги

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Реклама ИП «Скоромнов Дмитрий Анатольевич» ИНН 331403723315

 

Похожие материалы

hMailServer — установка SSL сертификата Let's Encrypt

Установим SSL сертификаты на почтовый сервер hMailServer. Используем порты для SSL/TLS: SMTP 587, IMAP 993, POP3 995. Сами сертификаты будем брать бесплатные — Let's Encrypt.

Windows 10 — генерация DKIM ключей с помощью подсистемы Linux

Воспользуемся подсистемой Linux и сгенерируем DKIM ключи в ОС Windows 10. DomainKeys Identified Mail (DKIM) — метод e-mail аутентификации, разработанный для обнаружения подделывания сообщений, пересылаемых по email. Метод дает возможность получателю проверить, что письмо действительно было отправлено с заявленного домена.