T-Mail
использует в своей работе один определенный файл-флаг, задаваемый переменной Flag_Session в t-mail.ctl. Этот текстовый файл T-Mail создает при начале любого сеанса связи и
уничтожает после его окончания. По умолчанию создается в каталоге, определенном
переменной Flag_Dir (t-mail.ctl). Ниже приведен пример этого файла:
System 2:5030/91.0
Mode Answering
AKA 2:5030/91.0
AKA 228:5001/13.0
AKA 666:7000/91.0
SysOp Serg Biryukov
Baud 21600
SystemStatus LISTED
RemoteStatus PROTECTED
Time 210
RequestList d:\t-mail\packets\T-$$-1\13A60097.RQ
ResponseList d:\t-mail\packets\T-$$-1\RESPONSE.FRQ
Структура этого файла
проста, в начале строки находится наименование параметра (набор ключевых слов
жестко задан), за которым следует значение. Все параметры, за исключением
"AKA",
присутствуют в файле лишь в одном экземпляре. Этот файл совместим со стандартом
SRIF. Ниже
кратко описаны возможные параметры:
System √ основной адрес, предъявленный удаленной системой. Для узлов всегда
добавляется ".0".
Mode √ тип сеанса связи. Возможные значения:
Calling √ сеанс после исходящего вызова;
Answering √ сеанс после входящего вызова.
AKA √ обязательно
присутствует хотя бы один параметр AKA √ первый. В нем повторяется основной адрес, указанный в параметре System. В каждой последующей
строке AKA
указывается дополнительный адрес, предъявленный удаленной системой. Для узлового
адреса всегда добавляется ".0". Таких строк будет столько, сколько
дополнительных адресов предъявлено удаленной системой.
SysOp √ имя системного оператора удаленной системы.
Baud √ скорость передачи (бод), установленная в начале
сеанса.
SystemStatus √ статус удаленной системы. Возможные значения:
LISTED √ система присутствует в списке известных адресов (см. "Списки
адресов", гл.2);
UNLISTED √ система не присутствует в списке известных адресов.
RemoteStatus √ статус сеанса. Возможные
значения:
PROTECTED √ сеанс связи с паролем;
UNPROTECTED √ сеанс связи без пароля.
Time √ значение═
переменной Freq_MaxTime═ (t-mail.ctl), а если она не определена, то √1.
RequestList √ полное имя файла с файловым запросом (для SRIF-процессора).
ResponseList √ полное═ имя файла с ответом на
файловый═ запрос (для SRIF-процессора).
Подчеркиванием
отмечены параметры, используемые SRIF-процессорами.
Все остальные флаги
являются необязательными. С помощью переменных Process_Flag (подробно описаны в главе 7 "Файлы конфигурации") вы можете
задавать реакцию T-Mail на
любые флаги, созданные как самим T-Mail (например, с помощью переменных Process), так и внешними
программами. В переменных Process_Flag вы можете задать выполнение внутренних процедур
(сканирование почты, вызов системы, создание и удаление файлов и т.д.) или
внешних программ, которые будут выполняться при появлении, исчезновении или
изменении соответствующего флага. Такой механизм, в частности, удобно
использовать для организации обработки эхопочты.
В версиях T-Mail для OS/2 и Windows NT вместо файлов-флагов можно использовать системные
семафоры. Они используются абсолютно аналогично, но располагаются не на
дисковом устройстве, а в оперативной памяти, что резко увеличивает скорость
работы с ними. Для того, чтобы T-Mail знал, что флаг является не файлом, а системным
семафором, имя семафора должно начинаться со строки "\SEM32\", например: \SEM32\arcmail.
Пример (t-mail.ctl):
[S] Process═══ Arcmail══ Create anyarc.t-m══ ; создается флаг
...
[M] Process_Flag anyarc.t-m c:\squish\squish -In -Out ;запуск эхопроцессора
В этом примере после
успешного завершения сеанса связи с принятой эхопочтой задача Slave создаст флаг 'anyarc.t-m'. Во время очередного сканирования флагов задача Master, обнаружив этот
флаг, выполнит определенные действия с эхопроцессором для обработки пришедшей
почты.