簡體   English   中英

如何使用Django在email中發送HTML?

[英]How to send HTML in email using Django?

我是 Django 的新手。我想使用 django 通過 Email 發送 html。我正在使用以下代碼

  send_mail(
            'Email Title',
            'My Message',
            'webmaster@localhost', 
            [to mail],   
            fail_silently=False,
           ) 


  

此代碼正在發送簡單的字符串,而不是發送 HTML。例如,如果我在消息正文中通過<h1>test</h1> ,那么它將返回相同的內容。 我想在“測試”中應用<h1>標簽。 怎么做?

from django.core.mail import EmailMultiAlternatives
from django.template.loader import render_to_string

def send_emails(request):
    merge_data = {
        'greetings': "hello"
    }
    html_body = render_to_string("email-templates.html", merge_data)

    message = EmailMultiAlternatives(
       subject='Django HTML Email',
       body="mail testing",
       from_email='xyz@abc.com',
       to=['wxyz1@abc.com']
    )
    message.attach_alternative(html_body, "text/html")
    message.send(fail_silently=False)

你可以做這樣的事情,這會起作用。 但您必須在“html_message”中傳遞該消息

from django.template import Template

send_mail(
        'Email Title',
        html_message = Template("<b>Hello</b>"),
        'webmaster@localhost', 
        [to mail],   
        fail_silently=False,

       ) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM