通过django发送的邮件呈现html模板
我有一个django模板,我必须将其作为电子邮件正文发送,我发送的变量会相应地在电子邮件中呈现,但模板中使用的html标记不会呈现。下面是代码通过django发送的邮件呈现html模板,django,templates,Django,Templates,我有一个django模板,我必须将其作为电子邮件正文发送,我发送的变量会相应地在电子邮件中呈现,但模板中使用的html标记不会呈现。下面是代码 t = loader.get_template('registration/subscription_employee.html') c = {'site_name': current_site.domain,'user': user,'employer':employer} send_ma
t = loader.get_template('registration/subscription_employee.html')
c = {'site_name': current_site.domain,'user': user,'employer':employer}
send_mail(("Subscription Agreement of %s")%data['username'], t.render(Context(c)), None, [settings.PAYPAL_PRIMARY_EMAIL,data['email']],fail_silently = True)
如何确保html标记也相应地呈现。您需要使用attach_alternative()或为邮件指定内容子类型。请参阅有关发送HTML电子邮件的文档:。特定于HTML的信息大约在页面的一半。希望这对您有所帮助。您需要使用attach_alternative()或为邮件指定内容子类型。请参阅有关发送HTML电子邮件的文档:。特定于HTML的信息大约在页面的一半。希望这对您有所帮助。默认情况下,django发送文本/普通电子邮件,这样您就不会在信函中看到任何HTML 你可以改变这个,看看
从django.core.mail导入电子邮件
主题,从电子邮件发送至='你好','from@example.com', 'to@example.com'
text_content='这是一条重要的消息。'
这是一条非常重要的信息。'
msg=emailmultialternations(主题、文本内容、发件人/电子邮件[收件人])
msg.附加可选内容(html内容,“文本/html”)
msg.send()
默认情况下,django发送文本/普通电子邮件,因此您不会在信函中看到任何HTML
你可以改变这个,看看
从django.core.mail导入电子邮件
主题,从电子邮件发送至='你好','from@example.com', 'to@example.com'
text_content='这是一条重要的消息。'
这是一条非常重要的信息。'
msg=emailmultialternations(主题、文本内容、发件人/电子邮件[收件人])
msg.附加可选内容(html内容,“文本/html”)
msg.send()
您正在以纯文本电子邮件的形式发送HTML消息。如果只想发送HTML,请使用并设置add header{'Content-type':'text/HTML'}
。更方便用户的解决方案是同时发送文本和HTML。您将以纯文本电子邮件的形式发送HTML消息。如果只想发送HTML,请使用并设置add header{'Content-type':'text/HTML'}
。更为用户友好的解决方案是同时发送文本和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()