Иногда нужно проверить, работает ли SMTP сервер, отправляются ли письма. Не всегда есть под рукой подходящий почтовый клиент. Выход есть — telnet. Будем отправлять с аутентификацией login.
Ссылки
Без аутентификации:
Отправка email через telnet
Base64
Для отправки методом login нам понадобится перевести логин и пароль в формат Base64. Можно найти онлайн декодер.
Base64 encode/decode
- Логин «info@testsender.internet-lab.ru» в Base64 — «aW5mb0B0ZXN0c2VuZGVyLmludGVybmV0LWxhYi5ydQ==».
- Пароль «888776» в Base64 — «ODg4Nzc2».
Отправка email
Коннектимся на SMTP порт нашего сервера:
telnet smtp.mail_server 25
Если сервер работает, он ответит кодом 220:
220 mail.domain.ru
Представимся:
helo Host
Сервер ответит кодом 250:
250 mail.domain.ru
Строка AUTH PLAIN LOGIN символизирует наличие возможности аутентификации.
Аутентифицируемся:
auth login
Сервер ответит кодом 334. Вводом логин в формате Base64:
aW5mb0B0ZXN0c2VuZGVyLmludGVybmV0LWxhYi5ydQ==
Сервер ответит кодом 334. Вводом пароль в формате Base64:
ODg4Nzc2
Сервер ответит кодом 235 при успехе:
235 2.7.0 Authentication successful
Указываем свой email:
mail from: vpupkin@domain.ru
Сервер ответит кодом 250:
250 2.1.0 Ok
Указываем получателя:
rcpt to: test@gmail.com
Сервер ответит кодом 250:
250 2.1.0 Ok
Пишем тело письма:
data
Сервер ответит:
354 End data with <CR><LF>.<CR><LF>
Вводим тему:
Subject: Test
Текст письма:
Here is my text
Заканчиваем ввод тела переводом строки и точкой:
.
Сервер ответит:
250 2.0.0 Ok: queued as 55C66BFE07
Письмо отправлено. Для выхода:
quit
Материал распространяется по лицензии CC-BY-SA