Django发送HTML格式的邮件

1. settings.py配置
EMAIL_HOST = 'smtp.qq.com'       # 邮件发送的服务器,开启SMTP服务时候,一般可以查到地址
EMAIL_HOST_USER = '邮箱地址'      # 用于发送邮件的邮箱地址
EMAIL_HOST_PASSWORD = 'password' # SMTP服务的授权密码,不是邮箱的登录密码
EMAIL_USE_TLS = True             # 是否开启安全协议,一般默认开启
EMAIL_PORT = 25					 # SMTP服务器开放端口
2. 普通邮件发送
from django.core.mail import send_mail
from django.conf import settings

 send_mail(subject,                  # 邮件标题
           '邮件内容',                # 邮件内容
           settings.EMAIL_HOST_USER, # 用于发送邮件的用户,默认用上述配置文件的用户
           [email],			         # 接收邮件的用户列表
           fail_silently=False,      # 发送失败是否提示,一般默认False
  )
3. 发送HTML格式邮件
  • 第一种方法
from django.core.mail import send_mail
from django.conf import settings
html_message= '这是一段html代码'
send_mail(subject,                   # 邮件标题
           '这里为空就行',            # 邮件内容
           settings.EMAIL_HOST_USER, # 用于发送邮件的用户,默认用上述配置文件的用户
           [email],			         # 接收邮件的用户列表
           fail_silently=False,      # 发送失败是否提示,一般默认False
           html_message=html_message # 要发送HTML内容
)
  • 第二种方法
from django.core.mail import EmailMessage
from django.conf import settings
msg = EmailMessage(subject,                  # 邮件主题 
				   html_content,             # 邮件内容,直接使用html代码就行
                   settings.EMAIL_HOST_USER, # 用于发送邮件的用户
                   ['example@test.com']      # 接收邮件的用户列表
)
msg.content_subtype = 'html'   # 如果要发送html格式邮件,需要指定一下,如果发送普通邮件,无须这一行代码
msg.send()  
  • 第三种方法

这也不能算得上是第三种方法,只是说用另外一种渲染HTML格式,但是使用这种方法维护极其方便

from django.core.mail import EmailMessage
from django.templates.loader import render_to_string

# 跟渲染模板一样,事先写好html模板,可以将html代码与python代码分离开来,方便维护
data = {'name':'join'}
html_content= render_to_string('example.html', data)

msg = EmailMessage(subject,                  # 邮件主题 
				   html_content,             # 邮件内容,直接使用html代码就行
                   settings.EMAIL_HOST_USER, # 用于发送邮件的用户
                   ['example@test.com']      # 接收邮件的用户列表
)
msg.content_subtype = 'html'   
msg.send()  

大家有问题可以微信交流一下~~
在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值