Сервер CommuniGate Pro может автоматически обрабатывать Сообщения электронной почты и Сигналы с помощью наборов Автоматических Правил.
Общесерверные и Общекластерные наборы Правил применяются ко всем Сообщениям и ко всем Сигналам, передаваемым через Сервер или через Кластер.
Наборы Автоматических Правил уровня Пользователя применяются ко всем Сообщениям электронной почты и ко всем Сигналам, отправляемым Пользователю.
Каждое Правило в наборе имеет имя, приоритет, набор условий и набор действий. Сначала проверяются Правила, имеющие более высокий приоритет: Правило с приоритетом 9 применяется до Правила, имеющего приоритет 1.
Если Сообщение или Сигнал соответствует всем условиям Правила, то выполняются действия этого Правила и автоматическая обработка либо останавливается, либо продолжается проверка других Правил, имеющих более низкий приоритет.
Администраторы системы могут задавать Общесерверные и Общекластерные Правила.
Для задания Общесерверного Правила (по обработке Очереди) откройте через Веб Интерфейс Администратора в разделе Установки страницу Почта, затем откройте страницу Правила. Для задания Общесерверного Правила Обработки Сигналов откройте через Веб Интерфейс Администратора в разделе Установки страницу Real-Time, затем откройте страницу Правила.
Администраторы системы и Домена могут задавать Правила Пользователя, используя ссылки, находящиеся на странице с Установками Пользователя.
Пользователи могут задавать свои Правила самостоятельно, используя Веб Интерфейс Пользователя. Администраторы системы или Домена могут ограничивать используемые в Правилах действия, которые может выполнять пользователь.
Администраторы системы или Домена могут задавать Общедоменные Правила, используя ссылки, находящиеся на странице с Установками Домена.
Каждое Правило может иметь несколько условий. Условия проверяются в том порядке, как они указаны. Если Сообщение или Сигнал отвечает всем условиям Правил, то выполняются действия Правил.
Операции условий равно и не равно обрабатывают параметры как "шаблоны" строки: символы звёздочка (*) в параметрах обрабатываются как шаблоны подстановки, которым соответствуют ноль или более символов в тестируемой строке. Для того, чтобы проверить, что строка содержит подстроку @thatdomain должна использоваться операция равно *@thatdomain*, а для проверки того, что строка не заканчивается подстрокой somedomain.com, должна использоваться операция не равно *somedomain.com.
Операции условий среди и не среди обрабатывают параметры как наборы из одной или нескольких "шаблонов", разделённых символами запятой (,). Тестируемая строка сравнивается со всеми "шаблонами" строки. Условие среди выполняется, если тестируемая строка соответствует хотя бы одной строке-шаблону. Условие не среди выполняется, если тестируемая строка не соответствует ни одной строке-шаблону из заданного набора. Обратите внимание: не используйте лишние пробелы вокруг символа запятой: пробелы до знака запятой будут рассматриваться как пробелы, завершающие предыдущий шаблон, а пробелы после знака запятой будут рассматриваться как пробелы, с которых начинается следующий шаблон.
Как в Правилах обработки Сигналов, так и в Правилах обработки Сообщений могут использоваться следующие условия:
От сетевого адреса [равно | не равно | среди | не среди] строка
Это условие проверяет сетевой адрес Сигнала или Сообщения. Если Сообщение или Сигнал были созданы самим Сервером, то его сетевой адрес будет пустым. В противном случае строка "От сетевого адреса" содержит имя компонента, который получил или сгенерировал Сообщение электронной почты или Сигнал, отделённый пробелом сетевой (IP) адрес источника Сообщения или Сигнала и, возможно, отделённый двоеточием номер порта. Если Сообщение или Сигнал были созданы локально внутренним компонентом Сервера (таким, как Правила), то поле сетевой адрес имеет значение [0.0.0.0].
Пример (Правило Очереди):
Пример (Правило Сигналов):
Время Суток [равно | не равно | меньше чем | больше чем | среди | не среди] строка
Это условие проверяет текущее время суток и дату в часовом поясе пользователя (для Правил уровня Пользователя) или в часовом поясе Сервера (для Правил, Общих для Системы).
Это условие позволяет вам создавать правила, применяемые только в определённое время суток.
Строка времени должна быть указана как hh:mm или как hh:mm:ss, где hh - часы, mm - минуты, ss - секунды. Строка времени может содержать суффиксы am или pm.
Для условий среди и не среди строка-параметр должна содержать пару строк времени, разделённых символом минус (-). Если второе значение времени не меньше, чем первое (как в 08:30-5:15pm), то условие среди выполняется в любое время после 8:30 и до 17:15. Если второе значение времени меньше, чем первое (как в 22:30-5:15), то условие среди выполняется любое время после 22:30 и любое время до 5:15.
Пример (Правило Очереди):
Если в правиле уровня Пользователя применяет действие рано, не равно, среди, или не среди, то в качестве строки времени может использоваться строка work. Если текущий день недели входит в набор "рабочих дней", а текущее время - в диапазон "рабочих часов" в настройках пользователя, то выполняются условия равно и среди. В противном случае выполняются условия не равно и не среди.
Текущая Дата [равно | не равно | меньше чем | больше чем ] строка даты
Это условие проверяет текущее время и дату. Это условие позволяет вам создавать правила, применяемые к Сообщениям или Сигналам до или после заданных даты и времени. Для сравнения только дат, укажите строку с датой в следующем формате:
DD MMM YYYY
Для сравнения даты и времени, укажите строку с датой в одном из следующих форматов:
DD MMM YYYY hh:mm
DD MMM YYYY hh:mm:ss
DD MMM YYYY hh:mm:ss +ZZZZ
DD MMM YYYY hh:mm:ss -ZZZZ
где:
DD - день месяца
MMM задаёт месяц в виде 3-буквенного английского сокращения: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
YYYY - год
hh - часы
mm - минуты
ss - секунды
+ZZZZ или -ZZZZ - часовой пояс; если часовой пояс не указан, то для Правил уровня Пользователя используется часовой пояс пользователя, а для Общесерверных и Общекластерных Правил используется часовой пояс Сервера.
Пример:
Текущий День [равно | не равно | среди | не среди] строка дня
Это условие проверяет текущий день недели. Оно позволяет вам создавать правила, применяемые к Сообщениям или Сигналам только в определённые дни недели. Дни должны быть указаны либо как номера (0 для Воскресенья, 6 для Субботы), либо как аббревиатуры согласно RFC822 (Mon, Tue, Wed, Thu, Fri, Sat, Sun ).
Пример:
Настройка [равно | не равно | среди | не среди] строка
Строка должна содержать имя Настройки Пользователя и шаблон данных из настройки, разделённых символом двоеточие (:). Это условие сравнивает значение Настройки Пользователя с шаблоном данных.
Пример:
Календарная Занятость [равно | не равно | среди | не среди] строка статуса
Это условие не должно использоваться в Общесерверном или Общекластерном Правиле. Условие получает информацию о календарной занятости Пользователя и получает значение статуса для текущего времени. Это значение статуса сравнивается со строкой статуса.
Пример:
Имеется Папка [равно | не равно] строка
В параметре указывается имя папки и условие проверяет, что такая Папка существует (или не существует). Папка "существует", если возможно открыть Папку с указанным именем и добавить в неё сообщение. Если это условие используется в Правилах уровня Пользователя и в параметре указана Папка другого Пользователя, и эта Папка существует, но текущий пользователь не может добавлять в неё сообщения, то в этом Правиле Папка считается несуществующей.
Пример:
Это условие полезно в Общедоменных Правилах: Правило может проверять существование у текущего Пользователя специальной Папки и копировать определённые Сообщения в эту Папку только в том случае, если она существует.
Каждое Правило может иметь несколько действий. Если Сообщение или Сигнал отвечает всем условиям Правил, то выполняются действия Правил.
Параметры Действия Правила могут содержать комбинации Макро Символов (^X, где X - буква). Обрабатываются различные наборы Макро Символов. Смотрите раздел Правила Сигналов и Правила Почты для информации о возможных комбинациях Макро Символов.
Как в Правилах обработки Сигналов, так и в Правилах обработки Сообщений могут использоваться следующие действия Правил:
Это действие должно быть последним в Правиле. Выполнение этого Правила останавливается и другие (с более низкими приоритетами) Правила для этого сообщения не проверяются. Если Правило является Правилом обработки Сигналов, то Сигнал отвергается с указанным кодом ошибки. Если заданы Сигнальные Правила для состояния Неудача, применяются эти Правила, иначе Сигнал отвергается немедленно. Если Правило является Правилом обработки Сообщений, то Сообщение отвергается, а отправителю сообщения отправляется обратно уведомление о недоставке сообщения. Если параметр действия не пустой, то он используется как текст уведомления об ошибке. Правила обработки Сообщений все же позволяют вам сохранить отвергнутое Сообщение путём использования действия Сохранить до действия Отвергнуть.
Устанавливается соединение с удалённым Веб сервером по указанному URL, отправляется HTTP запрос GET.
Если был получен какой-нибудь ответ, то он выкидывается. Если ответа не было получено в течение 10 секунд, то HTTP соединение закрывается.
Когда параметр theURL обрабатывается с использованием Макро Подстановок, то вычисленные значения сначала перекодируются таким образом, чтобы они представляли собой корректный URL.
Отправляется Мгновенное сообщение с указанным текстом сообщения. Если текст сообщения начинается со строки
To: user@domain
то Мгновенное сообщение отправляется на указанный адрес. В противном случае сообщение отправляется текущему Пользователю (для Правил уровня Пользователя) или не отправляется вообще (для Общесерверных и Общекластерных Правил).
В Системный Журнал помещаются записи уровня Основное (уровень 2), содержащие ID Сообщения или Сигнала и указанную строку recordText. Только Администратор Сервера может задавать это действие.
Запомнить 'От кого' в stringList
Это действие может использоваться только в Правилах уровня Пользователя. Параметр операции указывает имя списка строк, которое либо уже существует, либо должно быть создано в Наборе Данных Пользователя. Адрес автора Сообщения или отправителя Сигнала (От Кого) добавляется в указанный список. Если в списке существует 500 или более элементов, то новый элемент не добавляется.
Когда сообщение доставляется Пользователю модулем Местной Доставки или когда Сигнал направляется любому Пользователю Сервера, то применяется "актуальный" набор Правил уровня Пользователя. Первыми Правилами в актуальном наборе являются Общедоменные Правила с приоритетом выше 5, дальше идут Правила уровня Пользователя, а затем - все оставшиеся Общедоменные Правила с приоритетом 5 и ниже.
Этот метод гарантирует, что все Общедоменные Правила с приоритетом выше 5 будут применены до любого из Правил Пользователя. Если такое Общедоменное Правило использует действие Прекратить Обработку, то Правила Пользователя не применяются.
Обратите внимание: Общедоменные Правила "смешаны" с Правилами Пользователя и применяются в той же среде, что и Правила Пользователя "от имени" Пользователя.
Администраторы Динамического Кластера могут видеть в Веб Интерфейсе Администратора дополнительную ссылку на странице Правила. Она может использоваться для работы со списком Общекластерных Правил.
Если вы изменяете набор Общекластерных Правил на любом из членов Кластера, то набор автоматически обновляется на всех членах Кластера.
Актуальный набор Правил для каждого члена Кластера - это объединение Общесерверных Правил, явно заданных в настройках этого члена Кластера, с Общекластерными Правилами.
Правила из обоих наборов применяются совместно, в порядке, заданном согласно приоритетам Правил. Например, Сообщение может быть обработано высокоприоритетным Правилом, затем Общесерверным Правилом, имеющим средний приоритет, а затем Общекластерным Правилом с низким приоритетом.