Статьи

Отправка электронного письма из командной строки Windows

Отправка электронного письма из командной строки Windows

Возникла необходимость отправлять данные через почтовый сервис, но чтобы не загружать пользователя ненужными действиями решил прибегнуть к консольной утилите для отправки e-mail под Windows - blat Т.к. для отправки письма по протоколу SMTP без аутентификации уже не обойтись, то я для себя составил такой формат командной строки и вывел его в пакетный cmd файл:

blat.exe -server server.ru -f e-mail-from@server.ru -u e-mail-from@server.ru -pw pass  -to e-mail-to@server.ru -subject SUBJ -body "Текст сообщения" -attach FILE

Немного пояснений:

  • -server server.ru - сервер Исходящей почты. Несмотря на то, что мы отправляем из командной строки, но сервер, с которого будет уходить письмо, должен быть!
  • -f e-mail-from@server.ru - адрес отправителя. Как и в случае с сервером. Письмо должно быть от кого-то ;)
  • -u e-mail-from@server.ru - имя пользователя (логин) для сервера Исходящей почты. Используется для упомянутой выше SMTP аутентификации. В моем случае логин должен состоять из имени пользователя на сервере (то есть имя@сервер), это зависит от сервера. На других серверах может быть просто e-mail-from
  • -pw pass - пароль для той же аутентификации.
  • -to e-mail-to@server.ru - адрес получателя
  • -subject SUBJ - тема письма. Должна быть в кавычках, если есть пробелы!
  • -body “Текст сообщения” - текст письма. Должен быть в кавычках, если есть пробелы!
  • -attach FILE - собственно то, ради чего это всё я затеял. Путь к файлу и имя файла FILE :)

Все имена серверов и электронные адреса вымышлены. Совпадения случайны.