Цель

Заметки ИТ которые я не хочу потерять

menu_navigation

Blat утилита для отправки email через командную строку

Если вы когда-нибудь использовали утилиту под windows - sendmail, для отправки писем с помощью командной строки, то blat вам обязательно понравится.

Данная программка имеет более широкий функционал, скачав full версию в папке docs вы можете обнаружить файл syntax.txt в котором большое количество ключей и возможности их применения. Blat понадобился мне для отправки на email логов программы, которая не умеет самостоятельно этого делать. В статье рассмотрим отправку свежей логов нескольким получателям.

В первую очередь скачем full версию утилиты с официального сайта http://www.blat.net далее создадим новую папку на диске и перенесем туда файлы утилиты, там же создадим bat файл для запуска задачи по расписанию. Ниже пример моего blat.bat:

rem путь к blat, можно не указывать если положить его в %systemroot%\system32
set file_blat=C:\blat\blat.exe
rem путь к файлу с текстом для тела сообщения, по умолчанию кодировка ISO 8859-1
set file_text=C:\blat\body.txt
rem путь к файлу лога, хорошо читабельный кстати
set file_log=C:\blat\log_blat.txt
rem путь к файлу с адресами получателей, если их несколько, по одному в каждой строке
set file_to=C:\blat\mail_list.txt
rem тема письма
set to_subject="log_files"
rem путь к вложению
set attach=C:\blat\mail.zip

rem данные отправителя
set from_server=mail.domain.ru
set from_port=25
set from_mail=log@domain.ru
set from_name=log
set from_pass=пароль

rem непосредственно отправка письма
%file_blat% %file_text% -server %from_server%:%from_port% -f %from_mail% -u %from_name% -pw %from_pass% -tf %file_to% -s %to_subject% -log %file_log% -attach %attach%


Второй батник, копирует логи программы, архивирует с помощью 7zip и запускает blat.bat
На него и настроим запуск по расписанию в планировщике задач.

rem копирование логов за текущую дату
xcopy /Y /I /d:%DATE:~3,2%-%DATE:~,2%-%DATE:~6,4% "H:\program\base\log\*" "c:\blat\zip"
rem копирование логов
xcopy /Y /I "H:\program\log\*.log" "c:\blat\zip"

rem архивируем файлы
cd /d C:\Program Files\7-Zip
7z.exe a -tzip -mx5 C:\blat\mail.zip c:\blat\zip\*

rem запускаем blat для отправки письма
cd C:\blat
blat.bat

Комментариев нет:

Отправить комментарий