Назад | Перейти на главную страницу

Postfix pipe mail на уровне пользователя

Я пытаюсь фильтровать почту на уровне пользователя. У меня установлены CentOS и Postfix.

Мне удалось установить фильтр на сервере, и он отлично работает, за исключением того, что вместо фильтрации по пользователю все электронные письма (отправленные и полученные) для всех пользователей проходят через фильтр. (Я хочу, чтобы через фильтр проходили только письма, отправленные на bounce@example.com).

Я добавил к master.cf:

myhook unix - n n - - pipe flags=F user=nils_filter argv=/path to/postfix.php ${sender} ${size} ${recipient}
smtp inet n - - - - smtpd -o content_filter=myhook:
pickup fifo n - - 60 1 pickup -o content_filter=myhook:

main.cf имеет:

smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/access,permit_mynetworks, reject_unauth_destination

и я обновил access файл с:

bounce@example.com FILTER myhook

После запуска postmap и перезагрузка, он работает для всего домена example.com (все электронные письма, отправленные и полученные по smtp, передаются по конвейеру через настроенный мной фильтр).

Не могли бы вы указать мне правильное направление, в котором я могу ошибаться?

Все электронные письма были отправлены, потому что вы указали content_filter по smtpd и забрать в master.cf.

Решение:

  • Удалить строку -o content_filter=myhook: из master.cf
  • Ставить myhook в файле доступа с правильный синтаксис

    bounce@example.com FILTER myhook:
    

Ссылка: доступ человека