Django 发送html邮件

本文介绍了如何使用Django框架发送HTML格式的电子邮件。通过定义一个函数send_html_mail,利用EmailMessage类设置邮件主题、内容及接收者列表,并将内容类型指定为HTML。此外,还演示了如何使用模板渲染邮件正文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载于: http://blog.sina.com.cn/s/blog_76e94d2101011bxd.html
 
django中发送html邮件:
 
#mailer.py
 
# -*- coding: utf-8 -*-
from django.core.mail import EmailMessage
from django.template import loader
 
from settings import EMAIL_HOST_USER   #项目配置邮件地址,请参考发送普通邮件部分
 
def send_html_mail(subject, html_content, recipient_list):
    msg = EmailMessage(subject, html_content, EMAIL_HOST_USER, recipient_list)
    msg.content_subtype = "html" # Main content is now text/html
    msg.send()
 
subject = u'邮件主题'
html_content = loader.render_to_string(
                     template_path,               #需要渲染的html模板
                     {
                        ‘paramters’:paramters    #参数
                     }
               )
 
send_html_mail(subject, html_content, [收件人列表]):

转载于:https://www.cnblogs.com/haoshine/p/5944392.html

### Django发送 HTML 邮件Django 应用程序中,可以通过 `EmailMessage` 类来实现 HTML 邮件发送。此方法允许指定邮件的内容类型为 HTML 并支持附加替代内容(如纯文本版本),这对于确保所有客户端都能正确显示邮件非常重要。 为了构建并发送一封含有 HTML 的电子邮件,在创建 `EmailMessage` 对象之后调用其 `attach_alternative()` 方法即可[^1]: ```python from django.core.mail import EmailMultiAlternatives, send_mail subject = '主题' from_email = '来自<example@domain.com>' to = ['接收者@example.com'] text_content = "这是默认的文字内容" html_content = "<p>这是一封<strong>重要的</strong>邮件。</p>" msg = EmailMultiAlternatives(subject, text_content, from_email, to) msg.attach_alternative(html_content, "text/html") msg.send() ``` 对于批量发送多封不同内容的HTML邮件,则可以考虑使用 `send_mass_mail` 函数配合列表推导式生成多个消息元组[(subject,message,sender,[recipient]),...]的方式完成;不过需要注意的是,`send_mass_email` 默认仅处理纯文本形式的消息体。如果要包含HTML部分的话,还是建议单独实例化每一个 `EmailMultiAlternatives` 实例,并通过循环逐一发送[^2]。 配置 SMTP 服务时可以选择一些常见的免费服务商比如网易旗下的163邮箱等作为第三方SMTP服务器来进行设置。具体操作上需先登录所选电子信箱账户页面激活POP3/IMAP协议选项以便于后续连接验证过程顺利进行[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值