Відправлення електронної пошти через командний рядок

Іноді бувають такі ситуації, необхідно протестувати працездатність віддаленого / або свого поштового сервера, або ж немає можливості відправити електронну пошту звичайним шляхом (не працює / відсутній поштовий клієнт).

У цьому випадку на допомогу приходить командний рядок. Як же відправити пошту з командного рядка?

Доступ до SMTP через telnet (відправка пошти). Жирним виділені команди, набрані користувачем
telnet mail.testdomain.ru 25
mail.testdomain.ru - це адреса smtp сервера, до якого ви хочете приєднатися
25 - smtp-порт сервера з яким повинен з'єднатися клієнт telnet
220 mail.testdomain.ru ESMTP Sendmail 8.13.3 / 8.13.4; Sat, 21 Jul 2010 9:50:16 +0400
ehlo lo
ehlo lo - тут ми повинні привіталися з віддаленим smtp-сервером
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
mail from: [email protected]
тут ми вказуємо, що адреса відправника листа - [email protected]
250 2.1.0 [email protected]... Sender ok
інформація про те, що перевірка відправника пройшла успішно
rcpt to: [email protected]
тут ми вводимо поштову адресу одержувача листа [email protected]
250 2.1.5 [email protected]... Recipient ok
інформація про те, що перевірка одержувача пройшла успішно
data
комманда data говорить про те, що далі піде тіло листа
354 Enter mail, end with «.» on a line by itself
сервер говорить нам, що можна набирати текст листа, а щоб закінчити лист ми повинні набрати точку «.» в новому рядку в кінці тіла листи
testing mail system!!
це наш текст
.
точка - даємо зрозуміти серверу, про те, що лист закінчено і його можна адресату
250 2.0.0 l365oGFR435164 Message accepted for delivery
повідомлення сервера - лист встало в чергу на відправку

Порада. У тому випадку, якщо сервер вимагає авторізаціію, такий спосіб відправки описаний в статті Відправлення листів через SMTP з авторизацією