Иногда сисадмину требуется проверить, работает ли почтовый сервер. Не всегда есть возможность установить какой-нибудь почтовый клиент, приходится работать с помощью подручных средств. Если сервер работает без аутентификации или поддерживает basic authentication, то отправить письмо можно с помощью telnet. Но если требуется шифрование, SSL, TLS и прочие безопасности, то на помощь нам приходит curl.
curl — инструмент Linux, но теперь все его преимущества доступны и в Windows.
Ссылки
Отправляем письмо через curl
Создам тестовый ящик test@internet-lab.ru с паролем QwertyQwerty и попробую отправить с него письмо на gmail по SMTP 587.
У меня есть папка C:\keys, создаём в ней файл mail.txt.
Для запуска bash нужно выполнить команду "bash" или "bash.exe".
Редактируем mail.txt:
From: "Вася" <test@internet-lab.ru>
To: <test@gmail.com>
Subject: Это тестовое письмо
Hello...
Отправляем письмо с помощью curl:
curl -k -vvv --url 'smtp://internet-lab.ru:587' --ssl-reqd --mail-from 'test@internet-lab.ru' --mail-rcpt 'test@gmail.com' --upload-file mail.txt --user 'test@internet-lab.ru:QwertyQwerty'
- --url - адрес SMTP сервера с портом,
- --ssl-reqd - поддержка SSL,
- --mail-from - адрес отправителя,
- --mail-rcpt - адрес получателя,
- --upload-file - файл с заголовками и содержимым письма,
- --user - логин и пароль для аутентификации.
Письмо отправилось и дошло.
Ещё один полезный инструмент в копилку системного администратора.