django发送html邮件

1、配置邮箱

需要开通对应的服务,以qq邮箱为例,点击设置--》账户   中,找到对应服务

在这里插入图片描述
2、配置settings

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'  # 腾讯QQ邮箱 SMTP 服务器地址
EMAIL_PORT = 25  # SMTP服务的端口号
EMAIL_HOST_USER = 'xxx@qq.com'  # 发送邮件的QQ邮箱
EMAIL_HOST_PASSWORD = 'xxxx'  # 在QQ邮箱->设置->帐户->“POP3/IMAP......服务” 里得到的在第三方登录QQ邮箱授权码

3、添加html模板

首先setting中配置html模板位置
TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS':  [os.path.join(BASE_DIR, 'templates')],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    },
},
]

4、发送邮件

subject = '测试邮件主题'
context = {}
from_email = 'xxx@qq.com'  # 邮件发送人
recipient_list = ['xxx@qq.com', 'xxx@163.com']  # 邮件接收人

# 这里需要提前写好html的页面
email_template_name = 'template.html'  
t = loader.get_template(email_template_name)  # 导入模板

html_content = t.render(context)  # 模板参数
msg = EmailMultiAlternatives(subject, html_content, from_email, recipient_list)
msg.attach_alternative(html_content, "text/html")  
msg.send()  # 发送邮件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值