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

Блокировать исходящую почту на определенный адрес с помощью Postfix

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

Мне частично удалось заблокировать исходящую электронную почту с помощью header_checks. Однако header_checks не распространяется на BCC.

Я также протестировал это решение: http://www.linuxmail.info/postfix-restrict-sender-recipient/ но это не сработало.

Чтобы заблокировать кого-либо (локальных (команда mail / sendmail) системных пользователей и пользователей SMTP) от отправки на адрес электронной почты, на который вы не можете полагаться smtpd_recipient_restrictions. Вам нужно поместить ограничение в qmgr фаза. Для этого я обнаружил, что transport_maps работает хорошо.

main.cf:

transport_maps = pcre:/etc/postfix/transport_maps

transport_maps:

/^user(\+[^@]+)?@host\.com/ discard:
/.*/ :

Возможно, есть лучшее решение, но оно работает для всех типов доставки. FYI, это регулярное выражение поддерживает user@host.com и user+anything@host.com предполагая + разделитель. Это предотвращает To, CC и BCC.

Также убедитесь, что в вашем постфиксе включена поддержка pcre. В операционных системах на основе Debian (Ubuntu и т. Д.), Предоставляемых пакетом postfix-pcre.

Как описано в доступ (5)просто добавьте карту check_recipient_access в свой smtpd_recipient_restrictions; если вы хотите заблокировать этих получателей и для своих пользователей, обязательно поместите его перед allow_mynetworks и / или permission_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

Самый простой способ сделать это без поддержки регулярных выражений:

  1. Добавьте это в main.cf, если его там еще нет:

    transport_maps = хеш: / и т.д. / постфикс / транспорт

  2. Добавьте эту строку в файл "/ etc / postfix / transport"

    address_to_discard@example.com отменить

  3. Запустить postmap

    postmap / etc / postfix / транспорт

  4. Перезагрузить постфикс

    перезагрузка постфикса службы

У нас был вариант использования для этого сценария, когда нам нужно было заблокировать некоторых пользователей, получающих (согласных) рассылки из списка. Пользователи, которые отказались нажимать ссылку «Отписаться» в тех пользователь запросил рассылки (так что нет, это не был спам). Через некоторое время мы получили письма о злоупотреблениях от интернет-провайдеров, которые получали жалобы от этих странных ленивых пользователей, что было действительно трудоемкой ерундой. Поэтому мы решили создать карту для постфикса. Однако добавление их для REJECT создало новые проблемы с программным обеспечением, отправляющим им почту через postfix, поэтому в итоге мы вместо этого сопоставили это:

lazy_user@aol.com DISCARD Delivery to this user is ignored as a result of annoying abuse-responses from even lazier ISPs.