Простенький логотип

Указатель периодического события

Директивы файла настройки событий и маршрутизации почты (events.ctl)

Описание директив

Poll

Break

RestoreIn и RestoreOut

Send

Flavor

LimitIn и LimitOut

Post

Set

MailOnly

Freq и UpdFreq

Mail-For и Files-For

SendOnly

Exit

Mail-From и Files-From

Hold и Freeze

Repack

Direct

NoReq

Drop

Deny

Priority

Exec

Share

 

 

Пример файла events.ctl :

 

Файл настройки событий и маршрутизации почты (Events.Ctl)

Ниже приводится описание конфигурационного файла, в котором производится настройка "событий" и определяются правила маршрутизации почты. По умолчанию он имеет имя events.ctl. Максимальная длина строки в этом файле 255 символов.

Общий синтаксис конструкций этого файла таков:

[[<task_ident>]] [<modifier>] <keyword><parameters><time period>

или

[[<task_ident>]] [<modifier>] <keyword><parameters><time>

Правила для номера задачи <task_ident> такие же, как и для этого параметра в файле t-mail.ctl и подробно описаны в части "Номер задачи" этой главы.

<modifier> - это специальное ключевое слово-префикс, может иметь только одно из следующих значений:

Critical - префикс, который описывает событие как критическое. Для каждого события есть вероятность того, что оно будет пропущено, если интервал времени, заданный для него истек, а мэйлер не смог выполнить его (по причине продолжительного сеанса связи, выполнения внешней программы и т.п.). Если событие описано как Critical, то оно будет выполнено в том случае, если в текущий день недели это событие разрешено.

Start - префикс, означающий, что событие будет выполнено только однажды при начале работы T-Mail. Для такого события, как исключение, не может быть задан временной параметр в конце строки.

Relative - префикс, означающий, что временной параметр, указанный в конце строки, добавляется к текущему времени. Это происходит в момент чтения файла events.ctl при начале работы T-Mail, выполнении действия Control и перечитывании events.ctl после его изменения. Например, строка:

Relative Hold All 0:10-4:00

в 3:00 будет эквивалентна строке

Hold All 3:10-7:00.

Чуть далее в таблице будут приведены описания всех директив <keyword> с параметрами <parameters>. В конце каждой строки может стоять интервал времени <time period>, определяющий, когда действует данное правило или происходит данное событие, либо просто указано время <time> данного события, в этом случае этот интервал подразумевается равным одному часу, начиная с времени <time>. Если в течении этого часа мэйлер не сможет обработать событие (долгий сеанс связи и т.п.) и префикс Critical не задан, то событие выполнено не будет вообще. Интервалов <time period> или моментов времени <time> может быть указано несколько, в таком случае каждая такая строка рассматривается как сумма независимых событий/правил и статус пpи их выполнении независим.

Существует одна тонкость в обработке событий на границе суток. Если время начала события (не интервал) было задано с указанием конкретного дня недели (например, 3.23:30), то возможное время исполнения этого события - 23:30...23:59 в каждую среду. Если же время события указано БЕЗ указания дня недели (например, просто 23:30), то возможное время выполнения этого события - 23:30...00:30 каждый день.

Если в момент, когда начинается <time period> события мэйлер выполнял какие-либо другие действия, то событие произойдет по окончании этих действий, если этот <time period> еще не завершился. При повторном запуске T-Mail в течение одного <time period> событие повторно произойдет лишь в том случае, если была изменена строка, описывающее это событие, в файле конфигурации событий events.ctl. Формат интервала <time period> подробно описан в части "Задание интервалов времени" этой главы. Кроме того, в качестве <time period> может быть задан указатель периодического события (periodical event), описанный ниже в соответствующей части этой главы.

В некоторых директивах можно задавать в качестве дополнительного параметра (attr) атрибуты формируемых писем: (Imm), (Crash), (Hold), (Dir), причем одновременно можно задавать несколько атрибутов, тогда они помещаются в одни скобки и разделяются пробелом, например, (Dir Imm). При задании атрибута вместе с номером задачи <task_ident> атрибут будет действителен только для указанной задачи.

Указатель периодического события

Зачастую приходится определять события, с помощью которых одни и те же действия происходят постоянно через равные промежутки времени (например, анализ работоспособности системы, инициализация модема, обработка log-файлов, выполнение команды Drop и т.д.). При этом вместо задания нескольких однотипных описателей событий имеет смысл определить событие лишь однажды, используя указатель периодического события. Этот указатель задается вместо <time period> и имеет следующий вид (к примеру):

P.01:00

Символ 'P' вместо дня недели означает, что событие периодическое, а время после точки задает интервал периодичности выполнения события. Отсчет интервала начинается с того момента, когда после внесения описания (или корректировки) этого интервала в events.ctl впервые будет запущен T-Mail (или T-Mail перечитает файлы конфигурации). Продолжительность интервала может находиться в пределах 00:01 ... 255:00. Указатель периодического события можно использовать в файле events.ctl только для директив Poll, Send, Post, Freq, UpdFreq, Drop, Set, Exec, Exit, Repack, Flavor, Break. Поясним работу данного указателя на примере (events.ctl):

[2]Exec !load.bat P.01:00

Время - 13:15. Тогда это событие (запуск командного файла load.bat) выполнится (задачей номер 2) сначала сразу после запуска, затем в 14:15, затем в 15:15 и так далее через каждый час. Если T-Mail в момент, когда событие должно быть выполнено, был чем-то занят, то событие будет выполнено, как только это станет возможным. Однако, "накопления" событий не происходит. Продолжим наш пример: допустим, что с 15:10 до 17:30 T-Mail обслуживал длительный сеанс связи. Таким образом, было пропущено два момента для выполнения события. В этом случае наше событие будет выполнено в 17:30 сразу после окончания этого сеанса связи, и ЛИШЬ ОДНОКРАТНО. Следующее событие будет выполнено в 18:30 (опять же, по мере возможности) и так далее.

Директивы файла настройки событий и маршрутизации почты (events.ctl)

Ниже приведена сводная таблица директив файла events.ctl с краткой аннотацией. В таблице для экономии места не указаны параметры времени. После таблицы следуют подробные описания каждой директивы.

Директива и ее параметры

Что она задает

'События':

Poll [(attr)] <addresses>

Инициировать опрос (poll) системы или нескольких систем.

Send [(attr)]<fname><addresses>

Послать файл <fname> системам с адресами <addresses>.

Post [(attr)]<fname><addresses>

Послать файл <fname> в виде письма системам с адресами <addresses>.

Freq [(attr)]<fname><addresses>

Сформировать файловые запросы на <fname> для систем с адресами <addresses>.

UpdFreq [(attr)]<fname><addresses>

То же, что иFreq, файл будет принят только при том условии, чтоон более новый (по дате и времени создания или модификации), чем имеющийся.

Exit <errorlevel>

Выход из программы с кодом завершения <errorlevel>.

Repack <addr list>

Пересоздание очереди (всей══ илидля адресов <addr list>).

Drop <addr list>

Удалитьслужебные письма для адресов <addr list>и перепаковатьдляних почту.

Exec <action>

Выполнение внешнейпрограммы, запуск задачив══ DesqViewиливыполнение действий по ключевому слову.

Break <addr list>

Прерывает сеанс связив указанный момент времени.

Flavor (<type> <flag>) <addr list>

Изменяет в заданное время атрибуты определенных писем и файлов Bink-Style Outbound.

Set <parameter>=<value>

Или

Set @<filename>

Замена значения параметра <parameter> или из файлаt-mail.ctlна <value> или замена с использованием файла <filename>.

Правила маршрутизации :

Mail-For <addr list><address>

Задание правила маршрутизации почты по адресу получателя.

Mail-From <addr list><address>

Задание правила маршрутизации почты по адресу отправителя.

Files-For <addr list><address>

Задание правила маршрутизации файлов по адресу получателя.

Files-From <addr list><address>

Задание правила маршрутизации файлов по адресу отправителя.

Direct <addr list>

Отменяет всякую маршрутизацию почты и файлов для заданных адресов.

Deny <addr list>

Запрещает формировать пакеты, сканироватьBink-Style Outbound и файловые ящики для заданных систем.

Share <addr list><address>

ДобавлениеAKAкадресам удаленной системы.

RestoreOut <addr list>

Формируетслужебное письмо(poll) в случае══ обрываприема══ нетмэйлаи файлов при сеансах связи с системами, описанными в══ <addr list>. Для исходящих сеансов связи.

RestoreIn <addr list>

Аналогично RestoreOut, но для входящих сеансов связи

Ограничения :

LimitIn <limit> [<addr list>]

Задает ограничение для входящих сеансов связи в минутах.

LimitOut <limit> [<addr list>]

Задает ограничение для исходящих сеансов в минутах.

MailOnly <addr list>

Запрещает обмен файлами с заданными системами, отправляется только почта (.рkt).

SendOnly <addr list>

Запрещает принимать файлы и почту при сеансах с указанными системами.

Hold [(NN)] <addr list>

Запрещает вызывать заданные системы.

Freeze [(NN)] <addr list>

То же, что и Hold, игнорирует статус immediate.

NoReq <addr list>

Запрещает отправлять файловые запросы заданным системам.

Priority <addr list>

Задаетадреса систем,которые нужно обслуживать в первую очередь.

 

* - для многолинейных систем эти директивы оказывают действие только на T-Mail/master.

Подробно о дерективах файла events.ctl.

Poll

Синтаксис:

[task ident] Poll [(attr)] <addr>[,<addr>,...] <time period>

Примеры:

Poll 5020/35 1:00-6:00═════════ ; Каждый день в час ночи

[1] Poll /2 0.21:00═════════════════ ; По воскресеньям в 21 час

[3] Poll (Imm) /1004:00══════ ; Создастся poll в 04:00 - письмо

═══════════════ ; со статусом Imm. Статус письма

═══════════════ ; будет действителен для всех задач.

Poll /124 /100 3:00,6:00════════ ; Создадутся poll на указанные

═══════════════ ; узлы в 3:00 и в 6:00.

Poll (опрос) применяется для того, чтобы принудить T-Mail вызвать систему с определенным адресом (адресами) и забрать (возможно) ожидающую там почту и файлы.

Эта директива заставляет T-Mail в указанное время сформировать пустое письмо или несколько писем для соответствующего адреса или нескольких адресов. Письмо будет иметь атрибуты, которые могут быть заданы в (attr). Атрибут Dir всегда ставится на письма, создаваемые с помощью этой директивы. Эти письма ни при каких условиях не маршрутизируются иначе, как напрямую.

Если для указанного в директиве Poll адреса уже имеется почта, то Poll не выполняется. Если для указанного в директиве Poll адреса не известен номер телефона, то Poll также не выполняется.

Send

Синтаксис:

[task ident] Send [(attr)] <filename> <addr>[,<addr>,...]<time period>

Пример:

[1] Send c:\files\info.ziр /2 /4 /5.6 5070/35 1:00

Эта директива заставляет T-Mail в указанное время сформировать письма c атрибутом Fileattached для соответствующих адресов и таким образом послать файл <filename> по указанным адресам. Письма будут иметь атрибуты, которые могут быть заданы в (attr).

Post

Синтаксис:

[task ident] Post [(attr)]<filename> <addr>[,<addr>,...]<time period>

Пример:

Post c:\files\info.txt /2 /4 /5.6 5070/35 1:00

; Каждый день в час ночи

Эта директива заставляет T-Mail в указанное время сформировать письма для соответствующих адресов. Содержимое файла, определенного в этой директиве, будет помещено в тело письма. Письму будут присвоены атрибуты, которые можно задать в (attr).

Freq и UpdFreq

Синтаксис:

[task ident] Freq [(attr)] <filename> <addr>[,<addr>,...]<time period>

[task ident] UpdFreq [(attr)] <filename> <addr>[,<addr>,...]<time period>

Пример:

[M] Freq files /2 /4 /5.6 5070/35══ 3.1:00════════════ ; Раз в неделю

UpdFreq d:\files\kronvall.ziр /2 3:00 ═══════════════ ; Ежедневно при

; условии, что

; файл обновился.

Эта директива заставляет T-Mail в указанное время сформировать файловые запросы на определенные узлы. Freq заставляет сформировать простой файловый запрос (запросы), а UpdFreq - update request, то есть при запросе удаленной системе будет сообщена дата уже существующего на диске файла с тем, чтобы запрос был удовлетворен только в том случае, если файл с этим именем новее, чем существующий. Если файл с таким именем не существует, то Update request не будет отличаться от простого запроса без указания пути. Атрибуты запросов можно задать с помощью (attr). Атрибут Dir всегда ставится на письма, создаваемые с помощью этих директив. Эти письма ни при каких условиях не маршрутизируются иначе, как напрямую.

Для директивы UpdFreq можно задать полное имя файла <filename>, в этом случае путь будет указывать местонахождение аналога запрашиваемого файла на вашей системе. В случае, если для UpdFreq путь не задан, то считается, что этот аналог находится в каталоге, заданном переменной Inbound (t-mail.ctl).

Об использовании полного имени файла в директиве Freq см. в разделе "Запрос по полному пути" главы 12.

Если для указанного в директиве Freq (UpdFreq) адреса не известен номер телефона, то директива не выполняется.

Exit

Синтаксис:

[task ident]Exit <errorlevel> <time period>

Примеры:

[1] Exit 99 1:00══════ ; Ежедневно в час ночи

Exit 92 1.2:00═════════ ; По понедельникам в 2 ночи

Эта директива заставляет T-Mail в указанное время завершить свою работу с указанным кодом завершения <errorlevel>. Значение <errorlevel> должно находиться в диапазоне 1..255.

Repack

Синтаксис:

[task ident]Repack [All] <time period>

[task ident]Repack <address list> <time period>

Примеры:

Critical Repack 1:00

Repack /2 /4 5020/4 1:00

Эта директива заставляет T-Mail в указанное время создать очередь (или ее часть) заново. Если параметр <address list> не задан, или задано "Repack All", то заново пересканируется нетмэйл, а также, если используются, то файловые ящики, персональные почтовые ящики и Bink-Style Outbound и формируется очередь заново. Если задан иной список адресов <addr list> (включая *:*/*.*), то производятся те же действия, но только для адресов, входящих в этот список, при этом не сканируются почтовые ящики.

Если это действие выполняется для Slave-задачи, то происходит только сброс счетчиков (попыток дозвона, неудачных handshakes и прерванных сеансов связи).

Drop

Синтаксис:

[task ident]Drop<addr list> <time period>

Примеры:

Critical Drop /2 1:00

Drop5020/4 1:00

Эта директива заставляет T-Mail в указанное время уничтожить все служебные письма, которые были сформированы им самим на заданный адрес (адреса) - то есть письма от "T-Mail Robot". Это письма, которые были сформированы при выполнении событий Poll, Freq, Post, Send, UpdFreq, заданных в events.ctl, а также если такие письма были сформированы T-Mail-ом при нажатии пользователем клавиш Alt-R (File Request), Alt-S, Alt-D (Send, DirSend), Alt-P (Poll). После уничтожения служебных писем почта для этого адреса (адресов) будет перепакована.

Exec

Синтаксис:

[task ident]Exec <action> <time period>

Примеры:

[M] Exec morning.bat 5:00═══════════════ ; Ежедневно

[M] Exec weekly.bat0.0:10═══════════════ ; Еженедельно

══════ Exec mem /c >>t-mail.log 8:30-11:00;

[1] Critical Exec c:\dv\ec-рif.dvр 1.9:00

══════ Exec══ 123.bat═══ 1.2:00,4.2:00,5:00,6:00

Exec!weekly.bat0:10═══════════════════════ ; Выполнение weekly без swap на диск

Execdaily.dvp═══ 5:10═════════════════════════ ; Выполнение задачи в DESQview

ExecControl════════ 0:05═══════════════════════ ; Выполнение директивы Control

ExecKeyMacro <Alt-U>All<ret> 5.04:00═══ ; Выполнение KeyMacro

ExecCreate packlog.t-m 01:00═════════ ; Создание файла-флага

ExecSound aa.wav 7:30═══════════ ; Воспроизведение звукового файла aa.wav

══════════════════════════════════════════════════════ ; (только для коммерческой версии)

Эта директива заставляет T-Mail в указанное время выполнить действие <action> - программу, команду операционной системы, программу DESQview или одно из действий, заданных KeyWord.

Примечание. при задании директивы Exec можно использовать макросы, перечисленные в описании переменных Process (t-mail.ctl). При задании в директиве Exec программы или команды операционной системы можно использовать модификаторы (см. гл. 7, раздел "Модификаторы для запуска внешних программ").

Кроме того, вместо программы можно указать одно из ключевых слов, допустимых при выполнении процессов (см. описание переменных Process в t-mail.ctl).

Если начало выполнения события попадает на последний час суток (с 23:01 до 23:59), то действия T-Mail зависят от вида задания времени: если перед временем указан день недели, то возможное время выполнения, как исключение, будет менее одного часа и продлится лишь до 23:59 этого дня. Если же день недели не задан, то длительность времени возможного исполнения события, как обычно, один час.

Примеры:

Exec alarm.exe 3.23:30═════════ ; возможное время исполнения события

; 23:30-23:59 в среду

Exec alarm.exe 23:30════════════ ; возможное время исполнения события

; 23:30-00:30 ежедневно

Break

Синтаксис:

[task ident]Break <address list> <time>

Примеры:

defineZMH_BEGIN══ 5:30

defineMYNET═══ 5030

...

Break══ MYNET/*.* !/124 ZMH_BEGIN

Break══ ~5030/*.*═══ 7:00

Break══ 9:00

Эта директива позволяет прервать сеанс связи в указанный момент времени. Если сеанс установлен с системой, основной адрес которой попадает в <address list>, то при наступлении указанного момента времени связь будет прервана. Если в указанный момент времени сеанса связи нет, то директива игнорируется. После разрыва сеанса по директиве Break все действия осуществляются как и при обычном обрыве связи.

Flavor

Синтаксис:

[task ident]Flavor (<type> <flag>) <address list> <time period>

Примеры:

Flavor(Mail Hold)5030/*.*!5030/1324:00

Flavor(Mail Normal) All═══ 4:30

Flavor(Files Crash)/124══ 8:00

Flavor(All Hold)═══ ZYX════ 5:00

Эта директива в определенный момент времени для определенной группы писем изменяет их атрибуты (для Bink-Style Outbound - изменяет расширение .?LO и .?UT - файлов). Допустимые значения:

<type> - тип письма:

Mail- обрабатываются только обычные письма и файлы .?UT;

Files - обрабатываютсятолько письмас атрибутом fileattached (с присоединенными файлами) и файлы .?LO;

All══ - обрабатывается все;

<flag> - устанавливаемый атрибут:

Hold══ - устанавливается атрибут Hold;

Crash- устанавливается атрибут Crash;

Normal - сбрасываются установленные атрибуты Hold и Crash.

Set

Синтаксис:

[task ident]Set <parameter=value> <time period>

[task ident]Set @<filename> <time period>

Примеры:

[1] Set Time_Dial=100════════ 5:00-9:00

[2] Set Freq_Number=10════ 5:00-7:00

Set Answer=0:00-12:005.20:00-0.22:00

Set circle=10═════════ 2:00-5:00,19:00-1:00

Позволяет временно поменять значение одного из параметров, задаваемых в конфигурационном файле (t-mail.ctl).

При замене старое значение параметра теряется безвозвратно. Интервал времени определяет лишь то, что в это время нужно заменить исходное (заданное при старте в файле t-mail.ctl) значение параметра на заданное. Для того, чтобы вернуть прежнее значение, нужно использовать еще один Set для другого интервала времени или директиву Exec Control. T-Mail восстанавливает прежние значения при перечитывании файла t-mail.ctl. Если при этом интервал времени, указанный в директиве Set, еще не истек, то будут вновь установлены параметры, описанные в ней.

Можно использовать изменение группы параметров. Для этого используется второй вариант директивы Set, в котором указывается имя файла, содержащего набор изменений.

Примеры:

(events.ctl)

Set@morning.ctl══ 4:00-11:00

(morning.ctl)

sound════ 1FF

scan═══════ 100

scan_circle══ 300

Этой возможностью следует пользоваться внимательно. Нельзя изменить таким образом значение переменных Port, Total_Messages, Log_Buffer (t-mail.ctl). Не рекомендуется изменять значения переменных Address и Packets (t-mail.ctl).

Для переменных, которых в t-mail.ctl может быть несколько одинаковых, set действует иным образом: с его помощью нельзя изменить существующие значения этих переменных, а можно лишь добавить значения. Это переменные Highlight, Dial, AKA, Process, Process_Flag, Direct_From, MailBox, Extern, Extern_Mail, Default_OH, UserDef_Flag, Valid.

Mail-For и Files-For

Синтаксис:

[task ident] Mail-For <address list> <dest_address> [<time period>]

[task ident] Files-For <address list><dest_address> [<time period>]

Примеры:

Mail-For 5020/* !5020/4 5040/* 5030/2 ; Время действия 0:00-23:59

Mail-For 5030/1 5030/6 4:00-9:00══════════ ; Время действия указано

Mail-For 5030/1 5030/6 3.4:00-6.9:00════ ; Время действия указано

Files-For 5030/* 5030/6 6.4:00-6.23:59; Время действия 4:00-23:59

══ ; по субботам

Mail-ForAll══ 5030/2══════════ ══════════════════ ; Время действия 0:00-23:59

Mail-For@nodes1.lst 5030/6══════════════ ; адреса из списка

Files-For 50*/*.*5030/2═══════════════════════ ; весь регион через 5030/2

Mail-For 5030/* 5020/* Hub══════════════ ══ ; Hub routing

Назначение:задает правила маршрутизации почты или файлов.

При упаковке почты T-Mail анализирует адрес назначения и атрибуты писем. Если письмо не имеет атрибутов Direct, Crash, Hold, Freq, Hub, Received, Sent, Lok, то далее T-Mail просматривает правила маршрутизации, действующие в данное время и, если находит адрес назначения в <address list>, прибавляет письмо к пакету для <dest_address>. Вышеуказанные атрибуты изменяют это правило.

Если это письмо имеет атрибут FileAttached, то просматриваются правила с ключевым словом Files, в противном случае - Mail.

Следует помнить следующее: T-Mail просматривает правила сверху вниз, (т.е. в том порядке, в котором они встречаются в файле events.ctl), пока не встретит подходящее. Поэтому более общие правила следует располагать в конце.

Если письмо имеет хотя бы один из атрибутов Received, Sent, Lok, то оно не пакуется вообще. Если письмо имеет атрибут Hold, то оно упаковывается в особый пакет, который будет отправлен только при входящем вызове системы адресата. Если письмо имеет атрибут Hub, то оно маршрутизируется через хаб (хост) системы-адресата. Если у письма, адресованного пойнтовой системе, номер телефона которой не известен, есть атрибут Direct и переменная Indirect_Points (t-mail.ctl) имеет значение Yes, то это письмо будет перенаправлено на босса системы-адресата. Письма с атрибутом Freq и письма, созданные при выполнении действий Poll, всегда отправляются напрямую адресату.

Для 4-d адресов изначально действует маршрутизация по умолчанию. Это означает (в том случае, если соответствующий 4-d адрес не указан явно в одной из директив Mail-For, Files-For, Direct и не встречается в адресах, указанных в директивах Mail-From или Files-From):

- Если это point вашей системы (то есть ваша система является узлом и номера зоны, сети и узла совпадают), то вся почта отправляется ему напрямую;

- Вся почта (без атрибутов Hold, Dir, Hub, Crash, Freq, Received, Sent, Lok) и файлы для других пойнтовых систем будут маршрутизироваться через их боссов.

В качестве <address> может использоваться слово Hub, например:

Mail-For 5020/* Hub

При этом почта будет упакована для отправки на соответствующий Hub. Если Hub для системы не определен, то hub-ом считается нулевой узел соответствующей сети (Host). Для независимых узлов в регионе (зоне) hub-ом считается нулевой узел региона (зоны).

В составе <address> вместо любого компонента адреса системы может быть использован специальный символ "%". Вместо него будет подставлен соответствующий элемент адреса маршрутизируемой системы. Поясним на примере:

Mail-For2:5040/*.* 2:5020/*.*═════════ %:%/3.0

В этом случае письма для всех систем сети 5040 будут маршрутизироваться на систему 2:5040/3.0, а письма для всех систем сети 5020 будут маршрутизироваться на систему 2:5020/3.0.

Такой способ удобно использовать, к примеру, для маршрутизации на host-системы:

Mail-for═══ All══ %:%/0

Files-for══ All══ %:%/0

Маршрутизация файлов производится аналогично маршрутизации почты.

Mail-From и Files-From

Синтаксис:

[task ident] Mail-From <address list> <dest_address> [<time period>]

[task ident] Files-From <address list> <dest_address> [<time period>]

Примеры:

Mail-From5030/15 !5030/15.999 5030/124

Files-From 5030/* 5030/6 6.4:00-6.23:59

Назначение:задает правила маршрутизации почты или файлов.

Использование и функции абсолютно идентичны директивам Mail-For/File-For, за исключением того, что анализируется не адрес НАЗНАЧЕНИЯ маршрутизируемых писем (файлов), а адрес их ОТПРАВИТЕЛЯ. В остальном функции этих директив совпадают.

Direct

Синтаксис:

[task ident] Direct <address list>[<time period>]

Примеры:

Direct 5030/* !5030/2 !CM 3:00-5:00

Direct 5030/6.*

Direct *.* !~Protected !~CM

Direct @nodes.lst 4:00-6:00

Предупреждает маршрутизацию писем и файлов. Это означает, что почта и файлы для перечисленных адресов ВСЕГДА будут отправляться напрямую (другие правила маршрутизации для них не действуют). Эта директива может располагаться в произвольном месте файла events.ctl √ как до, так и после правил маршрутизации. Особый случай - пойнты, т.е 4-d системы (см. описание директивы Mail-For). Если есть, например, следующее правило маршрутизации:

Direct 5030/6.*

то почта ифайлы для системы 5030/6.601 будутприпакованы к почте для 5030/6.0. Если вы действительно хотите, чтобы почта для системы 5030/6.601 была выделена в отдельный пакет, необходимо явно указать ее 4-d адрес:

Direct 5030/6.601

Deny

Синтаксис:

[task ident]Deny <address list>[<time period>]

Примеры:

Deny 5030/*══ 3:00-5:00

Deny 5030/6.* 22:00-24:00

Deny @nodes.lst 4:00-6:00

Запрещает создание пакетов, сканирование Bink-Style Outbound и файловых ящиков для указанных адресов в заданное время. Если действует такое правило, то для указанных адресов ничто не будет ставиться в очередь. Использование Deny резко замедляет работу системы.

Share

Синтаксис:

[task ident] Share<address list> <address> [<time period>]

Примеры:

Share5010/*5010/999

Share/124 /53 /100999/110:00-23:00

ShareZYX123/124

Назначение: добавление AKA к адресам удаленной системы во время сеанса связи.

Задает адрес (AKA), который будет ДОБАВЛЕН к AKA удаленной системы в случае, если основной адрес удаленной системы входит в <addr list>, также определенный в этой команде. Добавление происходит в начале сеанса связи. Дальнейшие действия происходят таким образом, как будто система сама предъявила этот AKA, за исключением того, что пароли для AKA, добавленных с нашей стороны, не проверяются.

Эта функция работает как в случае EMSI handshake, так и в случае YOOHOO handshake. Таким образом, с помощью этой функции можно определить дополнительные AKA для системы, с которой осуществляется handshake типа YOOHOO, учитывая тот факт, что сам протокол YOOHOO handshake в принципе не поддерживает AKA.

Директиву Share можно использовать также для организации псевдо-динамической маршрутизации почты и файлов.

Пример:

Mail All /9999

Share /0 /50 Boss /9999

RestoreIn и RestoreOut

Синтаксис:

[task ident]RestoreIn<address list> [<time period>]

[task ident]RestoreOut <address list> [<time period>]

Примеры:

RestoreOut 5030/*══════════════ 0.3:00-6.5:00

RestoreOut 5030/6.*══ 22:00-24:00

RestoreIn@nodes.lst 4:00-6:00

Эти правила определяют поведение T-Mail при обрывах сеансов связи с некоторыми системами. Если во время сеанса связи с одной из них произошел обрыв в процессе приема нетмэйла или файла, то будет сформирован Poll-пакет. Это может быть полезно, в частности, в тех случаях, когда противоположная сторона не вызывает нашу систему. Директива RestoreIn действует только при входящем сеансе связи, RestoreOut - только при исходящем. Директиву RestoreIn следует использовать с большой осторожностью во избежание незапланированных исходящих вызовов.

LimitIn и LimitOut

Синтаксис:

[task ident]LimitIn<limit> <address list> [<time period>]

[task ident]LimitOut <limit> <address list> [<time period>]

Примеры:

define mynet 5030/*.*

...

LimitIn═══ 5═════════════ mynet 6:30-7:30

LimitIn═══ 45═══════════ All

LimitIn═══ 1═════════════ 5030/999

LimitOut 2═════════════ 2:*/*.* !ZYX !/9995:00-6:00

LimitOut 10═══════════ 3:*/*.* !3:3/3 1.0:0-1.4:00,18:00-19:00,20:00-21:30

Эти директивы устанавливают максимально возможную длительность сеансов связи (соответственно входящих и исходящих). Если сеанс связи с системой, основной адрес которой попадает в <address list>, продлится дольшевремени, указанноговпараметре<limit> (вминутах), то сеанс будет прерван. После разрывасеанса по директиве LimitIn или LimitOut все действия осуществляются как и при обычном обрыве связи. Значение параметра <limit> должно быть больше 0.

MailOnly

Синтаксис:

[task ident]MailOnly <address list> [<time period>]

Примеры:

MailOnly5030/*.*══ 5:00-7:00

MailOnlyAll !~CM══ 5:00-7:00

MailOnlyAll !/2 !/86 !/10013:00-15:00

MailOnly@nodes.lst 4:00-6:00

Эта директива запрещает обмен файлами для определенных систем в определенное время. T-Mail будет пересылать только письма (netmail). При установлении входящего сеанса связи T-Mail сообщает удаленной системе о режиме mailonly (посредством флага HXT в EMSI). Если удаленная система распознает этот флаг, то произойдет обмен только письмами.

Во время действия этой директивы файловые запросы не отсылаются и не обрабатываются.

Примечание. Эта директива, как исключение, не оказывает влияние на передачу файлов от удаленной системы при исходящем сеансе связи, а также при использовании YOOHOO.

SendOnly

Синтаксис:

[task ident]SendOnly <address list> [<time period>]

Примеры:

SendOnly══ ~Listed═════════════ 9:00-22:00

SendOnly══ All !5030/100 13:00-19:00

SendOnly══ .1

Системе, для которой действует директива SendOnly, в начале сеанса предъявляется специальный флаг в EMSI. Это флаг HAT (hold all traffic) при входящем сеансе связи или NPU (no pick up) при исходящем. При этом (если удаленный мэйлер понимает эти флаги FSC-0056), весь трафик со стороны удаленной системы замораживается и происходит только передача информации. (T-Mail задерживает в таком случае трафик на 1 час).

Во время действия этой директивы файловые запросы не отсылаются и не обрабатываются.

Примечание: во время ZMH для сети Fido этот режим допустим лишь с известными оговорками.

Hold и Freeze

Синтаксис:

[task ident]Hold═══ [(NN)] <address list>[<time period>]

[task ident]Freeze[(NN)] <address list>[<time period>]

Примеры:

Hold══ 5030/* 3:00-5:00

Freeze (50) 5030/6.*

Hold══ @nodes.lst 4:00-6:00

Hold══ 5030/*.*!5030/124══ 0:00-3:00,4.0:00-5.24:00,7:00-8:00

Запрещают вызовы систем с указанными адресами в заданное время. Отличие Hold и Freeze состоит в том, что директива Hold будет проигнорирована при наличии Crash или Immediate статуса для системы(этот статуспоявляется при упаковкеписем с атрибутомCrash или Immediate или при задании оператором этих статусов с клавиатуры). Freeze - более "жесткая" директива, если она действует для данной системы, то T-Mail не будет эту систему вызывать в любом случае (исключая задаваемый оператором режим принудительного опроса Crash-Poll).

В этих директивах есть возможность задавать порог в килобайтах суммарного нехолдового трафика (нетмэйл и файлы), при котором директива перестает действовать, то есть, как только суммарный объем трафика превысит заданный, правило Hold или Freeze для соответствующего адреса (адресов) будет проигнорировано. Это предельное значение задается в круглых скобках сразу после слова Hold или Freeze. Значение 0 (по умолчанию) соответствует бесконечности.

NoReq

Синтаксис:

[task ident]NoReq <address list>[<time period>]

Примеры:

NoReq 5030/* 3:00-5:00

NoReq 5030/6.*

NoReq @nodes.lst 4:00-6:00

Предупреждает отправку файловых запросов по указанным адресам в заданное время. Это может пригодиться в том случае, если вы знаете расписание обработки файловых запросов некоторых систем. Рекомендуется использовать эту директиву во время ZMH.

Priority

Синтаксис:

[task ident]Priority <address list> [<time period>]

Примеры:

Priority═══ 5030/1 5030/63:00-4:00

Priority═══ @r50.net══════════════ 7:00-9:00

Эта директива придает некоторым системам на заданное время статус Priority. Это означает, что если есть почта или файлы для этих систем, то T-Mail будет вызывать их и пытаться отправить эту почту, невзирая на всю остальную очередь. Когда вся почта для таких систем будет отправлена, T-Mail начнет вызывать и другие системы.

Примечание: С этим следует обращаться внимательно, поскольку может случиться так, что при неправильном подходе T-Mail не будет вообще никого не вызывать, например, если вы задали директиву priority для системы, которую нельзя вызывать или номер телефона которой неизвестен. Поскольку эта система должна быть обслужена в первую очередь, T-Mail прекратит обслуживание других систем, не имеющих статуса Priority (пока есть почта для этой системы). Конечно, если эта система сама заберет почту, ситуация выправится.

Пример файла events.ctl :

;======This is EVENTS list for T-Mail system for 2:5030/15==========

;

;

Exit 99════ 8:30

Exec daily.bat═══════ 6:15

Exec Weekly.bat══ 0.0:10

;

Repack 6:01

Poll══ 5030/2══ 18:10

Poll══ 5030/6══ 17:00-20:00

Poll══ 5020/354:00

RestoreOut 5030/* !5030/2 !5030/29 0:00-23:59

;

Hold══════ All══════════ 11:00-23:00

MailOnly All !/100 5:00-7:00

Direct══ 5030/6

;

Mail════ 5030/7═══ 5030/6

Mail════ *:*/*.*══ 5030/2

Files═══ *:*/*.*══ 5030/2

;

;══════ Вот примеры синтаксически "сложных" конструкций:

;

;Mail 5040/* !5040/35030/* !Protected5030/7 1.0:00-5:23:59

;Mail @nodelist\r50.net 5030/3

;Direct 5030/*.* !/2 !/3 !/5

;

;======================= End of file events.ctl ====================

***