2015-07-10 59 views
1

当im试图发送邮件与django发送邮件只有html消息来了,而不是正常的消息,我想知道两者之间的区别。 是否有任何最好的方式发送邮件通过模板或html文件,因为我想在我的应用程序中来一个邮件系统。django html_message和发送邮件中的邮件有什么区别

注: - 差异更重要。

这是我DID

msg_html =( 'HELLLOOOOO') msg_plain =“Normalallalaa

send_mail( “titleeeee”,msg_plain, “发件人@测试”,[“reciever @tese”],html_message = msg_html)

我的邮件仅包含你好大胆

我的信息去了哪里。

回答

0

消息是纯文本,而html_message是使用HTML格式化的消息。如果您同时设置,则可能您的电子邮件客户端正在显示HTML版本。

+1

手段d优先是为html一...如果我通过终端的邮箱收到一封邮件因为它不会有一个HTML显示... –

1

问题是,某些(旧的或专门配置的)电子邮件客户端不会显示HTML消息,因此您需要确保所有用户都能正确读取您的电子邮件。如果您决定只发送文本,那么能够获取HTML消息的用户将不会从中受益。

这是我跟随策略:

我用django.template.loader.render_to_string呈现给定的背景模板。此函数返回的值是一个包含HTML中消息的字符串。

html_text = render_to_string(template, context) 

然后我创建一个基于HTML的消息纯文本消息(例如,通过使用一个名为html2text包):

plain_text = html2text(html_text) 

最后我发送电子邮件django.core.mail.send_mail,传递html_textplain_text作为参数。

+0

得到它.... thnx很多.. 。如果我收到一封邮件通过终端密码我得到的文本邮件的权利,因为它不会有一个HTML显示... –