В моей компании есть несколько заблокированных учетных записей пользователей. На одной из них есть спамеры. Спамеры отправляют письма на учетную запись каждый день. Как я могу отклонить письмо, отправленное заблокированному пользователю?
решение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
может делать то, что вам нужно.