Рейтинг:0

Полный пример Postfix After-Queue Content Filter

флаг de

я пробую простой пример фильтра контента: я выполнил шаги, упомянутые здесь http://www.postfix.org/FILTER_README.html#simple_filter

но в строке 24 фильтра содержимого это может быть простой сценарий оболочки, подобный этому

вам нужно указать свой контент-фильтр

мой вопрос:

есть ли полный пример с фильтром содержимого (строка 24), с которым я могу работать?

 1 #!/bin/sh
 2 
 3 # Простой фильтр на основе оболочки. Он предназначен для вызова следующим образом:
 4 # /path/to/script -f отправитель получатели...
 5 
 6 # Локализуйте их. Опция -G ничего не делает до Postfix 2.3.
 7 INSPECT_DIR=/var/spool/filter
 8 SENDMAIL="/usr/sbin/sendmail -G -i" # НИКОГДА НИКОГДА НИКОГДА не используйте здесь "-t".
 9 
10 # Коды выхода из <sysexits.h>
11 EX_TEMPFAIL=75
12 EX_UNAVAILABLE=69
13 
14 # Очистить после завершения или при прерывании.
15 ловушка "rm -f in.$$" 0 1 2 3 15
16 
17 # Начать обработку.
18 компакт-диск $INSPECT_DIR || {
19 эхо $INSPECT_DIR не существует; выход $EX_TEMPFAIL; }
20 
21 кот >в.$$ || { 
22 echo Не удается сохранить почту в файл; выход $EX_TEMPFAIL; }
23 
24 # Укажите здесь фильтр содержимого.
25 # фильтр <in.$$ || {
26 # echo Содержание сообщения отклонено; выход $EX_UNAVAILABLE; }**
27 
28 $SENDMAIL "$@" <in.$$
29 
30 выходных $?
anx avatar
флаг fr
anx
Даже просто `grep -F sesame` является допустимым фильтром. Весь смысл этого механизма в том, что *это зависит от того, что вы хотите* какую программу вы используете для фильтрации почты. **Объясните критерии, по которым вы хотите решить, какую почту обрабатывать по-разному**, только тогда станет ясно, достаточно ли простого поиска, или вам нужен синтаксический анализатор с поддержкой MIME, или же *after-queue* даже подходящая точка для подключения вашего фильтра!
Рейтинг:0
флаг in

Я использую собственный фильтр. Я использовал скрипт Perl вместо оболочки.

#!/USR/бен/перл
используйте 5.010;
использовать строгий;
использовать предупреждения;

мой $str = сделать { локальный $/; <СТАНДАРТНЫЙ> };
мой $recipient = $ARGV[0];
мой $filename = '/etc/postfix/myfilters/data.txt';
open(my $fh, '>', $filename) или die "Не удалось открыть файл '$filename' $!";
напечатать $fh $str;
закрыть $fh;

=========================

Использовать исполнитель к Отправить почту

exec("SENDMAIL $toemail > $bodyfile");

Если ваш фильтр не соответствует, ничего не делайте, он помещается в карантин.

флаг cn
Можете ли вы добавить еще несколько объяснений того, как это на самом деле запускает фильтр? Спасибо!
djdomi avatar
флаг za
ему нужно чертовски больше информации, как он поддерживает вопрос, который нужно решить?!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.