Внешние обработчики ключевого слова
В файле T-Mail.ctl можно описать внешние программы, которые будут
запускаться в случае приема соответствующей посылки или ключевого слова в
то время, пока T-Mail ожидает начала handshake. Вот как эти программы
(External Mailers) определяются в файле T-Mail.ctl :
Extern_Mail [[addr list]] login word command [parameters]
Например:
~~~~~~~~~
Extern_Mail UUрc c:\uupc\uu.bat
Extern_Mail Guest c:\bbs\dobbs.bat 1 2400
Extern_Mail [5030/124 5030/15.*] keysign pro.bat
Extern_Mail [.999] login uupc.bat Out Direct
При ответе на звонок, если будет предъявлено описанное как login
word слово (без пробелов), будет запущена программа или командный файл,
соответствующий этому слову. Всего можно описать до 16 External mailers.
Среди parameters могут встречаться особые конструкции-макросимволы,
начинающиеся с символа '*'. Вместо них при запуске будут подставлены
следующие значения:
Макросимвол: Что будет подставлено:
------------------------------------------------------------------
*P Номер COM-порта (1 для COM1 и т.д.)
*B Скорость соединения (baud)
*T Номер задачи T-Mail (task_number)
*L Если COM-порт зафиксирован, то будет передано
значение lock_speed, иначе - 0
*N Номер по порядку (начиная с 1)
соответствующего описания Extern_Mail
в файле t-mail.ctl
*O (для OS/2) Handle открытого COM-порта
Пример:
~~~~~~~
Extern_Mail UUрc c:\uupc\uu.bat *P *B *N
Для COM3 и 2400 bрs будет запущено c:\uupc\uu.bat 3 2400 1
Если запуск внешнего мэйлера осуществляется при исходящем звонке,
имеет значение код завершения (errorlevel), с которым заканчивает работу
заданная программа. Если errorlevel равен 0, то T-Mail уничтожает служебные
письма, сформированные для системы, на которую был этот звонок. Это
делается для того, чтобы избежать вечного опроса системы, которая
заставляет T-Mail запустить внешний обработчик. Вы можете организовать
работу с несовместимыми с FTN системами, придерживаясь схемы "фиктивных
адресов".
Кроме того, при исходящих звонках можно использовать addr list -
список систем, при звонке на которые активизируется Extern_Mail. Если
система, на которую T-Mail звонит, не входит в addr list, то при
установлении сессии внешние мэйлеры не будут активизироваться в любом
случае.
Пример для UUCP-системы:
~~~~~~~~~~~~~~~~~~~~~~~~
( t-mail.ctl )
Extern_Mail [.999] login uucico.exe -F
( subst.lst )
.999 time CM phone 123-4567
( events.ctl )
Poll .999 5:00
Согласно этому примеру в 5 часов для адреса .999 сформируется Poll
письмо как для обычной FTN системы. При звонке на эту систему будет
получено слово login и вызовется программа uucico, а после ее успешного
завершения Poll письмо удалится и адрес .999 будет убран из очереди. При
звонках на другие системы внешний мэйлер uucico.exe по ключевому слову
LOGIN активизироваться не будет.