Вы пытаетесь отклонить почту для заблокированного пользователя, а не только почту от какого-то известного отправителя / домена? Затем вы должны использовать check_recipient_access
вместо check_sender_access
.
Для main.cf
:
smtpd_recipient_restrictions =
. . .
check_recipient_access hash:/etc/postfix/denied_recipients,
. . .
И / etc / postfix / denied_recipients
имеет тот же формат, но для каждого получателя:
lockeduser@example.com REJECT Mailbox unavailable.
Поскольку это также хэш :
Berkeley DB, помните postmap /etc/postfix/denied_recipients
.
В постфиксе
вы можете создать файл / etc / postfix / sender_access, который в основном выглядит следующим образом:
# ADDRESS PATTERNS # ACTION
sender@example.com 550 Blacklisted
domain.com REJECT
user@ REJECT
Преобразуйте это в хэш, используя postmap
и добавьте строку в вашу конфигурацию, например:
smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_access
Однако это отклонит или внесет в черный список сообщение с ответом, и вы можете не захотеть, чтобы отправитель знал, что оно отклоняется. Вы также можете захотеть, чтобы почта отклонялась только для определенного пользователя, и в этом случае я бы предложил использовать procmail
или сервер политики. Procmail - мощный инструмент, но в него сложно проникнуть. Архитектура Postfix означает, что внешний сервер, даже простой spamassassin
, может делать то, что вам нужно.