django - django html_message 和发送邮件中的消息有什么区别

标签 django python-2.7 django-templates django-views

当我尝试使用 django 发送邮件发送邮件时,只会收到 html 消息,而不是普通消息,我想知道两者之间的区别。 有什么最好的方法可以通过模板或 html 文件发送邮件,因为我想在我的应用程序中使用一个邮件系统。

注意:- 区别更为重要。

这就是我所做的

msg_html = (' HELLLOOOOO') msg_plain = 'Normalallalaa

send_mail("titleeeee", msg_plain,"sender@test",["reciever@tese",],html_message=msg_html)

我的邮件只包含粗体的 Hello

我的消息去了哪里。

最佳答案

问题是某些(旧的或专门配置的)电子邮件客户端不会显示 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 作为参数传递。

关于django - django html_message 和发送邮件中的消息有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31349125/

相关文章:

ruby-on-rails - 将数据库从 Rails 迁移到 Heroku 中的 Django 应用程序

python - 使用 djangos manage.py 自定义命令启动守护进程服务?

python - 用于获取多个值的 Django MySQL 不同查询

Python代码仅适用于标题标签,不适用于表格

python - 如何将多行代码用于 else 语句?

python - Django - 查询集拆分为 4,导致数据库出现大量点击

django - Django 模板中对象的模型名称

python - django-registration-redux - NoReverseMatch 在/accounts/register/

python-2.7 - 使用 Class() 时如何显示 argparse 中所有子解析器的帮助

django - 在 Django 中,当登录 URL 以 ?next=/accounts/logout/结尾时停止重定向回注销