Как заблокировать исходящую почту для определенного пользователя ([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 postfix
toприниматьвсе остальное.
решение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» не должен иметь возможности отправлять письма.