我正在尝试向电子邮件添加HTML部分 - 可以是任何类型的MIME(可能是混合或替代,我们从GMail获取它) 。
以下是我们目前的工作方式:
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)
以上代码段适用于GMail网络客户端,GMail Android应用程序,Mac上的Outlook等。
但是,在某些特定的EMail客户端上,我们的电子邮件显示方式不同:
现在我遇到了这个帖子:
HTML-Email with inline attachments and non-inline attachments(@Renat Gilmanov)
这一个:
Mail multipart/alternative vs multipart/mixed(@Iain)
第一个涉及控制图像是以内联方式显示还是作为附件显示。我试着将它应用到我的案例中,但我仍然得到相同的行为。 第二个建议一个特定的结构,我也无法使它适用于我的情况。
为了在原始邮件中添加HTML前缀,我应该使用哪种正确的结构 - 所以它会在所有主要电子邮件客户端上统一显示? 附:我目前正试图避免编辑原始的html部分,但这是我的最后一招。
非常感谢任何帮助!