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附件在电子邮件服务器中接收
问题是你在消息上设置content_subtype
,然后附加一个单独的text/html
替代品。同时执行这两个操作没有意义 - 这意味着邮件客户端在电子邮件中收到两个text/html
替代品,并且不知道要呈现哪个。它只会使用第一个。
要么删除content_subtype
,要么将你的html主体放在body
参数中并删除attach_alternative
。在后一种情况下,您可以停止使用EmailMultiAlternative
并使用EmailMessage
类。