Есть задача фильтровать каждое входящее письмо в ящике office@xxx.ru.
Создал свой фильтр vacation в master.cf
vacation unix - n n - - pipe
flags=F user=www-data argv=/etc/postfix/scripts/vacation.php ${sender} ${recipient}
/etc/postfix/scripts/vacation.php - для примера
#!/usr/bin/php
<?php
$file = fopen("/tmp/postfixtest", "a");
fwrite($file, "Script successfully ran at ".date("Y-m-d H:i:s")."\n");
fclose($file);
?>
далее добавил в main.cf
check_recipient_access hash:/etc/postfix/maps/vacation
/etc/postfix/maps/vacation
office@xxx.ru FILTER vacation:dummy
Все работает, в файл /tmp/postfixtest записывается информация. Но при этом письма в office@xxx.ru не доставляются, они уходят в фильтр и от туда не возвращаются( Как сделать, чтобы после того как отработал фильтр письмо возвращалось обратно в очередь Postfix и доставлялось получателю? Как понимаю скрипт должен сам вернуть письмо, но как это лучше сделать? Или может можно сделать, чтобы фильтр срабатывал после доставки письма? В общем нужно анализировать входящее письмо сторонним скриптом без нарушения доставки получателю...