【问题标题】:How to include newline in email message using send_mail and django?如何使用 send_mail 和 django 在电子邮件中包含换行符?
【发布时间】:2012-09-02 14:39:51
【问题描述】:

我想发送带有换行符的电子邮件。比方说,通过以下代码:

send_mail("subject", "Hi  George\n Thanks for registration", "from", "to")

我希望:

你好,乔治

感谢注册

而我得到的是: 嗨 George\n 感谢您的注册

如果重要,电子邮件将发送到 gmail 帐户。

有什么想法吗?

谢谢!

【问题讨论】:

  • \n 为我工作。试试u"Hi ...
  • 编辑:实际上\n现在工作了......我在发布之前肯定犯了一个错误
  • danihp - 确实有效,感谢您的帮助
  • 如果邮件内容较长,则将其组合成字符串并在发送邮件功能中使用。

标签: django email newline


【解决方案1】:

实现这一点的最佳方法是将邮件文本放入模板中,并使用 django 模板加载器将其与上下文一起呈现。

from django.template.loader import render_to_string
context = {}  # Fill it with your context
send_mail(
    'Subject',
    render_to_string('core/emails/email.txt', context),
    'sender@mail.com',
    ['receiver@mail.com'],
    fail_silently=False)

【讨论】:

  • 非常感谢您的回复,无论如何它帮助了我。祝你有美好的一天!
  • 如果您使用控制台电子邮件后端,它是否仍会显示“\n”字符,即使在实际电子邮件中用户看不到它们? @弗拉迪斯拉夫
【解决方案2】:

是的 "%0A" 换行 效果很好。

【讨论】:

    【解决方案3】:

    尝试使用:

    %0A 换行
    %26 换 &
    %3f 换行?

    【讨论】:

      猜你喜欢
      • 2020-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      • 1970-01-01
      • 2013-12-01
      • 2013-11-01
      • 2021-05-15
      相关资源
      最近更新 更多