Дистанционное управление: 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.
List file area - заставляет T-Mail сформировать ответ,
содержащий список файлов файловой области.
Поле file area должно содержать последний
из фрагментов полного пути, определяющего
файловую область. Например, если в файле,
определенном переменной Freq_Dir, задан путь
d:\Files\Windows, то запрос списка должен
выглядеть так:
To: T-Mail
Subj: List Windows
Если в файловой области есть файл с именем
files.bbs, то он используется в качестве тела
ответа. В противном случае выполняется
команда операционной системы Dir и ее вывод
составляет тело ответа.
Для того, чтобы получить список файлов
файловой области, которая не закрыта паролем,
HЕ обязательно использовать T-password,
достаточно в поле 'to:' написать просто
T-Mail.
Однако пользователи, знающие T-password,
имеют возможность не только получать списки
файлов в каталогах, определенных файлом
Freq_Dir, но и из любых других. Для этого
необходимо в запросе указать полный путь,
например:
To: T-Mail|password
Subj: List c:\files\private\
Для того, чтобы получить списки файлов из
всех доступных файловых областей, можно
использовать символ '*':
To: T-Mail
Subj: List *
Примеры заданий:
----------------------
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
Subj: List SUPPORT
---------------------
Применение шаблонов в адресах ограничено - может быть не более одного
символа '*'. Адреса систем ищутся в нодлистах, поэтому если задан адрес,
которого нет в нодлистах, 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-файле.