发送模板电子邮件 Django 1.11 错误(信件中的 html 标签)
Send templates emails Django 1.11 error (html tags in letter)
我正在尝试发送模板电子邮件。
代码:
def send_admin_notification(ticket):
subject = "Notification: NEW TICKET."
to = [DEFAULT_ADMIN_EMAIL]
from_email = settings.DEFAULT_FROM_EMAIL
template = 'emails/admin.html'
ctx = {
"ticket_id": ticket.id,
"subject": ticket.subject,
"text": ticket.support_text,
"email": ticket.email,
}
message = render_to_string(template, ctx)
msg = EmailMessage(subject, message, to=to, from_email=from_email)
msg.send()
但是信件带有所有 html 标签 如何发送没有 html 标签的信件?
如有任何帮助,我们将不胜感激。谢谢!
来自 documentation 的 EmailMessage
:
body: The body text. This should be a plain text message.
要发送 HTML 消息,您需要使用 django.core.mail.EmailMultiAlternatives
而不是 EmailMessage
。 documentation 提供了一个包含 HTML 消息的示例。
或者你可以使用 django.core.mail.send_mail
接受一个 html_message
参数,像这样:
from django.core.mail import send_mail
def send_admin_notification(ticket):
subject = "Notification: NEW TICKET."
from_email = settings.DEFAULT_FROM_EMAIL
tpl= 'emails/admin.html'
html_message = render_to_string(tpl, ctx)
send_mail(
subject=subject ,
message='', # Plain text version of message - advisable to provide this
from_email=from_email
recipient_list=[DEFAULT_ADMIN_EMAIL],
html_message=html_message
)
我正在尝试发送模板电子邮件。
代码:
def send_admin_notification(ticket):
subject = "Notification: NEW TICKET."
to = [DEFAULT_ADMIN_EMAIL]
from_email = settings.DEFAULT_FROM_EMAIL
template = 'emails/admin.html'
ctx = {
"ticket_id": ticket.id,
"subject": ticket.subject,
"text": ticket.support_text,
"email": ticket.email,
}
message = render_to_string(template, ctx)
msg = EmailMessage(subject, message, to=to, from_email=from_email)
msg.send()
但是信件带有所有 html 标签 如何发送没有 html 标签的信件?
如有任何帮助,我们将不胜感激。谢谢!
来自 documentation 的 EmailMessage
:
body: The body text. This should be a plain text message.
要发送 HTML 消息,您需要使用 django.core.mail.EmailMultiAlternatives
而不是 EmailMessage
。 documentation 提供了一个包含 HTML 消息的示例。
或者你可以使用 django.core.mail.send_mail
接受一个 html_message
参数,像这样:
from django.core.mail import send_mail
def send_admin_notification(ticket):
subject = "Notification: NEW TICKET."
from_email = settings.DEFAULT_FROM_EMAIL
tpl= 'emails/admin.html'
html_message = render_to_string(tpl, ctx)
send_mail(
subject=subject ,
message='', # Plain text version of message - advisable to provide this
from_email=from_email
recipient_list=[DEFAULT_ADMIN_EMAIL],
html_message=html_message
)