Отправка e-mail из командной строки
АрхивПочтаНемного поработаем с консольной утилитой Blat, предназначенной для отправки почтовых сообщений по SMTP-протоколу.
Отправка почтовых сообщений посредством командной строки является довольно распространенной задачей у системных администраторов. Решить ее можно по-разному. Мы в данной заметке воспользуемся бесплатной утилитой Blat (135 кб в ZIP-архиве), функционирующей во всех версиях ОС Windows.
В активе рассматриваемого приложения не только работа с e-mail по SMTP, но и отправка новостных сообщений по сетевому протоколу NNTP (Network News Transport Protocol). Затрагивать последний мы сегодня не будем, а поговорим лишь о тонкостях работы с почтовой корреспонденцией посредством Blat, не особо погружаясь в консольные дебри.
Установка
Перед началом общения с программой Blat, ее нужно инсталлировать, точнее, запустить с ключом install и соответствующими параметрами1. В нашем случае синтаксис команды самый простой:
blat.exe -install <адрес почтового сервера> <адрес отправителя>
В результате утилита сохранит введенные настройки и в дальнейшем будет брать их из ветки HKEY_LOCAL_MACHINE\SOFTWARE\Public Domain\Blat реестра Windows.
Для удобства рекомендуем прописать путь к программе в системной переменной %path% или скопировать ее в известную системе директорию.
Отправка писем
Blat действительно предлагает широченные возможности для отправки писем. Перечислим наиболее часто используемые опции:
- <filename> - имя файла, содержимое которого будет использоваться утилитой в качестве основного текста письма
- -to <адрес получателя> - email-адрес получателя
- -tf <имя файла> - ключ, указывающий на файл со списком адресов получателей
- -subject <тема сообщения> - заголовок письма
- -body <текст> - текст письма
- -attach <имя файла> - используется для отправки вложенных файлов
- -log <файл отчета> - лог-файл, содержащий отчет о работе утилиты
К примеру, следующая команда отправит письмо адресату info@computerra.ru с вложенным файлом article.doc:
blat.exe -to info@computerra.ru -attach article.doc
А эта инструкция заставит утилиту отправить письма адресатам, взятым из файла address.txt, и прикрепленным файлами article1.doc и article2.doc:
blat.exe -tf address.txt -attach article1.doc,article2.doc
Напомним, что все операции с консольным приложением можно автоматизировать и заметно ускорить, если использовать в работе командные (пакетные) CMD-файлы. При таком подходе, в случае обнаружения ошибки в команде с множеством аргументов, ее можно легко и быстро исправить.
1. Получить подробную справку можно, набрав в консоли blat.exe /?, или, для удобства дальнейшего чтения, перенаправив ее в текстовый файл blat.exe /? >> info.txt. [вернуться]