Как настроить exim4 для входящего SMTP для локальной доставки и ретрансляции для аутентифицированного пользователя

Я хочу использовать свой почтовый сервер exim4 в качестве локальной доставки для анонимного отправителя для моих локальных доменов и передавать всем только для аутентифицированных пользователей. Является ли это возможным?

1 ответ

Мой подход следующий:

Сначала мы должны определить шифрование TLS. Без авторизации без TLS.

tls_certificate = /usr/local/etc/exim/exim.crt
tls_privatekey = /usr/local/etc/exim/exim.key
tls_advertise_hosts = *
tls_on_connect_ports = 587 : 465
auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}

Затем мы должны определить механизм аутентификации. Я предпочитаю использовать тот же userdb dovecot было использовано. Имейте в виду, что вам нужно скомпилировать dovecot-auth в exim, Вы можете добавить больше схем аутентификации, если хотите.

begin authenticators
plain:
 driver = dovecot
 public_name = PLAIN
 server_socket = /var/run/dovecot/auth-client
 server_set_id = $auth1
 server_condition = ${if !eq{$tls_cipher}{}}

login:
 driver = dovecot
 public_name = LOGIN
 server_socket = /var/run/dovecot/auth-client
 server_set_id = $auth2
 server_condition = ${if !eq{$tls_cipher}{}}

Теперь мы можем отфильтровать входящие сообщения

acl_rcpt:
# we accept everything from auth'ed hosts
accept  authenticated   = *

# we accept everything from our trusted hosts/networks
accept  hosts =  : +relay_from_hosts

# all the rest should be addressed to the domains we serve
require domains = +relay_to_domains : +local_domains
. . . . .
Другие вопросы по тегам