Принудительная отправка аутентифицированных smtp-писем с помощью белого списка

Принудительная отправка аутентифицированных smtp-писем с помощью белого списка

Мне нужна настройка exim, которая могла бы разрешать только аутентифицированные smtp-письма, за исключением случаев, когда письмо приходит от root@servername, например. Вот что у меня есть сегодня:

acl_not_smtp (custom_begin_outgoing_notsmtp_checkall)

deny
authenticated = *
condition = ${if !eq {root@$primary_hostname}{${address:$h_from:}}}
message = REJECTED
accept

Это решение блокирует все неаутентифицированные письма. У кого-нибудь есть лучшее решение?

решение1

Думаю, вам нужно вызвать другой acl: acl_smtp_rcpt. Узнайте, какому имени этот acl сопоставлен на вашем сервере. В Debian это acl_check_rcpt.

Для проверки отправителя отправитель должен быть уже указан, что верно, когда удаленный конец отправляет команду "RCPT TO:". Не попробовав, я бы сделал что-то вроде следующего в acl_check_rcpt:

accept authenticated = *
accept senders = root@servername
deny message = Rejected

Вы не должны полагаться на адрес отправителя, который легко может быть подделан. Вы можете проверить хост отправителя с помощью

    accept senders = root@servername
           hosts = 127.0.0.1 : localhost

кроме того, чтобы убедиться, что источником сообщения является ваш сервер.

В основном локальные сообщения не принимаются smtp. Там acl в вашей конфигурации входит: acl_not_smtp. Но опять же, найдите, к какому имени это сопоставлено.

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