Como executar programas externos no mecanismo da tabela de consulta?

1

Eu preciso executar um algoritmo personalizado por meio da pesquisa header_checks.

Eu tenho a configuração smtpd_sasl_authenticated_header = yes para ver nos cabeçalhos qual usuário está enviando a mensagem, por exemplo:

Received: from [0.0.0.0] (unknown [192.168.255.4]) (Authenticated sender: [email protected]) by smtp.mydomain.com (Postfix) with ESMTP id 08333374399 for <[email protected]>; Tue, 28 Oct 2008 10:45:37 -0400 (EDT)

Eu preciso criar um mecanismo para reescrever o (Authenticated sender: [email protected]) to (Authenticated sender: XXXXXX) ... onde XXXXXX é o md5sum do endereço de e-mail (por motivos de segurança).

Posso fazer isso por meio da tabela de consulta header_checks ?

Sei que isso é possível, por meio de um daemon externo (um script php ou perl, por exemplo) que atua como servidor para os tipos de tabela de consulta TCP ou SOCKETMAP , mas existe um mecanismo mais simplificado para arquivar isso?

    
por Eduardo Leggiero 24.07.2014 / 13:02

1 resposta

2

Limitação: Para esta solução, você deve listar todos os seus usuários e seu md5. Exceto pela solução de daemon tcptable / external, o cálculo do MD5 não é suportado pela maioria da tabela de postfix

Você pode usar o recurso pcre table e header_checks para conseguir isso. Especifique esta linha na sua tabela header_check. Eu testei essa expressão na tabela do tipo pcre.

/^(Received: .*Authenticated sender:)(.*?\))(.*)$/ REPLACE $1 md5ofstring) $3

Referências: man header_checks | pcre_table do homem

    
por 24.07.2014 / 17:37

Tags