如何在Django中给send_mail的纯文本添加换行或格式?

-2 投票
1 回答
1609 浏览
提问于 2025-04-17 08:50

我该怎么在Django的send_mail发送的纯文本消息中添加换行或格式呢?

我试过这个方法,但没有成功:

from django.core.mail import send_mail

send_mail('Title!', '<h1>message : message here</h1> <br> message : message', 'myemail@sample.com', ['toemail@sample.com'])

有没有人能帮我想想我该怎么办?谢谢大家!

1 个回答

1

为什么不直接用Django的模板加载器把一个文本文件渲染成字符串,然后放进你的邮件里,同时把HTML作为备用内容呢?

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

def send_message(request):
    context = {'foo' : 'bar'}
    text = render_to_string('some-file.txt', context)
    html = render_to_string('some-file.html', context)
    email_msg = EmailMultiAlternatives('An Email', text, from_email,
        ['someone@domain.com'])
    email_msg.attach_alternative(html, 'text/html')
    email_msg.send()

撰写回答