当前位置: 首页 > 面试题库 >

使用Django创建电子邮件模板

蓝华皓
2023-03-14
问题内容

我想使用Django模板发送HTML电子邮件:

<html>
<body>
hello <strong>{{username}}</strong>
your account activated.
<img src="mysite.com/logo.gif" />
</body>

我找不到任何有关的信息send_mail,而django-mailer仅发送HTML模板,而没有动态数据。

如何使用Django的模板引擎生成电子邮件?


问题答案:

从docs,要发送HTML电子邮件,你想使用其他内容类型,如下所示:

from django.core.mail import EmailMultiAlternatives

subject, from_email, to = 'hello', 'from@example.com', 'to@example.com'
text_content = 'This is an important message.'
html_content = '<p>This is an <strong>important</strong> message.</p>'
msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
msg.attach_alternative(html_content, "text/html")
msg.send()

你可能需要两个用于电子邮件的模板-一个看起来像这样的纯文本模板,存储在你的模板目录下email.txt

Hello {{ username }} - your account is activated.

还有一个HTMLy,存放在以下位置email.html

Hello <strong>{{ username }}</strong> - your account is activated.

然后,你可以使用来使用这两个模板发送电子邮件get_template,如下所示:

from django.core.mail import EmailMultiAlternatives
from django.template.loader import get_template
from django.template import Context

plaintext = get_template('email.txt')
htmly     = get_template('email.html')

d = Context({ 'username': username })

subject, from_email, to = 'hello', 'from@example.com', 'to@example.com'
text_content = plaintext.render(d)
html_content = htmly.render(d)
msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
msg.attach_alternative(html_content, "text/html")
msg.send()


 类似资料:
  • 问题内容: 我希望django通过电子邮件而非用户名对用户进行身份验证。一种方法是提供电子邮件值作为用户名值,但我不希望这样。原因是,我有一个,所以我不能有一个。 另一个原因是所有电子邮件都是唯一的,但有时用户名已被使用。因此,我将自动创建用户名为。 我该如何更改才能让Django通过电子邮件进行身份验证? 这就是我创建用户的方式。 这就是我的登录方式。 除了先获取用户名外,登录还有其他方法吗?

  • 我希望django通过电子邮件而不是用户名来验证用户。一种方法是提供电子邮件值作为用户名值,但我不希望这样。原因是,我有一个url

  • 问题内容: 在我的Web应用程序中,我偶尔会使用可重复使用的邮件发送器应用程序发送电子邮件,如下所示: 我想发送一封带有嵌入式图像的电子邮件,因此我尝试在邮件客户端中制作邮件,查看源并将其放入模板(welcome.eml)中,但是我一直无法获取它来呈现发送时在邮件客户端中正确显示。 有谁知道我有一种简单的方法来创建带有内嵌图像的mime编码的邮件模板,这些模板在我发送邮件时会正确呈现? 问题答案:

  • 我有一个使用commons电子邮件的项目(http://search.maven.org/#artifactdetails|组织。阿帕奇。commons | commons电子邮件| 1.2 | jar)通过maven发送。我想使用电子邮件模拟类(http://commons.apache.org/email/testapidocs/org/apache/commons/mail/mocks/Mo

  • 问题内容: 有人知道该怎么做吗?我收到了电子邮件的所有信息(正文,主题,从,到,抄送,密件抄送),并且需要从中生成一个.eml文件。 问题答案: 您可以构造对象(或已经从邮件服务器构造它),然后可以使用方法将其保存到文件。有关更多信息,请参见JavaMail API 。

  • 问题内容: 但是我已经尝试了一天多了,以获取与Django一起使用的电子邮件。 我收到此错误消息:当我尝试发送电子邮件时 这是我创建电子邮件并尝试在其视图中发送的地方: 我的设置文件如下: 我尝试过使用进行测试发送python -m smtpd -n -c DebuggingServer localhost:1025并获得了成功,但是当最终归结为真正却没有成功时。 当我尝试从外壳执行send_ma