Django表单:让通过表单发出的文本在邮件中加粗
我有个简单的问题。如果我有一个表单,它发送内容到邮箱,有没有办法让发送的某些文字在邮件里显示为粗体呢?
1 个回答
5
在Django 1.7中,send_mail()
这个函数可以接受一个叫做html_message
的参数:
如果提供了html_message,这封邮件就会变成一种叫做multipart/alternative的格式,里面包含两种内容:一种是普通文本(text/plain),另一种是HTML格式的内容(text/html)。
举个例子:
send_mail('Subject', 'Content', 'sender@example.com', ['nobody@example.com'],
html_message='This is <b>HTML</b> Content')
如果你用的是Django版本低于1.7,可以参考这里的解决方案,或者使用一个第三方库,比如django-email-html。
另外,还有一个你可以考虑使用的第三方包 - django-mail-templated。这个包的主要功能是让你可以用Django模板来描述你的邮件内容。此外,它还支持在模板中的html
块里发送HTML格式的邮件。
比如:
创建一个模板
{% block subject %} Email subject {% endblock %} {% block body %} This is a plain text. {% endblock %} {% block html %} This is <b>HTML</b> Content. {% endblock %}
然后发送它:
from mail_templated import send_mail send_mail('my_template.tpl', {}, from_email, [user.email])
希望这些信息对你有帮助。