django3.1发送邮件指定html正文:content_subtype = “html“

django3.1发送可替换内容类型

在电子邮件中包含多个版本的内容可能很有用; 经典的例子是同时发送消息的文本格式版本和HTML格式版本。 Django的电子邮件库的EmailMultiAlternatives类可实现该功能。 作为EmailMessage的子类,它有一个attach_alternative()方法,用于在电子邮件中包含邮件正文的其它版本。它的所有其他方法(包括类初始化)直接继承EmailMessage。

可以这样发送文本和HTML的组合:

 

from django.core.mail import EmailMultiAlternatives

subject, from_email, to = 'hello', 'from@example.com', 'to@example.com'
text_content = 'This is an important message.'
html_content = '<p>This is an <strong>important</strong> message.</p>'
msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
msg.attach_alternative(html_content, "text/html")
msg.send()

默认情况下,EmailMessage正文的MIME类型为“text/plain”。text/plain在任何邮件客户端都可以实现,这样可以保证任何收件人都能够阅读电子邮件。 但是,如果确信收件人可以处理替代内容类型,则可以使用EmailMessage类的content_subtype属性更改主要内容类型。 主类型将始终为“text”,但可以更改子类型。 例如:

 

msg = EmailMessage(subject, html_content, from_email, [to])
msg.content_subtype = "html"  # Main content is now text/html
msg.send()



作者:学以致用123
链接:https://www.jianshu.com/p/c02aac458a71
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

上一篇:HTTP请求头字段解释


下一篇:flutter的appBar使用自己写好的方法出现了 ‘HomeHeade‘ is not a subtype of type ‘PreferredSizeWi 解决办法