python测试开发django-29.发送html格式邮件
2021/6/2 22:21:31
本文主要是介绍python测试开发django-29.发送html格式邮件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言上一篇已经通过send_mail()函数发送纯文本的邮件,发送成功了,如果我们想发送一个html格式的邮件,如何实现呢?
发送html格式的邮件实际上还是调用send_mail()函数 ,只需多加一个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://www.www.zyiz.net/i/l/?n=18&i=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里面写个视图函数,调用发送邮件的功能
from django.http import HttpResponse from django.core.mail import send_mail, send_mass_mail 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://www.www.zyiz.net/i/l/?n=18&i=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', # 正文 '2833404xx@qq.com', # 发件人 ['xxx@xx.com'], # 收件人 fail_silently=False, html_message=h) # html邮件 return HttpResponse('邮件发送成功,收不到就去垃圾箱找找吧!')
urls.py写个访问地址触发发邮件
from django.conf.urls import url from hello import views urlpatterns = [ # 新增用户 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/后收到的邮件内容效果展示如下
这篇关于python测试开发django-29.发送html格式邮件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门