从django应用程序发送电子邮件时使用django.core.mail.EmailMultiAlternatives,试图确保邮件降级为文本电子邮件客户端不支持HTML。在Win2003的Outlook 2003中Django EmailMultiAlternatives和HTML电子邮件显示
这里是我的SEND_EMAIL方法:
def send_email(self, from_address, to_list, subject, msg_text, msg_html):
subject=subject.replace('\r','').replace('\n',' ')
self.msg = EmailMultiAlternatives(subject, msg_text, from_address, to_list)
self.msg.attach_alternative(msg_html, "text/html")
self.msg.content_subtype = "html"
self.msg.send()
它与Gmail,Hotmail和其他许多电子邮件客户端的伟大工程 - 显示没有问题的HTML内容。但它不会显示在Win2003上运行的Outlook 2003中的HTML内容 - 只是文本版本。
如果我强行放在EmailMultiAlternatives的HTML调用,即使用味精_html instead of msg
_text像这样:
self.msg = EmailMultiAlternatives(subject, msg_html, from_address, to_list)
那么它正常工作的所有客户端;但这意味着对于不支持HTML的客户端(更可能)已禁用对其的支持,不存在文本回退。
我认为值得一提的是,电子邮件正在Mac OS X上运行的django应用程序上生成(以防万一它与操作系统之间的行结束符差异)。
我看到people using other languages曾与Outlook类似的问题...
我不知道是否有人有,为什么面貌将表现不同任何想法,如果有,可以在我的代码可以应用简单的解决?
我没有Outlook可以测试,但+1努力! – 2009-06-08 09:12:41