Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过django发送的邮件呈现html模板_Django_Templates - Fatal编程技术网

通过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

我有一个django模板,我必须将其作为电子邮件正文发送,我发送的变量会相应地在电子邮件中呈现,但模板中使用的html标记不会呈现。下面是代码

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()