Agregar un prefijo HTML a EMail MIME hace que algunos clientes muestren un cuerpo vacío

Estoy tratando de agregar una parte HTML a un correo electrónico, que puede ser cualquier tipo de MIME (probablementemezclado oalternativa, lo obtenemos crudo de GMail).
Así es como lo hacemos actualmente:

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)

El fragmento anterior funciona bien para el cliente web GMail, la aplicación GMail de Android, Outlook en Mac, etc. Sin embargo, en algunos clientes específicos de EMail, el correo electrónico se muestra de manera diferente:

EnAplicación de Outlook para Android, falta el cuerpo y no hay archivos adjuntos;Y enAplicación Outlook 2016 en Windows 8.1, falta el cuerpo pero aparece como 2 archivos adjuntos (texto y html).

Ahora me encontré con este hilo:
Correo electrónico HTML con archivos adjuntos en línea y archivos adjuntos no en línea (@Renat Gilmanov)
Y éste:
Correo multiparte / alternativa vs multiparte / mixto (@Iain)

El primero se refiere a controlar si las imágenes se muestran en línea o como archivos adjuntos. Traté de aplicarlo a mi caso, pero sigo teniendo el mismo comportamiento. El segundo sugiere una estructura específica que tampoco pude hacer que funcione en mi caso.

¿Cuál es la estructura correcta que debo usar para agregar un prefijo HTML al mensaje original, para que se muestre de manera uniforme en todos los principales clientes de correo electrónico? PD Actualmente estoy tratando de evitar editar la parte html original, pero es mi último recurso.

Cualquier ayuda sería muy apreciada!

Respuestas a la pregunta(0)

Su respuesta a la pregunta