Блокировка исходящей почты на определенный адрес с помощью Postfix
Как я могу заблокировать исходящую почту на определенный адрес, используя Postfix?
Мне частично удалось заблокировать исходящую электронную почту, используя header_checks
, Однако header_checks не распространяется на BCC.
Я также протестировал это решение: http://www.linuxmail.info/postfix-restrict-sender-recipient/ но оно не сработало.
4 ответа
Как описано в access (5), просто добавьте карту check_recipient_access к своим smtpd_recipient_restrictions; если вы хотите заблокировать этих получателей и для своих собственных пользователей, обязательно разместите их перед allow_mynetworks и / или allow_sasl_authenticated.
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/bad_recipients, permit_mynetworks, reject_unauth_destination, permit
И в /etc/postfix/bad_recipients:
bad_user1@example.com REJECT We don't like him
bad_user2@example.org REJECT Delivery to this user is prohibited
Чтобы запретить кому-либо (локальным (команда mail/sendmail) системным пользователям и пользователям SMTP) отправку на адрес электронной почты, на который вы не можете положиться smtpd_recipient_restrictions
, Вы должны поместить ограничение в qmgr
фаза. Для этого я обнаружил, что transport_maps
работает хорошо.
main.cf
:
transport_maps = pcre:/etc/postfix/transport_maps
transport_maps
:
/^user(\+[^@]+)?@host\.com/ discard:
/.*/ :
Может быть, есть лучшее решение, но оно подходит для всех типов доставки. К вашему сведению, это регулярное выражение поддерживает user@host.com
а также user+anything@host.com
при условии +
разделитель. Это мешает To, CC и BCC.
Также убедитесь, что в вашем постфиксе включена поддержка pcre. В операционных системах на основе Debian (Ubuntu и т. Д.), Предоставляемых пакетом postfix-pcre.
Самый простой способ сделать это без поддержки регулярных выражений:
Добавьте это в main.cf, если его там еще нет:
transport_maps = хэш:/etc/postfix/transport
Добавьте эту строку в файл "/ etc / postfix / transport"
address_to_discard@example.com сбросить
Запустить postmap
postmap / etc / postfix / transport
Перезагрузить постфикс
сервис перезагружает постфикс
У нас был сценарий использования для этого сценария, в котором нам нужно было заблокировать некоторых пользователей, получающих (подписку) почтовые рассылки из списка. Пользователи, которые отказались нажимать на ссылку "Отписаться" в этих запросах пользователей (так что нет, это не спам). Через некоторое время мы получили неправильные письма от интернет-провайдеров, которые получили жалобы от этих странных ленивых пользователей, что было чересчур много времени. Поэтому мы решили создать карту для постфикса. Однако размещение их в REJECT создало новые проблемы с программным обеспечением, отправляющим им почту через postfix, так что мы в итоге сделали это вместо этого:
lazy_user@aol.com DISCARD Delivery to this user is ignored as a result of annoying abuse-responses from even lazier ISPs.