ic.gif (942 bytes)

Фильтрация или правила обработки входящей почты.

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

  • Набор правил определяет каким образом будет обрабатываться поступающая в адрес пользователя почта (также на странице можно задать текст автоматического ответа на сообщения).
    Если Вы уже задали какие-либо правила, то сможете их увидеть. Будет сообщен приоритет правила, его название, а также предоставлены возможности изменения приоритета, названия, самого правила (по ссылке "Edit") и дана возможность удаления правила.
    Что касается автоматического ответа на сообщения, то он является встроенным правилом для каждого пользователя и выполняется в том случае, когда данная опция разрешена, а исходное письмо не является сгенерированным почтовым роботом или сервисом.
    Задав имя нового правила и подтвердив его нажатием кнопки "Создать правило", либо перейдя к редактированию существующего правила по ссылке "Edit", Вы попадете на страницу, определяющую алгоритм работы данного правила.
    Вы можете определить к примеру следующую логическую цепочку: Если "Значение" "Параметра" удовлетворяет "Условию", то выполнить "Действие" с указанными "Аргументами". В качестве "Параметра" могут выступать перечисленные ниже поля:

    From
    Sender
    Return-path
    To
    Cc
    Any To or Cc
    Each To or Cc
    Reply-to
    'From' Name
    Subject
    Message-Id
    Message Size
    Human Generated
    Header Field
    Any Recipient
    Each Recipient

     Среди перечисленных полей последние два обрабатываются специфическим образом. К остальным же применяется схема "Параметр" "Условие" "Значение", где "Условие" может быть установлено в "is" и "is not", а "Значение" представляет собой некоторую текстовую строку-шаблон, в которой может использоваться символ замены "*". Если такая строка не задана, то фактически проверяется присутствие либо отсутствие данного "Параметра" среди заголовков обрабатываемого письма. К полю "Message Size" применимы "Условия" "less than" и "greater than" с указанием соответствующего размера письма (например 100K) в качестве "Значения".

  Чем отличаются варианты "From","Sender" и "'From' Name": При использовании "From", значение сравнивается с адресом в поле From: входящего письма (пример: условие "From is *@*somedomain.ru" будет выполняться для любого письма из домена somedomain.ru); при использовании "Sender" анализируется заголовок Sender в пришедшем письме; при использовании "'From' Name" анализируется имя в поле From: входящего письма (пример: условие "'From' Name is *Vasya*" будет выполняться для писем, поле From: которых выглядит подобно следующим конструкциям - From: vasiliy@somecompany.ru (Vasya V.) или From: "Vasya V." vv@somecompany.ru или From: Super Vasya <svas@somecompany.ru> ).

  'Any To or Cc' обозначает что действие будет выполняться при совпадении условия хотя бы для одного из перечисленных в полях To: и Сс: адресатов. 'Each To or Cc' обозначает что действие будет выполняться при совпадении условия для всех перечисленных в полях To: и Сс: адресатов.

  Поле "Human Generated" не требует указания "Условия" и "Значения", т.к. в этом случае производится проверка письма на предмет отсутствия в его заголовках строк Precedence: bulk, Precedence: junk, Precedence: list, X-List*, X-Mirror*, X-Auto*, X-Mailing-List и наличия в письме непустого заголовка Return-path.

  'Header Field' осуществляет проверку указанного Вами заголовка письма. Например 'Header Field' is 'X-Mailer: MyMailer*" проверит наличие заголовка X-Mailer со значением, начинающимся с MyMailer.

"Any Recipient" и "Each Recipient". С их помощью можно сравнить адрес, передаваемый удаленным SMTP сервером локальному серверу в команде RCPT TO, с заданным Вами. Т.к. проверка адреса происходит до какого-либо его преобразования, то таким образом можно например выделять сообщения, посланнные на   синоним. Если при отправке сообщения использовался ESMTP-параметр ORCPT, то сравнение будет призводиться с переданным таким образом адресом.
Например:

  • где-либо отправляется сообщение на адрес user1@domain1.com;
  • сервер домена domain1.com принимает сообщение и согласно правилу, описанному в .forward, пытается отправить его на адрес user2@domain2.com;
  • сервер CommuniGate в домене domain2.com принимает сообщение;
  • сервер CommuniGate обнаруживает что имя user2 является синонимом учетной записи user3 и пересылает сообщение в ящик этого пользователя.

    Если в данном примере почтовый сервер домена domain1.com использовал параметр ORCPT и тем самым проинформировал сервер домена domain2.com об "оригинальном" адресе получателя (user1@domain1.com), то в "Условиях" "Any Recipient" и "Each Recipient" сравнение будет производиться с адресом <user1@domain1.com>. В противном случае сравнение будет производиться с адресом <user2@domain2.com>. Для "Any Recipient" условие будет считаться выполненнным при совпадении указанных Вами "Значений" хотя бы с одним из переданных в RCPT TO адресов, для "Each Recipient" - при совпадении со всеми адресами.

  В качестве "Действия" могут выступать следующие поля :

 

  • Store in
  • Redirect to
  • Forward to
  • Mirror to
  • Reply with
  • Reply to All with
  • React with
  • Mark
  • Add header
  • Reject with
  • Discard
  • Stop processing

     Важно: При выполнении "Действий": "Store in", "Redirect to", "Forward to", "Reply with", "Reply to All with", "React with" и "Execute", не выполняется удаление исходного письма. Если Вы хотите его удалить, то добавьте в правило "Действие" Discard.

     Store in - сообщение будет скопировано в указанный в поле "Аргументы" почтовый ящик данного пользователя. Указанный почтовый ящик должен существовать. При задании названия ящика в виде ~имя_пользователя/название_ящика, письмо будет копироваться в указанный почтовый ящик указанного пользователя, но только в том случае, если у Вас на это есть соответствующие права.

     Redirect to - перенаправляет сообщение на указанный в поле "Аргументы" почтовый адрес. Если адресов несколько, то они должны быть разделены запятыми.

     Forward to - также перенаправляет сообщение на указанный в поле "Аргументы" почтовый адрес. При этом в качестве отправителя подставляется данный пользователь. Если адресов несколько, то они должны быть разделены запятыми.

     Mirror to - также перенаправляет сообщение на указанный в поле "Аргументы" адрес, но при этом, в отличие от "Redirect to", заголовки письма практически не меняются. Изменения касаются лишь удаления полей Return-Receipt-to: и Errors-to: если таковые содержатся в сообщении, и добавлению заголовка X-Mirrored-by:

     Reply with - формирует ответ на сообщение и отправляет его на указанный в поле Reply-to или, в случае его отсутствия, указанный в поле From адрес. В качестве темы сообщения подставляется строка "Re: оригинальная_тема". В качестве "Аргументов" задается текст сообщения, в котором можно использовать следующие специальные символы:

  • ^S - тема исходного письма
  • ^F - поле From исходного письма
  • ^T - поле Date исходного письма
  • ^I - поле Message-ID исходного письма

     В случае если указываемый в поле "Аргументы" текст начинается со знака "+", то следующие за этим знаком строки будут подставляться в заголовок формируемого письма. Текстом будут считаться строки, отделенные от такого заголовка пустой строкой. При использовании такой подстановки заголовков Вам будет необходимо самостоятельно задать заголовок Subject, т.к. он не будет сформирован автоматически.
    Пример:

    +Subject: subj
    X-Field2: 2

    Text ...

     Reply to All with - действует аналогично предыдущей опции, но рассылает сообщения на все перечисленные в полях To: и Cc: адреса.

     React with - отсылает сообщение, определенное в поле "Аргументы". Текст должен содержать строки заголовков (To:, Cc:, Subject: и т.д.), затем пустую строку и собственно текст письма. В тексте сообщения можно использовать следующие специальные символы:

  • ^S - тема исходного письма
  • ^F - поле From исходного письма
  • ^T - поле Date исходного письма
  • ^I - поле Message-ID исходного письма
    Важно: знак + в начале заголовков ставить не нужно. Отправителем письма будет считаться текущий пользователь.

     Mark - Устанавливает либо сбрасывает определенный в поле "Аргументы" набор флагов для данного сообщения. Допустимы следующие значения: Read, Unread, Flagged, Unflagged, Answered, Unanswered. Может быть перечислено несколько значений, разделенных запятыми.

     Add headers - добавляет в письмо определенные в полях "Аргументы" заголовки. Заголовки записываются в формате "Название: текст_заголовка".

     Reject with - останавливает выполнение данного правила и всех других правил с более низким приоритетом для данного сообщения. Данное действие должно быть указано последним в текущем правиле. Обрабатываемое сообщение будет отвергнуто и отправителю будет отослано сообщение об ошибке доставки. В случае если строка "Аргументов" содержит какой-либо текст, он будет использован в отправляемом сообщении. Вы можете сохранить текст отвергаемого письма, используя "Действие" "Store in" до "Reject".

     Discard - также останавливает выполнение данного правила и всех других правил с более низким приоритетом для данного сообщения. Данное действие должно быть указано последним в текущем правиле. Обрабатываемое сообщение будет отвергнуто, но отправителю будет отослано сообщение об успешной доставке, если такое подтверждение было запрошено.

     Stop processing - останавливает выполнение данного правила и всех других правил с более низким приоритетом для данного сообщения. Данное действие должно быть указано последним в текущем правиле. Cообщение будет сохранено в ящике INBOX.

    Важно: регистр символов в условиях не важен; действия текущего правила выполняются при выполнении всех заданных в нем условий и в заданной Вами последовательности.

    Важно: если для правил с одинаковым приоритетом условия для текущего письма выполняются, то их обработка будет происходить в той последовательности, в которой они отображаются на странице со списком правил обработки. Естественно, процесс можно прервать раньше, выдав в каком-либо правиле Discard или Stop Processing.