Postfix does not trigger my before-queue milter script

I can't get the milter triggered when a new email is accepted by Postfix before-queue. Obviously, I don't do something properly but I can't figure out what.

У меня есть следующие настройки: Ubuntu Server, Postfix 2.11.

Сервис Postfix работает и правильно принимает электронные письма на локальные учетные записи.

Скрипт /tmp/milter.sh (владелец: я, группа: я, разрешение: rwx-rwx-rx) регистрирует некоторую строку при каждом запуске. Работает нормально при запуске под пользователем me в терминале.

В /etc/postfix/master.cf, Я имею:

smtp      inet  n       -       -       -       -       smtpd
   -o content_filter=mymilter

...

mymilter    unix  -       n       n       -       -       pipe
  flags=F user=me argv=/tmp/milter.sh

Новая конфигурация загружена

sudo postfix reload

1 ответ

Похоже, вы запутались в Милтере до и после фильтра очередей. Эти три предмета отличались друг от друга. Я предлагаю вам прочитать документацию о поддержке Postfix Milter, до фильтра очереди и после фильтра очереди.

параметр content_filter указано, что вы запускаете фильтр содержимого AFTER-QUEUE. Фрагмент этого параметра из документации Postfix

После того, как сообщение поставлено в очередь, отправьте сообщение целиком на указанный транспортный пункт назначения. Транспортное имя указывает первое поле определения агента доставки почты в master.cf; Синтаксис пункта назначения следующего перехода описан на странице руководства соответствующего агента доставки. Дополнительная информация о внешних фильтрах содержимого находится в файле Postfix FILTER_README.

И ваш вопрос о том, почему это не работает, пожалуйста, проверьте почтовый журнал. Я думаю, что вы должны добавить mymilter:dummy только вместо mymilter в параметре content_filter. Смотрите пример в его официальной документации.

Последнее замечание, если вы измените master.cf тогда было бы предпочтительнее использовать postfix stop; postfix start чтобы заставить postfix прочитать конфигурацию.

Другие вопросы по тегам