Preciso de uma configuração exim que permita apenas e-mails SMTP autenticados, exceto quando o e-mail vier de root@servername
, por exemplo. Isso é o que tenho hoje:
acl_not_smtp (custom_begin_outgoing_notsmtp_checkall)
deny
authenticated = *
condition = ${if !eq {root@$primary_hostname}{${address:$h_from:}}}
message = REJECTED
accept
Esta solução bloqueia todos os e-mails não autenticados. Alguém tem uma solução melhor?
Responder1
Acho que você precisa chamar outra acl: acl_smtp_rcpt. Descubra com qual nome esta acl está mapeada em seu servidor. No Debian é acl_check_rcpt.
Para testar um remetente, o remetente já deve ser fornecido, o que é verdade quando a extremidade remota envia o comando "RCPT TO:". Sem ter tentado, eu faria algo parecido com o seguinte em acl_check_rcpt:
accept authenticated = *
accept senders = root@servername
deny message = Rejected
Você não deve confiar em um endereço de remetente que possa ser facilmente falsificado. Você pode testar o host de envio com
accept senders = root@servername
hosts = 127.0.0.1 : localhost
além disso, para ter certeza de que a origem da mensagem é o seu servidor.
Principalmente as mensagens locais não são recebidas pelo smtp. Aí entra o acl na sua configuração: acl_not_smtp. Mas, novamente, pesquise para qual nome isso está mapeado.