python测试开发django-29.发送html格式邮件

摘要:
前言前一篇文章通过了send_mail()函数发送一封纯文本电子邮件。电子邮件已成功发送。如果我们想以html格式发送电子邮件,我们该怎么做?DOCTYPEHTML˃带有图片的电子邮件pytest教程,单击图片进入:其他图片:请注意,插入动画图像的语法与插入普通图像的语法相同。˃''send_mail#html mail A returnHttpResponse('电子邮件已成功发送。如果无法接收,请前往垃圾桶查找!
前言

上一篇已经通过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"     />
    </p></a>
<p>
其它图片:<br>
<img src="http://www.w3school.com.cn/i/eg_chinarose.jpg" height=150 width=300/></p>
<p>请注意,插入动画图像的语法与插入普通图像的语法没有区别。</p>
</body>
</html>

在浏览器效果

python测试开发django-29.发送html格式邮件第1张

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://img2018.cnblogs.com/blog/1070438/201902/1070438-20190228112918941-704279799.png"     />
        </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格式邮件第2张

免责声明:文章转载自《python测试开发django-29.发送html格式邮件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇hbase协处理器编码实例Intellij Idea 2017创建web项目及tomcat部署实战下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

pyinstaller打包python源程序访问hive

1.需求   使用hvie server一段时间后,业务部门需要自己不定时的查询业务数据,之前这一块都是他们提需求我们来做,后来发现这样重复一样的工作放在我们这边做是在没有效率,遂提出给他们工具或者web UI自助查询,当然hive有自己的hwi可以通过网页UI进行自助查询,但是这对不懂sql的业务人员有点不太友好,目前有没时间去修改hwi的UI,所以还是...

python遍历文件夹下的文件

python遍历文件夹下的文件 在读文件的时候往往需要遍历文件夹,python的os.path包含了很多文件、文件夹操作的方法。下面列出: os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回文件名 os.path.commonprefix(list) #返回多个路径中,所有path共有的最长的路...

邮件群发

关于生成随机QQ邮箱不精确的问题,在之后版本打算另写一个采集器插件进行帐号采集,所以,这个软件只用来进行内容发送,邮箱进行随机生成如果你已经有采集来的QQ号,请复制到SendList.txt 替换内容即可可以直接复制HTML代码到邮件内容,保存即可。目前邮件内容最大设置为10000字节,如果有增大的必要,欢迎提交留言。源码出处,可以直接打包下载工程这是...

python 把数据 json格式输出

有个要求需要在python的标准输出时候显示json格式数据,如果缩进显示查看数据效果会很好,这里使用json的包会有很多操作 import json date = {u'versions': [{u'status': u'CURRENT', u'id': u'v2.3', u'links': [{u'href': u'http://controll...

centos7安装python 与卸载python

安装python 下载Python安装包 1 cd /usr/local/src 编译时要提前装好gcc编译器和zlib zlib-devel 1、下载文件 1 wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz 2、解压 1 tar -zxvf Python-3.6.0...

python爬虫——对爬到的数据进行清洗的一些姿势(5)

  做爬虫,当然就要用数据。想拿数据进行分析,首先清洗数据。这个清洗数据包括清除无用数据列和维度,删除相同数据,对数据进行勘误之类的。   从各大不同新闻网站可以爬到重复新闻。。。这个可以有。之前为了对爬到的新闻信息进行深度挖掘去了这个网站http://blog.reetsee.com/archives/237虽说没有对数据进行更进一步的挖掘,好歹有处理数...