Сортировщик
Сортировщик предназначен для обработки получаемых
POP3 клиентами OMS сообщений после их скачивания. Помните, что сортировщик
не применяется к сообщениям, проходящим через
SMTP сервер OMS!
В OMS можно создать сколько угодно сортировщиков. У каждого сортировщика есть уникальное имя в OMS. Любой сортировщик можно «привязать» к любому имеющемуся в OMS POP3 клиенту.
Сортировщик представляет собой цепочку правил, выполняемых последовательно до достижения конца цепочки или до выполнения условий одного из правил, имеющего признак прерывания обработки.
Правила записываются в файл конфигурации oms.cfg в виде блоков [RULE «имя группы правил»].
Сортировщик работает только с заголовком сообщения. Каждая запись сортировщика состоит из следующих элементов:
- field – поле заголовка сообщения, в котором производится поиск. Может иметь «нулевой» параметр (просто две кавычки подряд), в этом случае поиск производится по значению любого поля заголовка;
- contains – строку, которая ищется в найденном поле заголовка. Не используйте русские буквы в этой строке: существует несколько способов кодировки русских букв в сообщениях (это не только кодировки KOI8R и Windows, но и их комбинации с различными способами преобразования национальных символов в 7-битные символы – Quoted printable, Base 64 и др.) Все возможные комбинации учесть непросто;
- deliver – email адрес, по которому нужно доставить сообщение, если строка найдена в поле. Параметров deliver может быть сколько угодно, этот список может содержать как локальные, известные OMS адреса, так и любые другие. В последнем случае сообщение будет помещено в очередь на доставку SMTP клиентом;
- stop – если указан, то прекращается проверка оставшихся правил в цепочке, если условие правила выполнено.
Обычно в заголовке имеется поле To («кому»), в котором записаны email адреса получателей. Таким образом, если вы настроите сортировщик так, чтобы он искал строку "user@domain.net" в поле To, и сообщение будет содержать указанную строку в этом поле – оно будет доставлено в почтовые ящики локальных пользователей, перечисленных в этой записи сортировщика, и/или переадресовано на указанные внешние email адреса.
Иногда получатели сообщения записываются не только в поле To, но и в поле Cc («копия»). Поэтому нужно производить поиск адресата и в этом поле. Иногда сообщения могут быть адресованы нескольким получателям одновременно, поэтому все проверки в полях To и Cc должны выполняться без остановки сортировщика.
Но иногда конкретного получателя можно однозначно определить по некоторым полям заголовка. Так, например, сообщения, переадресованные с сервера mail.ru, почти всегда имеют в заголовке поле "X-ResentFrom", в котором указывается email адрес, для которого mail.ru получил сообщение и переслал вам. Аналогичное поле можно заметить и в заголовках сообщений, переадресованных с yahoo.com и других бесплатных серверов электронной почты. Если эту ситуацию удастся обнаружить – сортировку сообщения можно считать законченной и не тратить время на проверку других условий, а сразу перейти к обработке следующего полученного сообщения. Такие правила желательно поместить в начале цепочки.
Прежде, чем начинать формирование списка правил сортировщика, вы должны представить себе тот алгоритм сортировки, который вы хотите получить. Поизучайте заголовки полученных сообщений (например, в почтовом клиенте Microsoft Outlook Express для этого нужно посмотреть «Свойства» выбранного сообщения).
Правила выполняются последовательно – так, как они расположены в списке сверху вниз.
Если ни одно из правил не подходит к обрабатываемому сообщению, то оно будет доставлено адресатам (как локальным, так и внешним), перечисленным в списке доставки неотсортированной почты
POP3 клиента. Если же и этот список пуст, сообщение будет доставлено постмастеру.