在EmailMultiAlternatives中,attach和attach_alternative两者都不起作用

问题描述 投票:1回答:1
from django.core.mail import EmailMultiAlternatives
subject, from_email, to,bcc = 
request.POST['sub'],'fulfillment@***.com', lead.mailid,email_ccaddress
msg = EmailMultiAlternatives(subject, "", from_email, [to])
filepdf = open("Plan.pdf",'rb').read()
msg.attach("Plan.pdf",filepdf,'application/pdf')
msg.attach_alternative(request.POST['bodyofmail'], "text/html")
msg.content_subtype = 'html'
msg.send()

使用Django 1.11.3 python3 EmailMultiAlternatives

单独两者都工作正常,但一旦我们运行此代码与附件和attach_alternative HTML只有pdf附件在电子邮件服务器中接收

django pdf email-attachments
1个回答
3
投票

问题是你在消息上设置content_subtype,然后附加一个单独的text/html替代品。同时执行这两个操作没有意义 - 这意味着邮件客户端在电子邮件中收到两个text/html替代品,并且不知道要呈现哪个。它只会使用第一个。

要么删除content_subtype,要么将你的html主体放在body参数中并删除attach_alternative。在后一种情况下,您可以停止使用EmailMultiAlternative并使用EmailMessage类。

© www.soinside.com 2019 - 2024. All rights reserved.