A delegação de política de acesso não transmite o corpo da mensagem. Você precisará criar um milter em vez disso, se precisar acessar o corpo da mensagem.
Eu segui a documentação do postfix para configurar um script que eu possa usar para escrever filtros personalizados em mensagens recebidas no check_policy_service
event e funciona muito bem, mas não consigo acessar o corpo do email - apenas os seguintes parâmetros do STDIN:
Array
(
[request] => smtpd_access_policy
[protocol_state] => RCPT
[protocol_name] => ESMTP
[client_address] => 208.40.44.179
[client_name] => smtprelay0179.hostedemail.com
[client_port] => 59713
[reverse_client_name] => smtprelay0179.hostedemail.com
[helo_name] => smtprelay.hostedemail.com
[sender] => [email protected]
[recipient] => [email protected]
[recipient_count] => 0
[queue_id] =>
[instance] => 27c5.5bccec9c.5f5b9.0
[size] => 1905
[etrn_domain] =>
[stress] =>
[sasl_method] =>
[sasl_username] =>
[sasl_sender] =>
[ccert_subject] =>
[ccert_issuer] =>
[ccert_fingerprint] =>
[ccert_pubkey_fingerprint] =>
[encryption_protocol] => TLSv1.2
[encryption_cipher] => AECDH-AES256-SHA
[encryption_keysize] => 256
[policy_context] =>
)
Como posso acessar o e-mail bruto (cabeçalhos e corpo) para que minha filtragem também possa depender disso?
Em master.cf
configurei meu script assim:
filtermyemail unix - n n - 0 spawn
user=someuser argv=php /path-to-scripts/filter-incoming-email.php
A delegação de política de acesso não transmite o corpo da mensagem. Você precisará criar um milter em vez disso, se precisar acessar o corpo da mensagem.