Forçando e-mails SMTP autenticados com lista de permissões

Forçando e-mails SMTP autenticados com lista de permissões

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.

informação relacionada