CommuniGate Pro
Версия 6.3
 

Автоматические Правила Обработки Почты

Сервер CommuniGate Pro может автоматически обрабатывать сообщения с помощью Автоматических Правил.

В этом разделе описываются Автоматические Правила Обработки сообщений электронной почты, называемые также Правилами для Очереди или Почтовыми Правилами.

Общесерверные и Общекластерные Почтовые Правила применяется ко всем сообщениям, поступающим на Сервер и в Кластер. Эти Правила применяются компонентом Установка в Очередь до того, как сообщение будет поставлено в очередь передающего модуля.

Когда сообщение направляется Пользователю этого Сервера CommuniGate Pro, модуль Местной Доставки применяет Правила уровня Пользователя. Правила уровня Пользователя являются Правилами, заданными для определённого Пользователя и применяются наряду с Правилами, заданными для Домена.



Создание Почтовых Правил

Администраторы системы могут задавать Общесерверные и Общекластерные Почтовые Правила. Через Веб Интерфейс Администратора откройте в разделе Установки страницу Почта, затем откройте страницу Правила.

Администраторы системы могут задавать Правила Пользователя, используя ссылки, находящиеся на странице с Установками Пользователя.

Пользователи могут задавать свои Правила самостоятельно, используя Веб Интерфейс Пользователя. Администраторы системы или Домена могут ограничивать действия, которые может задавать пользователь в своих Правилах.

Администраторы системы или Домена могут задавать Доменные Правила, используя ссылки, находящиеся на странице с Установками Домена.

Более подробно о задании Правил вы можете узнать в разделе Автоматические Правила.


Условия Правил

Каждое Правило может использовать набор универсальных условий, описанных в разделе Общие Правила.
В этом разделе описываются Условия Правил, которые вы можете использовать в Почтовых Правилах (Правилах обработки Очереди).

От Кого [равно | не равно | среди | не среди] строка
Отправитель [равно | не равно | среди | не среди] строка
Это условие проверяет адреса От Кого или Отправитель.
Если в сообщении отсутствуют адреса От Кого / Отправитель, то условие выполняется при задании операции не равно или не среди.

Пример:

Этому условию будут соответствовать все сообщения, приходящие от любых пользователей из любых поддоменов communigate.ru.
Так же, как и выше, но в сообщении проверяются адреса Отправитель, Адрес Ответа, Кому, Копия.
Кому [равно | не равно | среди | не среди] строка
Копия [равно | не равно | среди | не среди] строка
Адрес Ответа [равно | не равно | среди | не среди] строка
В сообщении проверяются адреса Адрес Ответа, Кому, Копия.

Если сообщение содержит несколько адресов данного типа, то общее условие выполняется, если оно выполняется хотя бы для одного адреса. Если сообщение не содержит адресов данного типа, то условие не выполняется.

Любой Кому/Копия [равно | не равно | среди | не среди] строка
Так же, как и выше, но в сообщении проверяются все адреса Кому И Копия. Если сообщение не содержит адресов Кому/Копия, то условие не выполняется.
Каждый Кому/Копия [равно | не равно | среди | не среди] строка
Проверяются все адреса сообщения Кому/Копия. Условие выполняется, если оно выполняется для каждого адреса сообщения Кому или Копия, или в сообщении нет адресов Кому/Копия.

Пример:

Этому условию будут соответствовать сообщения, в которых все адреса Кому и Копия являются адресами в домене mycompany.com или адресами в домене mydept.mycompany.com.
Обратный Адрес [равно | не равно | среди | не среди] строка
Это условие сравнивает "Обратный Адрес" сообщения (Return-Path, так же известный как адрес MAIL FROM конверта) с указанной строкой.
Имя Автора [равно | не равно | среди | не среди] строка
Так же, как и выше, но вместо адреса проверяется "комментарий адреса" (настоящее имя), включённое в адрес От кого.

Пример:

Этому условию будут соответствовать сообщения со следующими адресами От Кого::
From: jsmith@company.com (John J. Smith)
From: "Bill J. Smith" b.smith@othercompany.com
From: Susan J. Smith <susan@thirdcompany.com>
Тема [равно | не равно | среди | не среди] строка
Это условие проверяет совпадение темы сообщения с указанной строкой.

Пример:

Этому условию будут соответствовать сообщения со следующими полями Тема:
Subject: we urgently need your assistance
Subject: Urgent!
Message-ID [равно | не равно | среди | не среди] строка
Это условие проверяет совпадение идентификатора сообщения с указанной строкой.

Пример:

Этому условию будут соответствовать все сообщения, не имеющие флага Message-ID, и все сообщения, имеющие Message-ID без символа @.
Размер Письма [равно | не равно | меньше чем | больше чем ] число
Это условие проверяет, что размер сообщения меньше, чем (или больше чем) указанное число байт.

Пример:

Этому условию будут соответствовать письма, имеющие размер больше чем 100 килобайт.
Отправлено Вручную
Это условие проверяет, не было ли сообщение создано автоматически при помощи какой-нибудь программы.
Обратите внимание: это условие не имеет параметров, код операции и значения параметров (если есть) будут игнорироваться.

В действительности проверяется, что заголовок сообщения не имеет следующий полей: Precedence: bulkPrecedence: junkPrecedence: listX-List*X-Mirror*X-Auto* (кроме X-Auto-Response-Suppress), X-Mailing-List, Auto-*
Это условие так же проверяет, что сообщение имеет непустой Обратный Адрес.

Поле Заголовка [равно | не равно | среди | не среди] строка
Это условие проверяет, имеются ли в заголовке сообщения RFC822 поля, содержащие (или не содержащие) указанное поле заголовка. Также проверяются поля, добавленные операцией Добавить Заголовок (смотрите ниже).

Пример:

Любой Получатель [равно | не равно | среди | не среди] строка
Это условие сравнивает адреса из конверта сообщения с указанной строкой. Если это условие используется в Правилах уровня Пользователя, то проверяются только адреса, которые направлены на этого пользователя.

Адреса обрабатываются в форме, которую они имели до применения правил из Таблицы Маршрутизации и других методов маршрутизации, меняющих адреса. Если пользователь имеет несколько псевдонимов, то это условие позволяет проверить, было ли сообщение направлено на один из псевдонимов пользователя.

Сообщения могут быть приняты Сервером с использованием параметра ESMTP ORCPT. Этот параметр указывает, каким был адрес на стороне отправляющего сервера, до того, как пересылающий/ретранслирующий сервер преобразовал его в другой адрес. В этом (редком) случае, тот сервер может использовать параметры ESMTP ORCPT для указания оригинального адреса.

Пример:
  • сообщение было сформировано где-нибудь и отправлено на адрес user1@domain1.com;
  • сервер domain1.com получил сообщение и преобразовал адрес конверта в user2@domain2.com (пересылка почты);
  • сервер domain1.com ретранслировал сообщение на домен domain2.com на сервере CommuniGate Pro;
  • сервер CommuniGate Pro domain2.com получил сообщение;
  • сервер CommuniGate Pro domain2.com обнаружил, что user2 является псевдонимом для пользователя user3 и направил сообщение пользователю user3.
Если сервер domain1.com является продвинутым сервером и информирует сервер CommuniGate Pro domain2.com, что оригинальный адресом в сообщении являлся адрес user1@domain1.com, то при проверке условия Получатель используется строка <user1@domain1.com>.

Если сервер domain1.com не информировал ваш сервер об оригинальном адресе, то при проверке условия Получатель используется строка <user2@domain1.com>.

Общее условие выполняется, если оно выполняется хотя бы для одного адреса.
Каждый Получатель [равно | не равно | среди | не среди] строка
Так же, как и выше, но условие выполняется только в том случае, если оно выполняется для всех адресов из конверта сообщения (если используются в Правилах уровня Пользователя - то для всех адресов сообщения, направленных этому пользователю).
Источник [равно | не равно | среди | не среди] строка
Это условие проверяет, было ли сообщение получено из "доверенного" источника:
trustedот самого Сервера как автоматически созданное сообщение, от модуля PIPE, по SMTP с компьютера с сетевым адресом, указанным в списке Сетевые Адреса Клиентов
whitelisted по SMTP с компьютера с сетевым адресом, указанным в списке Неблокируемые Адреса
authenticatedчерез SMTP, WebUser, MAPI, POP XMIT, Правила - в случае, если отправитель сообщения был аутентифицирован

Пример:

Защита [равно | не равно | среди | не среди] строка
Это условие проверяет, является ли сообщение зашифрованным или подписанным. Оно сравнивает с операндом условия следующую строку:
SMIME:encryptedесли сообщение зашифровано согласно стандарту S/MIME
SMIME:signedесли в сообщении есть цифровая подпись согласно двоичному стандарту S/MIME (PKCS7)
signedесли в сообщении есть цифровая подпись
 (пустая строка) во всех других случаях

Пример:

Календарный Запрос[равно | не равно | среди | не среди] строка
Это условие проверяет, содержит ли сообщение календарный запрос указанного типа (REQUEST, REPLY, CANCEL). Оно может быть использовано только в правилах на уровне домена или пользователя.

Пример:

Следующие условия могут использоваться только в Общесерверных Правилах:

Любой Маршрут [равно | не равно | среди | не среди] строка
Это условие проверяет адрес получателя из конверта сообщения - адрес, указывающий серверу, куда ему фактически следует передать сообщение. Это условие сравнивает информацию о маршруте адреса получателя с указанной строкой.

Условие выполняется, если оно выполняется хотя бы для одного адреса получателя из конверта.

Информация о маршруте адреса сообщения представляется в следующем формате:

module(queue)address
где module - это имя модуля, в который направляется на обработку адрес, queue - это имя очереди модуля, куда направляется адрес, и address - это адрес в этой очереди.
Например, адрес получателя из конверта user@domain может быть направлен в:
SMTP(domain)user@domainесли domain является удалённым доменом
LOCAL(user)если domain является Главным Доменом
LOCAL(user@domain)если domain является Доменом CommuniGate Pro
Если вы планируете использовать в Правилах такое условие, используйте кнопку Тест на странице Маршрутизатор Веб Интерфейса Администратора для того, чтобы проверить, как направляются различные адреса.
Каждый Маршрут [равно | не равно | среди | не среди] строка
Так же, как и выше, но условие выполняется, только если оно выполняется для всех адресов из конверта сообщения.
Аутентификация [равно | не равно | среди | не среди] строка
Это условие проверяет аутентификацию сообщения. Если сообщение было аутентифицировано при отправке этим Сервером CommuniGate Pro, то имя аутентифицированного Пользователя (account@domain) сравнивается с указанной строкой.
Пример:
Этому условию будут соответствовать все сообщения, отправленные любыми пользователями из любых поддоменов communigate.ru с аутентификацией.

Действия Правил

Каждое Правило может иметь ноль, одно или несколько действий. Если сообщение соответствует всем условиям Правил, то выполняются действия Правил.

Вы можете использовать все универсальные действия, описанные в разделе Общих Правил. В этом разделе описываются дополнительные действия Правил, которые вы можете использовать в Почтовых Правилах (Правилах для обработки Очереди).

Прекратить Обработку
Это действие должно быть последним в Правиле. Выполнение этого Правила останавливается и другие (с более низкими приоритетами) Правила для этого сообщения не проверяются. Сообщение сохраняется в папке INBOX.
Выбросить
Это действие должно быть последним в Правиле. Выполнение этого Правила останавливается и другие (с более низкими приоритетами) Правила для этого сообщения не проверяются.
Сообщение не сохраняется в папке INBOX, но положительное уведомление о доставке сообщение отправляется отправителю сообщения (если таковое запрошено).
Пример:
ЕСЛИ От Кого равно *that_annoying_guy@*
ТО
Выбросить
Отвергнуть с [текст сообщения об ошибке]
Дополнительную информацию смотрите в разделе Правила.
Если параметр действия не пустой, то он используется как текст сообщения об ошибке.
Вы, все же, сможете сохранить отвергнутое сообщение, используя действия Записать до действия Отвегнуть.
Пример:
ЕСЛИ Тема равно *UCE*
ТО
Отвергнуть пожалуйста, больше не отправляйте сюда такие сообщения
Пометить имяФлага [,имяФлага...]
Это действие устанавливает или сбрасывает указанные флаги сообщения.
Первоначально набор флагов сообщения содержит:
  • флаг Media - если сообщение содержит голосовую или видео почту (если сообщение имеет тип содержимого audio/*, video/* или multipart/voice-message).
  • флаг Hidden - если заголовок сообщения содержит поле Sensitivity со значением private.

Флаг Names может использоваться для того, чтобы добавлять флаги в набор, а флаг Negative Names может использоваться для удаления флагов из набора.
Когда сообщение сохраняется в Папке действием Записать в, а так же, когда сообщение сохраняется в папке INBOX после применения всех Правил, то сообщение записывается с указанным набором флагов.
Пример:
ЕСЛИ Отправитель равно *list*
ТО
Пометить Flagged,Read
Добавить Заголовок поля заголовка
Это действие добавляет к сообщению поля заголовков RFC822. Первоначально в дополнительные поля заголовка сообщения входит поле Обратный Адрес, сгенерированное с использованием return-path из конверта сообщения.
Когда сообщение сохраняется, отправляется, копируется или отправляется во внешнюю программу, то к сообщению добавляются дополнительные поля заголовков.
Пример:
ЕСЛИ Тема равно *purchase*order*
ТО
Добавить Заголовок X-Special-Processing: order
Действие Добавить Заголовок может использоваться для добавления поля X-Color. Это поле распознаётся в Веб Интерфейсе Пользователя? и оно используется для выделения сообщения в Папке:

Пример:

ЕСЛИ Поле Заголовка равно X-Spam: *
ТО
Добавить Заголовок X-Color: red
Пометить Тему пометка
Это действие задаёт строку, которая добавляется к полю заголовка Тема.
Когда сообщение сохраняется, отправляется, копируется или отправляется во внешнюю программу, то к указанные пометки вставляются в начало поля заголовка Тема.

Пример:

ЕСЛИ От Кого равно ceo@mycompany.dom
ТО
Пометить Тему [БОСС]

Если в одном сообщении используется несколько Правил Пометить Тему, то последняя пометка добавляется первой, за ней следует другая, и далее идёт Тема оригинального сообщения.
Обратите внимание: последующие действия не обязательно влекут за собой действие "Выбросить", и они не предотвращают от сохранения оригинального сообщения в папке INBOX. Если вы хотите, например, перенаправить сообщение, не оставляя его копию в папке INBOX, укажите за действием Перенаправить действие Выбросить.
Записать в mailboxName
Сообщение копируется в указанную Папку Пользователя.

Пример:

ЕСЛИ От Кого равно developer@partner.com
ТО
Записать в DeveloperBox
Выбросить
Если имя папки начинается с префикса [IGNOREFAILURES], то префикс удаляется, и ошибки, возникающие при записи Сообщения в Папку, игнорируются. В противном случае (префикс отсутствует), в случае возникновения ошибки, обработка Правил прекращается.
Если имя папки начинается с префикса [MUSTEXIST], то префикс удаляется, а обработка Правила заканчивает неуспешно в случае, если папка с таким именем не существует. В противном случае (префикс отсутствует), если Папка не существует, то производится попытка её создания.
Если имя папки начинается с префикса [IFEXISTS], то префикс удаляется, и, если папка с таким именем не существует, то действие немедленно завершается.
Обратите внимание: можно использовать только один из данных суффиксов.

Если имя папки указано как ~accountName/mailboxName или ~accountName@domainName/mailboxName, то сообщение сохраняется в Папке mailboxName у Пользователя accountName из этого же домена или у Пользователя accountName@domainName.

Когда это действие используется в Общесерверном или Общекластерном Правиле, то имя папки должно указываться именно в таком виде, так как для этих Правил нет Пользователя, используемого по умолчанию.


Для этой Папки вы должны иметь право доступа Добавить.

Пример:

ЕСЛИ Тема равно *Make*$*
ТО
Записать в ~postmaster/abuse
Выбросить
Если указанная Папка не может быть открыта, или сообщение не может быть сохранено в этой Папке, обработка Правила останавливается (аналогично использованию действия Прекратить Обработку).
Перенаправить к адреса
Сообщение перенаправляется на один или несколько указанных адресов электронной почты. Если указано несколько адресов, то они отделяются запятой (,).
Указанные адреса заменяют поля сообщения Кому/Копия, за исключением ситуации, когда указанные адреса имеют префикс [bcc];
Адрес "нового отправителя" конструируется как адрес текущего Пользователя или как адрес MAILER-DAEMON, если действие используется в Общесерверном или Общекластерном Правиле.
Обратный Адрес перенаправленного сообщения устанавливается в адрес "нового отправителя" (или в пустой адрес, если Обратный Адрес оригинального сообщения также был пустым).
Адрес отправителя перенаправленного сообщения устанавливается в адрес "нового отправителя".
Поле заголовка Return-Path (если есть) изменятся на поле X-Original-Return-Path.
Поля Return-Receipt-To, Errors-To и DKIM-Signature удаляются.
Поля Message-ID, Date и Sender (если есть) переименовываются в X-Original-Message-ID, X-Original-Date и X-Original-Sender соответственно.
Создаются новые поля Date и Message-ID.
Переслать к адреса
Сообщение пересылается на указанный адрес. Аналогично операции Перенаправить, но адрес "нового отправителя" не сохраняется в поле Sender. Вместо этого он используется для создания нового поля From.
Старое поле From переименовывается в поле X-Original-From.
Переправить к адреса
Сообщение переправляется (перенаправляется) на указанный адрес (с минимальными изменениями в заголовке).
Обратный Адрес перенаправленного сообщения сохраняется.
Добавляется поле заголовка Resent-From. Оно содержит адрес электронной почты текущего Пользователя (без его Настоящего Имени), или адрес MAILER-DAEMON, если действие используется в Общесерверном или Общекластерном Правиле.
Поле заголовка Return-Path (если есть) изменятся на поле X-Original-Return-Path.
Поля Return-Receipt-To и Errors-To удаляются.
Ответить текст сообщения
Указанный текст используется для формирования сообщения ответа. Ответ отправляется на адрес, указанный в Reply-To оригинального сообщения. Если заголовок Reply-To отсутствует, ответ отправляется на адрес От Кого оригинального сообщения.

Поле заголовка Тема: Re: тема оригинального сообщения и In-Reply-To: message-ID оригинального сообщения добавляются в сообщение ответа.

Указанный текст сообщения может содержать макросимволы, которые заменяется фактическими данными при формировании сообщения ответа:

^S заменяется на Тему оригинального сообщения (в её оригинальном виде)
^s заменяется на Тему оригинального сообщения (в MIME декодированном виде)
^F заменяется на адрес От Кого оригинального сообщения (в его оригинальном виде)
^f заменяется на адрес От Кого оригинального сообщения (в MIME декодированном виде)
^T заменяется на поле Date оригинального сообщения
^I заменяется на поле Message-ID оригинального сообщения
^R заменяется на поле To оригинального сообщения (в MIME декодированном виде)
^r заменяется на адрес электронной почты текущего Пользователя.

Пример:

Ответить

Если указанный текст начинается с символа плюс (+), строки, следующие за этим символом, будут добавлены к заголовку сообщения. Текст должен содержать поле Subject, так как система автоматически не добавляет Тему: Re: тема оригинального сообщения и In-Reply-To: message-ID оригинального сообщения добавляются в сообщение ответа.

Указанные части заголовка могут содержать дополнительные поля To, Cc и Bcc и сообщение ответа будет отсылаться на эти адреса (поля Bcc будут удаляться из заголовка сообщения).

Если указанный заголовок не содержит поля From, то поле From берется из Адреса От Кого, задаваемого в Настройках Пользователя. Если этот адрес не установлен, то Адрес От Кого формируется с использованием настройки полное Имя Пользователя и Настоящее Имя Пользователя.

Если полное Имя Пользователя не сохраняется как поле From, оно сохраняется как поле Sender.

^S и другие макросы также могут использоваться в дополнительных полях заголовков.

Пустая строка должна отделять тело сообщение от дополнительных полей заголовков:

Ответить

Если указанный текст начинается со строки [charsetName], то текст преобразовывается в указанную кодировку (все не-ASCII символы хранятся в кодировке UTF-8), в противном случае он преобразовывается в кодировку, используемую во входящем сообщении. Если во входящем сообщении кодировка не указана, и Правило является Правилом Уровня Пользователя, то используется кодировка по умолчанию, заданная в Настройках Веб Интерфейса Пользователя.

Если текст начинается с символа плюс, то символ плюс должен указываться после строки [charsetName].

Если указанный заголовок не содержит полей MIME-Version и Content-Type то эти поля будут добавлены в формируемое сообщение.

Ответить Всем текст сообщения
Так же, как и выше, но ответ отправляется на все адреса от Кого и Копия оригинального сообщения.
Отреагировать с текст сообщения
Указанный текст сообщения должен содержать заголовок, пустую строку и тело сообщения. Заголовок может содержать любое число полей To, CC и Bcc, поле Subject, а также любое число дополнительных полей.
Сформированное сообщение отправляется на указанные адреса.

Указанный заголовок сообщения и тело сообщения могут содержать перечисленные выше макросы.

Поля From, Sender,MIME-Version и Content-Type формируются так же, как и в операции Ответить.

Пример:

Отреагировать с
Текст сообщения может начинаться со строки [charsetName] (смотрите выше).

Пример:

Отреагировать с
Записать Зашифровано в имя папки
Это действие работает точно так же, как действие Записать в, но сообщение перед сохранением преобразовывается в зашифрованную S/MIME форму.
Копировать Приложения в имя файловой директории
Это действие копирует приложения к сообщению в указанную директорию в Хранилище Файлов.
Приложения обнаруживаются как самая верхняя часть MIME структуры multipart/mixed или multipart/related.
Если имя директории имеет префикс [replace], то существующий файл с таким именем замещается; в противном случае, если файл с таким именем уже существует, генерируется сообщение об ошибке.
Если имя директории пустое, то файлы сохраняются в самом верхнем уровне Хранилища Файлов Пользователя.
Если имя директории заканчивается символом звёздочка (*), то этот символ заменяется на уникальную строку, добавляется расширение файла, взятое из имени оригинального файла с приложением (если оно есть) и получившееся имя используется в качестве имени файла с приложением для сохранения в Хранилище Файлов.

Пример:

Копировать Приложения в

Пример:

Копировать Приложения в
Выполнить командная строка
Указанная команда выполняется как отдельный процесс ОС (программа).
Текст сообщения (заголовок и тело) отправляется на стандартный ввод (stdin) программы.
Обратите внимание: программа должна считывать весь поток данных stdin, в противном случае команда Выполнить закончится неуспешно.

Текст команды может иметь префикс [FILE]:

[FILE] myprogram parm1
При использовании префикса, стандартный ввод будет пустым (закрыт), или будет содержать только поля заголовка сообщения, добавленные в предыдущих Правилах.
Строка -f Queue/field.msg (флаг -f и имя файла сообщения, относительно к директории данных) будут добавлены в конец текста команды:
-f Queue/12002345.msg

Обратите внимание: обычно пользователям не предоставляется доступ к директории данных, поэтому файл [FILE] может использоваться только в Общесерверных Правилах.

Текст команды может иметь префикс [RETPATH]:

[RETPATH] myprogram parm1
При указании этого префикса, строка -p, за которой следует обратный адрес сообщения, добавляется в конец текста команды:
-p "address@domain.com"

Текст команды может иметь префикс [RCPT]:

[RCPT] myprogram parm1
При указании этого префикса, строка -r, за которой следует список адресов получателей сообщения, добавляется в конец текста команды:
-r "address1@domain1.com" "address2@domain2.com"

Текст команды может иметь префикс [ORCPT]:

[ORCPT] myprogram parm1
При указании этого префикса, строка -r, за которой следует список адресов получателей сообщения, добавляется в конец текста команды. Если адрес получателя был представлен вместе с параметром "оригинальный адрес получателя" (параметр ESMTP ORCPT), то используется оригинальный адрес.
-r "origAddress1@domain1.com" "origAddress2@domain2.com"

Обратите внимание: Префиксы [RCPT] и [ORCPT] не могут использоваться вместе.

Текст команды в Правилах Уровня Пользователя может иметь префикс [ACCNT]:

[ACCNT] myprogram parm1
При указании этого префикса, строка -u, за которой следует имя Пользователя, добавляется в конец текста команды:
-u "accountName@domainName"

Текст команды в Правилах, Общих для Сервера, может иметь префикс [ROUTE]:

[ROUTE] myprogram parm1
При указании этого префикса, строка -R, за которой следует маршрут адреса получателей сообщения, добавляется в текст команды:
-R "LOCAL(accountName@domainName)" "SMTP(example.com)user@example.com"
Смотрите информацию о формате данных Маршрута в разделе условия.

Текст команды может иметь префикс [STDERR] (смотрите ниже).

Текст команды может иметь несколько префиксов, и они могут быть указаны в любом порядке. Если указано несколько префиксов [FILE], [RETPATH] и [RCPT], то сначала добавляется флаг -f и его параметры, затем флаг -p и его параметры, а затем флаг -r и его параметры.

Когда программа завершается, проверяется код возврата программы. Если код равен нулю, то действие Правила считается выполненным успешно, и выполняется следующее действие Правила.

Если код возврата задачи не равен нулю, то сообщение отвергается с кодом ошибки "automated processing failed", и данные из канала стандартного вывода задачи записываются в Журнале вместе с кодом возврата программы.
Если в командной строке был указан префикс [STDERR], то для формирования текста отчёта об ошибке будет использоваться канал стандартного вывода ошибок (если есть).

Данные из стандартного вывода задачи, если они есть, не должны превышать 4 килобайт. Они фиксируются в Журнале и выбрасываются.

Сервер CommuniGate Pro осуществляет наблюдение за программой в процессе её выполнения и прерывает её, если она не завершает свою работу в течение двух минут.

Когда выполняемая программа является частью обработки Правила Уровня Пользователя, имя пользователя ОС берётся из настройки Имя в ОС, и программа выполняется в среде ОС этого пользователя.

Когда CommuniGate Pro работает под управлением системы Unix, программе присваиваются указанные идентификатор пользователя, идентификатор группы и набор групп; текущей директорией задачи считается домашняя директория Пользователя Unix.
Действие Выполнить не может использоваться в Правилах Уровня Пользователя, если Сервер CommuniGate Pro работает под управлением операционных систем MS Windows.
Когда программа должны быть выполнена как часть Общесерверного Правила, она запускается в среде Сервера CommuniGate Pro (и текущей директорией считается директория данных).

Пример:

Выполнить
Внешний Фильтр
Это действие указывает серверу передать сообщение в программу Внешнего Фильтра. Это действие может быть указано только в Общесерверных Правилах. Параметр указывает, какое имя программы Внешнего Фильтра будет использоваться.

Пример:

Внешний Фильтр
Принять Приглашение опции
Это действие может использоваться для автоматического принятия Приглашений на Встречи. Дополнительную информацию смотрите в разделе Календарь.
Принять Ответ
Это действие может использоваться для автоматического принятия Ответов на Приглашения на Встречи. Дополнительную информацию смотрите в разделе Календарь.

МакроПодстановки

Строки параметров для действий Обратиться на URL, Послать IM, Послать Push, Записать в Журнал могут содержать "макросимволы" - комбинации символов, которую заменяются фактическими данными до того, как параметр будет использован в действии Правила Обработки Почты.

Могут использоваться следующие комбинации символов:

^S заменяется на Тему оригинального сообщения (в её оригинальном виде)
^s заменяется на Тему оригинального сообщения (в MIME декодированном виде, конвертированную в UTF-8)
^F заменяется на адрес От Кого оригинального сообщения (в декодированном виде, конвертирован в UTF-8, включая часть "Настоящее Имя")
^E заменяется на адрес От Кого оригинального сообщения (только адрес)
^T заменяется на сформатированную в соответствии с требованиями RFC822 отметку времени, взятую из Date оригинального сообщения.
^t заменяется на текущее время в формате RFC822.
^I заменяется на поле Message-ID оригинального сообщения
^R заменяется на поле To оригинального сообщения (список, разделённый запятой)
^r заменяется на адрес электронной почты получателя (список, разделённый запятой).
^^ заменяется на один символ ^.

Автоответчик

Каждый Пользователь может иметь "упрощённое" встроенное правило для создания автоматических сообщений. Если правило включено, то оно проверяет, что входящее сообщение не является сформированным автоматически, и что автор сообщения (адрес 'От Кого') не находится в списке RepliedAddresses (авто-отвеченные). Затем оно формирует и отправляет автоматический ответ, а затем добавляет адрес автора оригинального сообщения в список RepliedAddresses для того, чтобы автоматический ответ не отправлялся дважды для одного и того же автора. Другим вариантом работы правила является перенаправление копии каждого сообщения на указанные адреса.

Условия этого Правила:

Отправлено вручную
Текущая дата     больше       указанное время (необязательно)
Текущая дата     меньше       указанное время (необязательно)
От Кого          не среди    #RepliedAddresses (необязательно)

Действия Правила:

Ответить Текст ответа
Запомнить 'От Кого' в RepliedAddresses
Перенаправить Список адресов

В сообщении ответа может быть изменён только текст:

Автоответчик
Начало:    Конец:
Уведомить:
Автоответчик
Если эта опция не выбрана, то Правило Автоответчик выключено. Если эта опция выбрана, то Правило Автоответчик включено и имеет низкий приоритет (приоритет правила установлен в значение 2).
Начало
Если эта опция выбрана, то Правило Автоответчик начинает работу при наступлении даты, указанной в этой настройке.
Конец
Если эта опция выбрана, то Правило Автоответчик прекращает работу при наступлении даты, указанной в этой настройке.
Уведомить
Если эта опция выбрана, и в списке есть адреса, то Правило Автоответчик перенаправляет копии каждого сообщения на указанные адреса. Эта опция доступна, только когда у Пользователя есть права на перенаправляющие действия в правилах.
Даже если Администратор не позволил пользователю применять Автоматические Правила, правило Автоответчик может быть включено самим Пользователем, и пользователь всегда может изменить текст сообщения автоматического ответа.

При нажатии на кнопку 'Очистить Список Авто-Отвеченных' список RepliedAddresses удаляется из данных Пользователя. Как альтернатива, может быть показана кнопка Включить Автоответчик. Она включает Правило Автоответчик и одновременно очищает список отвеченных адресов.


Упрощённое Правило "Копировать Всю Почту"

У каждого Пользователя может быть упрощённое Правило для перенаправления всех входящих сообщений электронной почты на другой адрес или адреса.

Условие Правила может быть либо пустым (действие Правила применяется ко всем сообщениям) либо Отправлено Вручную; в этом случае действия Правила могут быть Переслать к, Перенаправить к, или Переправить к, и, дополнительно, Выбросить.

Изменён может быть только список адресов перенаправления:

Копировать Всю Почту
Сохранять Оригинал у себя Не копировать Автоматические
Копировать Всю Почту
Если эта опция не выбрана, Правило "Копировать Всю Почту" выключено. Если эта опция выбрана, то Правило "Копировать Всю Почту" включено и имеет самый низкий приоритет (приоритет правила установлен в значение 1).
Сохранять Оригинал у себя
Если эта опция не выбрана, то к Правилу добавляется действие Выбросить и вся копируемая почта НЕ сохраняется в папке INBOX Пользователя.
Не копировать Автоматические
Если указана эта опция, то добавляется условие Отправлено Вручную и сообщения от роботов (сообщения из списока рассылки, сообщения об ошибках и переправленные сообщения) этим Правилом не обрабатываются.
Отправлять от имени Этого Пользователя
Если указана эта опция, для этого правила используется действие Переслать к. Нужно использовать это действие, если у пользователя включены ограничения на Адрес/Имя 'от Кого', или если сервер получателя копии использует DMARC или иную форму проверки адреса отправителя.
Отправлять от имени Оригинального Адреса
Если указана эта опция, для этого правила используется действие Перенаправить к.
Отправлять точную Копию
Если указана эта опция, для этого правила используется действие Переправить к.
Пользователь может включать это Правило только если ему предоставлено право использовать действия перенаправления. В противном случае, только Администратор сможет включить использование этого Правило для пользователя.

Упрощённые Правила по Обработке Спама

У Пользователя могут быть упрощённые Правила по обработке спама.

Управление Спамом
Высокая Вероятность: Средняя Вероятность: Низкая Вероятность:

Эти Правила полагаются в своей работе на другие Правила, реализованные обычно в программах - Внешних Фильтрах, добавляющих в сообщение специальное поле заголовка с уровнем "вероятности" того, что это сообщение является спамом.

Каждое Правило по Контролю за Спамом имеет условие, проверяющее содержимое поля заголовка сообщения X-Junk-Score. Другое условие проверяет наличие адреса От Кого в наборе данных Адресной книги ("белый список").

Если условия выполняются, то Правило по Контролю за Спамом может либо выкидывать сообщение электронной почты, сохраняя его в Папке Спам (Имя Папки задаётся в Настройках Пользователя), либо помечать Сообщение флагом Junk.


Запись в Журнал информации о работе Правил

Компонент Установка в Очередь записывает в Журнале информацию о работе Общесерверных Почтовых Правил.
Установите для компонента Установка в Очередь Уровень Журнала в Подробности или Всё для того, чтобы проверить как выполняются условия Правила и их действия.

Информацию о работе Правил Уровня Пользователя и Правил, Общих для Домена, в Журнал Сервера записывает модуль Местной Доставки.
Установите для модуля Местной Доставки Уровень Журнала в Подробности или Всё для того, чтобы проверить как выполняются условия Правила и их действия.


Руководство CommuniGate Pro. Copyright © 2020-2023, АО СталкерСофт