Adicionar um prefixo HTML ao EMail MIME faz com que alguns clientes mostrem o corpo vazio
Estou tentando adicionar uma parte HTML a um email - que pode ser qualquer tipo de MIME (provavelmentemisturado oualternativa, obtemos informações cruas do GMail).
Veja como atualmente o fazemos:
email_copy = deepcopy(original_email)
if 'Content-Type' in original_email:
original_email.replace_header('Content-Type', 'multipart/mixed')
else:
original_email.add_header('Content-Type', 'multipart/mixed')
warning_part = [MIMEText(warning_html, 'html', 'UTF-8')]
original_email.set_payload(warning_part)
original_email.attach(email_copy)
O trecho de código acima funciona bem para o cliente Web do GMail, o aplicativo Android do GMail, o Outlook no Mac etc. No entanto, em alguns clientes específicos do EMail, o email é exibido de forma diferente:
Agora me deparei com este tópico:
HTML-Email com anexos inline e não inline (@Renat Gilmanov)
E este:
Multipart de correio / alternativo vs multipart / misto (@Iain)
O primeiro diz respeito a controlar se as imagens são exibidas em linha ou como anexos. Tentei aplicá-lo ao meu caso, mas continuo tendo o mesmo comportamento. O segundo sugere uma estrutura específica que eu também não poderia fazer funcionar no meu caso.
Qual é a estrutura correta que devo usar para adicionar um prefixo HTML à mensagem original - para que seja exibida uniformemente em todos os principais clientes de email? P.S. Atualmente, estou tentando evitar a edição da parte html original, mas é meu último recurso.
Qualquer ajuda seria muito apreciada!