Правила установки
~~~~~~~~~~~~~~~~~~~~~
Необходимо разархивировать pop3rules.zip или pop3rules.rar
в каталог 'eserv2\agents' (не создавайте подкаталога), 
файл 'pop3toss.cfg' будет заменен из архива.
Теперь всё готово к работе. Необходимо только настроить
правила тоссинга в файле 'agents\pop3rules\pop3toss.rules'

Изменения:
    07.08.01 * Исправлен разбор адресов. Корректно обрабатывается случай, 
               когда адрес заключен в угловые скобки, а перед откр. скобкой
               или после закр. скобкой нет пробела.
    22.11.99 + 1. Поля from:, subject:, to: и body теперь перед обработкой
                  декодируются из base64 и quoted-printable.
                  Если charset koi8-r или utf-8, то так же производится
                  преобразования из данного набора символов в win1251
                  (только для сравнения с образцом).
             + 2. Можно сохранять аттачменты в отдельном каталоге.
                  Пока понимается только base64. UU тоже записываются
                  в файл, но не в декодированном виде и только, если
                  являются одной из частей multipart/mixed.
    26.10.99 + 1. Появилась возможность формировать ответы.
             + 2. В образцах для сравнения отпала необходимость
                  добавлять '*' в начало и в конец образца.
    20.10.99 + 1. Исчезла необходимость ставить ';' в конце правила.
             + 2. Появилась возможность задавать действия при срабатывании
                  правила. Эти дополнительные действия можно указать в
                  конце определения правила или после '==> to_addr'.
                  Для правил и раньше была такая возможность, но нужно
                  было явно оперировать IF THEN и т.д.
             + 3. Образцы для сравнения можно задавать в виде wild cards.

О правилах тоссинга:
Правила записываются в виде
:- from~ Cherezov
    :action to: friend@mail.ru
            message: "I have an interesting email.%NEW-LINE%%BODY%"
:- to~ Nicholas to~ Nemtsev OR
:- from~ "my sender"
    :action replay-with-pattern: agents\autoanswer.pat
==> nicholas@local
    :action 0 S" I have message for you" DROP
            <subj> 2@ DROP 0 MessageBoxA DROP ;

:-              начинает определение очередного правила
;               заканчивает определение (явно указывать необязательно)
==> addr_to     добавляет список ранее определенных правил в список тоссинга
:action         задает действия при страбатывании правила

В определении правила можно использовать следующие выражения:
  from~ text_without_blanks или from~ "text with blanks"
  to~   ...
  subj~ ...
  body~ ...
  field" X-Mailer:" S" Microsoft" ~match
Эти выражения возвращают флаг. Их, естественно можно произвольно
комбинировать с помощью AND, OR, 0= и т.д. и вообще можно выполнять
любые другие фортовские слова.
  cut  ( ? -- ?)   прерывает тоссинг если текущее правило сработало.
                   Если выполняется это слово, к другим адресатам
                   текущее письмо уже не попадет.
Тут пришло время вспомнить о порядке просмотра правил. При обработке
конца каждого сообщения правила просматриваются в том порядке, в каком
они записаны в файле pop3toss.rules. При работе со списками я
использую слова из erobot'a AddNode, inList. Для добавки в конец
списка я написал AppendNode.

  not-tossed? ( -- ?) возвращает истину, если ни одно из всех предыдущих
                      правил не сработало.

    :action
В определении правила :action задает действия, которые будут выполняться
при срабатывании данного правила. Общий :action (после '==> to_addr')
распространяется на все правила (если сработать хотя бы одно правило,
из относящихся к данному адресату).

В :action можно, кроме всего прочего, формировать ответ на текущее письмо.
Это делается с помощью следующих конструкций (в квадратных скобках
указано то, что необязательно):
    [to: to@email] [from: from@email] [subj: "subject"]
        replay: "Текст для автоответа"
    В тексте для автоответа можно вставлять специальные переменные,
    которые будут во время формирования ответа будут заменены на их
    значение. Переменные должны быть окружены знаком процента.
    Вот список этих переменных:
        FROM        - адрес отправителя
        TO-         - адрес получателя
        SUBJ        - тема письма
        BODY        - тело письма (если письмо text/plain)
        RAW-BODY    - тело письма, как оно есть или его кусок (MAX-BODY-SIZE)
        DATE        - текущая дата
        TIME        - текущее время
        NEW-LINE    - новая строка
        PERCENT     - знак процента
    Пример:
        replay: "Меня нет.%NEW-LINE% %DATE%%NEW-LINE%%BODY%"
Кроме того, если не хочется писать тексты сообщений прямо среди правил,
можно указать файл шаблона для ответа:
        replay-with-pattern: "agents\autoanswer.pat"
message: - аналог replay:, но есть смысл использовать message: тогда,
когда формируется не ответ, а письмо на другой адрес.
