Дистанционное управление: T-Mail server
Обращения к ресурсам сервера T-Mail происходит с помощью служебных
писем. Это обычные письма, но адресованы они T-Mail. Поле 'To:' такого
письма должно содержать конструкцию:
T-Mail |<T-password>,
где <T-password> - пароль T-Mail server-а, определенный переменной в
файле t-mail.ctl .
Примечание: задание REQUEST будет выполнено при использовании любого из 2-х
паролей, задаваемых переменными T-password и Freq_password.
Например:
-----------------------------------------------
From: Andy Elkin 5030/15.1
To: T-Mail |my_password_no_5 5030/15
Subj: Send c:\T-Mail\files\t-2300.arj /27 /51
-----------------------------------------------
Поле subject служебного письма содержит задание серверу T-Mail. Тип
задания определяется ключевым словом, которое должно быть задано первым в
строке. Синтаксис заданий:
Poll <адрес>[<адрес>...] - заставляет T-Mail сформировать пакет(ы) и
провести сеанс связи с указанными системами;
Request <file> <адрес> - заставляет T-Mail запросить файл на другой
системе. При этом запоминается информация об
этом, и, в случае, если будет принят файл с
совпадающим именем, он будет переслан
запросившему;
Attach <file> <адрес> - послать файл на систему;
или
Send <file> <адрес>
Post <file> <адрес> - оформить текстовый файл в виде письма и
разослать по указанным адресам;
Exec - выполнить текст письма как командный файл.
Тело письма переписывается в файл t-serv.bat
(.cmd), который затем выполняется.
Set <переменная> <новое значение>
- изменяет значение <переменной>. Допустимо
использовать любую переменную из файла
t-mail.ctl , однако следует соблюдать
осторожность с такими переменными, как
Address, Aka, Port.
CallBack <адрес> - функция Call Back. Позволяет инициировать
немедленный вызов (Crash Poll) с удаленной
системы, адрес которой и указывается. Для
исполнения этой функции удаленным T-Mail
необходимо, чтобы в поле 'To:' письма после
слова T-Mail был указан либо главный пароль
сервера T-Mail, либо пароль функции CallBack,
заданный в t-mail.ctl удаленной системы
переменной CallBack_Password. При совпадении
паролей вызов будет инициирован немедленно
после распаковки такого письма. В качестве
параметра <адрес> может быть указан адрес
какой-либо системы или номер телефона (с
префиксом #). Кроме того, после адреса или
телефона может быть задан пароль по аналогии
с заданием Crash Poll с клавиатуры (см.
начало главы 18).
Примеры заданий:
----------------------
To: T-Mail|password
Subj: Poll /2 /3 /6
---------------------
---------------------
To: T-Mail|password
Subj: Request filename.ext /3 /7 .1 33:36/*.3
---------------------
---------------------
To: T-Mail|password
Subj: Post c:\txt\my_txt.doc /16 /18
---------------------
---------------------
To: T-Mail|password
Subj: Set Answer 0:00-4:00
---------------------
---------------------
To: T-mail | cbpass
Subj: CallBack 5030/15
---------------------
---------------------
To: T-mail | cbpass
Subj: CallBack #123-4567|sessionpassword
---------------------
Применение шаблонов в адресах ограничено - может быть не более одного
символа '*'. Адреса систем ищутся в нодлистах, поэтому если задан адрес,
которого нет в нодлистах, T-Mail проигнорирует его.
Обработка заданий происходит сразу при распаковке пакета с письмами,
поэтому следует быть внимательным к заданию EXEC - если время на выполнение
ощутимо и почта распаковывается "на лету", сессия может оборваться. В
случае, если обработка запроса EXEC будет осуществлена во время текущего
сеанса связи, то письмо-подтверждение будет отослано автору запроса в этом
же сеансе (в виде PKT-файла). Если же нет, то будет создано письмо (.msg)
автору запроса с атрибутом Direct.
При создании письма с подтверждением (задание EXEC) используется файл
\T-$$-<task_no>\t-server.txt, находящийся в каталоге, указанном в
переменной Packets ( t-mail.ctl ). Здесь <task_no> - номер задачи T-Mail.
(Например: c:\t-mail\packets\T-$$-1\t-server.txt). В этот файл можно
перенаправлять вывод команд, T-Mail добавит к этому файлу содержимое команд
из письма. Кроме того, в тексте письма можно использовать "магическое"
слово "t-server.log", вместо которого будет подставлено полное имя
соответствующего файла t-server.txt.
Например:
---------
-----------------------
To: t-mail|password
Subj: Exec
-----------------------
dir \files\*.* >> t-server.log
Вместо "t-server.log" будет подставлено полное имя файла t-server.txt.
Сервер T-Mail'а может формировать копии отчета о своей работе при
выполнении Exec на адрес, заранее заданный в переменной T-serverNotify в
файле t-mail.ctl .
Дистанционное задание атрибутов письма
======================================
Можно дистанционно задавать атрибуты письма, направляемого через
какую-либо систему, если известен пароль этой системы. В общем случае при
распаковке с письма снимаются атрибуты crash, local (а соответственно
перестают действовать Dir, Imm) и т.п. Зная пароль можно форсировать
установку некоторых атрибутов. Это задается специальной командой в 1-й
строке письма (после кладжей):
set!<t-password>!attrib <атрибут> [<атрибут>...]
Могут использоваться такие атрибуты: LOCAL, DIR, CRASH, HOLD, KILL.
Например:
---------
Set!my_passw!attrib Dir Hold
При распаковке письму добавятся атрибуты dir и hold. (К атрибуту dir
автоматически добавляется и атрибут local, иначе флаг dir не действует на
T-Mail).
Сама строка из письма после обработки убирается и факт такого
воздействия фиксируется в log-файле.