Я хочу запретить некоторым пользователям отправлять почту в другие домены в Exim4
. Я попробовал следующую конфигурацию, но ничего не вышло.
Изменения внесены в exim.conf
файл:
В разделе основной конфигурации включили acl_smtp_mail
управление следующим образом:
acl_smtp_mail = acl_check_mail
Затем в разделе конфигурации ACL acl_check_rcpt создал новое правило:
accept condition = ${lookup{$sender_address}lsearch{/etc/exim/freezelist_sender_addresses}{1}{0}}
control = freeze/no_tell
Я пробовал это, но не сработало. Пожалуйста, посоветуйте мне конфигурацию.
Вы можете использовать следующий acl
acl_smtp_rcpt = acl_check_rcpt
acl_check_rcpt:
deny
message = The $sender_address is prohibited to send mail to the $domain
senders = lsearch;/etc/exim/restricted_sender
domains = lsearch;/etc/exim/restricted_domains
/etc/exim/restricted_sender
user@example.net
/etc/exim/restricted_domains
gmail.com
Тестирование
# swaks -s mail.example.net --to alexhha@example.net --from user@example.net
=== Trying mail.example.net:25...
=== Connected to mail.example.net.
<- 220 mail.example.net, [xxx.xxx.114.28]
-> EHLO www.example.net
<- 250-mail.example.net Hello www.example.net [xxx.xxx.114.28]
<- 250-SIZE 52428800
<- 250-PIPELINING
<- 250-STARTTLS
<- 250 HELP
-> MAIL FROM:<user@example.net>
<- 250 OK
-> RCPT TO:<alexhha@example.net>
<** 550 The user@example.net is prohobited to sent mail to the gmail.com
-> QUIT
<- 221 mail.example.net closing connection
=== Connection closed with remote host.
Окончательное решение, шаг за шагом
Добавьте следующее правило в начало acl_smtp_rcpt: (или как вы его назвали)
deny condition = ${lookup{$sender_address}nwildlsearch{/path/to/the/restricted_sender} {yes}}
domains = !+local_domains
файл /path/to/the/restricted_sender
содержать электронные письма по одному в строке:
restricted1@domain.com
restricted2@domain.com