Eu tenho algumas VMs baseadas no Debian que devem entregar mensagens para um host central (smarthost / satellite).
Isso só serve para mensagens geradas localmente recebidas pelo host local ou pelo comando sendmail
, mas com uma diferença: Eu não quero que as VMs locais enviem e-mails para a Internet, apenas para alguns domínios designados . (como prevenir retransmissão aberta para localhost).
Eu teria usado o ssmtp não fosse pelo fato de que ele não escuta em portas SMTP normais no host local, então estou usando o Exim.
Estou usando update-exim4.conf
:
% cat update-exim4.conf.conf
dc_eximconfig_configtype='satellite'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1 ; ::1'
dc_readhost=''
dc_relay_domains='mydomain1.com ; mydomain2.net'
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='mailsrv1.mydomain2.net:mailsrv2.mydomain2.net'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'
Eu tenho isso em macros locais:
% cat exim4.conf.localmacros
CHECK_RCPT_LOCAL_ACL_FILE = /etc/exim4/local_CHECK_RCPT_LOCAL_ACL_FILE.conf
Snippet relevante da ACL:
% cat local_CHECK_RCPT_LOCAL_ACL_FILE.conf
deny
message = relay not permitted
log_message = XXXXXXXXXXXXXXXXX
!domains = mydomain1.com : mydomain2.net
Agora, o problema é que CHECK_RCPT_LOCAL_ACL_FILE
é incluído após accept
nos domínios de retransmissão e local, portanto, o acl_smtp_rcpt
é concluído antes de atingir minha macro local.
Claro, posso substituir todo o acl_smtp_rcpt
por MAIN_ACL_CHECK_RCPT
, mas não quero fazer isso - teria que copiar a seção acl_smtp_rcpt
existente e se, no upgrade futuro, ela sair de sincronia com configuração recém autogerada?