分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

django-29.发送html格式邮件

发布时间:2023-09-06 02:34责任编辑:顾先生关键词:邮件django

上一篇已经通过send_mail()函数发送纯文本的邮件,发送成功了,如果我们想发送一个html格式的邮件,如何实现呢?
发送html格式的邮件实际上还是调用send_mail()函数 ,只需多加一个html_message参数

html_message参数

从上一篇的send_mail()函数里面可以看出,里面有个参数html_message默认是为None,部分源码如下

mail = EmailMultiAlternatives(subject, message, from_email, recipient_list, connection=connection) ???if html_message: ???????mail.attach_alternative(html_message, ‘text/html‘)

当html_message参数不为空的时候,会调用EmailMultiAlternatives类里面的方法,发送html格式的文件

如我们需要发送的html内容如下

<!DOCTYPE HTML><html><head> ???<meta charset="UTF-8"> ???<title>带图片的邮件</title></head><body><a href="https://yuedu.baidu.com/ebook/902224ab27fff705cc1755270722192e4536582b" target="_blank"> ???<p>pytest教程,点图片进入:<br> ???<img src="https://img2018.cnblogs.com/blog/1070438/201902/1070438-20190228112918941-704279799.png" height="160" width="270" /> ???</p></a><p>其它图片:<br><img src="http://www.w3school.com.cn/i/eg_chinarose.jpg" height=150 width=300/></p><p>请注意,插入动画图像的语法与插入普通图像的语法没有区别。</p></body></html>

在浏览器效果

views和urls.py

在views.py里面写个视图函数,调用发送邮件的功能

def mail_html(request): ???‘‘‘发送html格式邮件‘‘‘ ???h = ‘‘‘ ???<!DOCTYPE HTML> ???<html> ???<head> ???????<meta charset="UTF-8"> ???????<title>带图片的邮件</title> ???</head> ???<body> ???<a href="https://yuedu.baidu.com/ebook/902224ab27fff705cc1755270722192e4536582b" target="_blank"> ???????<p>pytest教程,点图片进入:<br> ???????<img src="https://img2018.cnblogs.com/blog/1070438/201902/1070438-20190228112918941-704279799.png" height="160" width="270" /> ???????</p></a> ???<p> ???其它图片:<br> ???<img src="http://www.w3school.com.cn/i/eg_chinarose.jpg" height=150 width=300/></p> ???<p>请注意,插入动画图像的语法与插入普通图像的语法没有区别。</p> ???</body> ???</html> ???‘‘‘ ???send_mail(‘Subject here‘, ????????????# 主题 ?????????????‘hell‘, ????# 正文 ?????????????‘283340479@qq.com‘, ????????# 发件人 ?????????????[‘zhangwenquan@91xcm.com‘], ??????# 收件人 ?????????????fail_silently=False, ?????????????html_message=h) ???????????????# html邮件 ???return HttpResponse(‘邮件发送成功,收不到就去垃圾箱找找吧!‘)

urls.py写个访问地址触发发邮件

from django.conf.urls import urlfrom hello import viewsurlpatterns = [ ???# 新增用户 ???url(r‘^register/‘, views.register), ???url(r‘^login/‘, views.login), ???url(r‘^reset/‘, views.reset_psw), ??url(r‘^mail/‘, views.mail), ??url(r‘^mail_html/‘, views.mail_html),]

访问http://localhost:8000/mail_html/后收到的邮件内容效果展示如下

 

django-29.发送html格式邮件

原文地址:https://www.cnblogs.com/jason89/p/10482949.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved