Django表单:将表单发送到电子邮件的文本显示为粗体

时间:2014-06-08 20:39:26

标签: python html django django-forms

快速提问。如果我有一个发送到电子邮件的表单,有没有办法让一些发送的文本在电子邮件中显示为粗体?

1 个答案:

答案 0 :(得分:5)

在Django 1.7中,send_mail()接受html_message参数:

  

如果提供了html_message,则生成的电子邮件将是   包含邮件作为文本/纯文本内容的多部分/备用电子邮件   type和html_message作为text / html内容类型。

示例:

send_mail('Subject', 'Content', 'sender@example.com', ['nobody@example.com'], 
          html_message='This is <b>HTML</b> Content')

对于Django&lt; 1.7,您可以使用建议的解决方案here,也可以使用第三方,例如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])
    

希望有所帮助。