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 прочитать конфигурацию.