Как отклонить письмо, отправленное определенному пользователю в postfix и dovecot?

Как отклонить письмо, отправленное определенному пользователю в postfix и dovecot?

В моей компании есть несколько заблокированных учетных записей пользователей. На одной из них есть спамеры. Спамеры отправляют письма на учетную запись каждый день. Как я могу отклонить письмо, отправленное заблокированному пользователю?

решение1

Вы пытаетесь отклонить почтукзаблокированный пользователь, а не просто почта от известного отправителя/домена? Тогда вам следует использовать check_recipient_accessвместо check_sender_access.

Для main.cf:

smtpd_recipient_restrictions =
    . . . 
    check_recipient_access hash:/etc/postfix/denied_recipients,
    . . . 

И /etc/postfix/denied_recipientsимеет тот же формат, но для каждого получателя:

[email protected]   REJECT   Mailbox unavailable.

Поскольку это также база данных hash:Berkeley DB, помните postmap /etc/postfix/denied_recipients.

решение2

Вы postfixможете создать файл /etc/postfix/sender_access, который в основном выглядит следующим образом:

# ADDRESS PATTERNS         # ACTION
[email protected]         550 Blacklisted
domain.com                 REJECT
user@                      REJECT

Преобразуйте это в хеш, используя postmapи добавьте строку в вашу конфигурацию следующим образом:

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_access

Однако это отклонит или или занесет в черный список сообщение с ответом, и вы можете не захотеть, чтобы отправитель знал, что оно отклонено. Вы также можете захотеть, чтобы почта была отклонена только для определенного пользователя, в этом случае я бы предложил использовать procmailили сервер политики. Procmail мощный, но в него может быть трудно попасть. Архитектура Postfix означает, что внешний сервер, даже простой, spamassassinможет делать то, что вам нужно.

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