Как заблокировать исходящие электронные письма в Postfix для определенных пользователей в домене?

Как заблокировать исходящие электронные письма в Postfix для определенных пользователей в домене?

Как заблокировать исходящую почту для определенного пользователя ([email protected]) в Postfix для всех доменов, кроме определенного списка (например, @example.com, @dot1q.com)?

Я нашел решение, как заблокировать почту на определенном домене:

Редактироватьmain.cfфайл (расположение по умолчанию в/etc/постфикс) и добавить transport_maps = hash:/etc/postfix/transportв файл. Создайте файл с именем/etc/postfix/транспорт, если его нет. Добавьте следующее в конец файла транспорта:example.com : dot1q.com : * discard:

но это к сожалению блокирует почту для всех пользователей. Возможно ли сделать так, чтобы это работало только для одного пользователя[email protected]?

решение1

Правильный синтаксис файла transportв вашем случае должен быть таким (с использованием регулярных выражений):

/^user@example\.com/ discard:
/.*/ :

Первая строка postfixговоритотказатьсяпочта отправлена ​​с адресом [email protected], вторая строка tess postfixtoприниматьвсе остальное.

решение2

Postfix предоставляет check_sender_accessпараметр ' '. Его можно использовать в /etc/postfix/main.cf как

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access

Чтобы заблокировать исходящие письма для [email protected], создайте /etc/postfix/accessследующее

[email protected] REJECT

после этого выполните следующие команды

postmap /etc/postfix/access
service postfix restart

Если вы используете sendmail в качестве MTA, то вам нужно отредактировать файл /etc/mail/access и добавить в него следующее правило:

From:[email protected]   REJECT

затем перезапустите службу sendmail, как,

service sendmail restart

Пользователь «test» не должен иметь возможности отправлять письма.

Связанный контент