Как настроить 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
. . . . .