Como testar ACLs não-smtp no exim

3

O Exim fornece a opção de testar suas ACLs via CLI usando exim -bh. No entanto, esse método abre uma conexão SMTP e você só pode testar as ACLs SMTP. Desejo depurar e testar a ACL acl_not_smtp - existe alguma maneira semelhante de fazer isso?

Como alternativa, se alguém souber por que isso não funciona em acl_not_smtp:

deny
      message = Outgoing email is blocked for this domain. Please contact support for assistance.
      senders = /etc/exim_blacklist_users

Isso seria extremamente útil. Isso funciona em acl_smtp_rcpt.

    
por David Williams 21.01.2015 / 15:44

1 resposta

2

O Exim não possui um modo de teste para o local da maneira que o modo -bh simula uma conexão smtp. Então você terá que fazer isso com uma mensagem real.

Eu criaria uma mensagem de amostra com cabeçalhos e corpo completos, "sample.eml". Faça isso para um endereço que você controla, uma caixa de correio de teste ou algo assim. Faça isso no endereço que você deseja rejeitar. Passe a mensagem para o Exim usando a linha de comando simples:

# No real output
exim -bm -t < "sample.eml"
# Get verbose output, but still not much
exim -v -bm -t < "sample.eml"
# Here's where we figure things out: debug
exim -d+all -bm -t < "sample.eml"

Esse último produto produzirá um LOT de saída, então talvez redirecione-o para um arquivo de texto e visualize esse arquivo. Veja como está processando essa acl não smtp quando processa essa mensagem. Você encontrará a resposta lá. Ou atualize a pergunta com essa saída de depuração para essa ACL e refinaremos nossa resposta.

Outra opção seria configurar seu aplicativo que está enviando essas mensagens para enviar usando SMTP para a porta 25.0.0.1, em vez de passar uma mensagem para / usr / sbin / sendmail (que é o wrapper de compatibilidade do sendmail para o exim). Então usaria o smtp rcpt acl.

    
por 21.01.2015 / 19:21