Re: Re: Внешняя программа

От: Roman Prokhorov <roma_at_mx_ru>
Дата: Tue 09 Apr 2002 - 21:16:27 MSD


on 9.4.02 2:19 PM, Pavel A Chistov at pavel@rt.ru wrote:

> Hello Roman Prokhorov,
>
> Thursday, April 4, 2002, 11:27:54 PM, you wrote:
>
> RP> on 4.4.02 7:23 PM, Pavel A Chistov at pavel@rt.ru wrote:
>

>>> Здравствуйте.
>>> 
>>> Проясните мне, пожалуйста,  как запуск внешней программы ( Rule Action
>>> Execute) обрабатывает письма. Как я понял из документации, наружу
>>> передаётся тело письма и заголовки. А обратно CGP что получает?
>>> Только код завершения?

>
> RP> Да. И строку из stderr
>
> Чтобы получить строку из stderr надо указывать в параметрах Execute
> [STDERR] myscript -myoption ?

Да.  

>>> Поясню что мне нужно - получить письмо не некий адрес, обработать его
>>> скриптом (добавить/удалить строки) и положить в ящик.

>
> RP> Скрипт класть в ящики не может. Нужно сформировать новое письмо и положить
> RP> его в директорию Submitted. И, естественно, позаботиться об избежании
> RP> зацикливания.
>
> Вопрос.
>
> CGP получает письмо на user@domain. Есть два правила:
> 1. приоритет 5 IF Header Field is not X-Special-Processing:*
> THEN
> Add Header X-Special-Processing: checked
> Execute myscript (который обрабатывает письмо и шлёт
> его на тот же user@domain)

Можно было бы и прямо в скрипте добавлять.

> Discard.
> 2. приоритет 4 IF Header Field is X-Special-Processing:*
> THEN
> Mirror to user_2@domain

А вот это правило само по себе вызовет зацикливание. Надо проверять отсутствие X-Mirrored-By, или что получатель НЕ user_2@domain.

Во-вторых, зачем зеркалить из правила если из скрипта можно послать сразу на user_2@domain

> Так вот поле честно добавляется, но сообщение всё равно зацикливается.

-- 

Roman
Получено Tue Apr 09 17:16:30 2002

Этот архив был сгенерирован hypermail 2.1.8 : Tue 21 Feb 2006 - 03:13:56 MSK