Como sugerido por @thrig, MIMEDefang é o caminho a percorrer, pesado, mas valeu a pena o esforço IMHO.
Dentro de filter_end()
, a maioria das pessoas usará uma das funções:
append_text_boilerplate($entity, $boilerplate, $all)
append_html_boilerplate($entity, $boilerplate, $all)
embora esses acrescentam texto em vez de substituí-lo. Para fazer exatamente o que
você especifica que pode usar o manipulador filter_part()
. Uma maneira de fazer isso
é chamar action_external_filter()
da (s) parte (s) que você deseja
modificar (as primeiras partes text / plain e text / html sem MIME
disposição são geralmente uma boa aposta). Isso filtra a peça por meio de um comando externo.
Para adicionar imagens ao HTML, você precisará adicioná-las como novas partes e, em seguida, referir-se a elas (por CID).
A maneira normal de modificar uma mensagem é chamar replace_entire_message()
em filter_end()
. Isso não é tão simples quanto parece, você precisará copiar a mensagem atual como um MIME :: Entity, modificar o corpo da parte e substitua todo o corpo da mensagem por um novo MIME :: Entity.
Isso deve começar: link
Alternativamente, uma solução de baixa tecnologia seria ter o spool do sendmail ( -odd
entrega adiada) em vez da entrega imediata, modificar o arquivo df enfileirado (tratá-lo como texto simples pode funcionar às vezes, mas para ser minucioso você precisa tratar como MIME), mova o par qf / df para um novo spool normalmente executado (com re-mqueue.pl
talvez).