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

Отправка email через curl

Mail

Иногда сисадмину требуется проверить, работает ли почтовый сервер. Не всегда есть возможность установить какой-нибудь почтовый клиент, приходится работать с помощью подручных средств. Если сервер работает без аутентификации или поддерживает basic authentication, то отправить письмо можно с помощью telnet. Но если требуется шифрование, SSL, TLS и прочие безопасности, то на помощь нам приходит curl.

curl — инструмент Linux, но теперь все его преимущества доступны и в Windows.

Ссылки

Windows 10 — включаем bash

Windows 10 — tar и curl

Отправка email через telnet

Отправляем письмо через curl

Создам тестовый ящик test@internet-lab.ru с паролем QwertyQwerty и попробую отправить с него письмо на gmail по SMTP 587.

mail

У меня есть папка C:\keys, создаём в ней файл mail.txt.

mail

Для запуска bash нужно выполнить команду "bash" или "bash.exe".

bash

Редактируем mail.txt:

From: "Вася" <test@internet-lab.ru>
To: <test@gmail.com>
Subject: Это тестовое письмо

Hello...

mail

Отправляем письмо с помощью 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 - логин и пароль для аутентификации.

mail

Письмо отправилось и дошло.

mail

Ещё один полезный инструмент в копилку системного администратора.

Теги

 

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