python smtplib模块自动收发邮件功能(一)
作者:liujingqiu 发布时间:2021-04-16 07:11:18
标签:python,smtplib,邮件
自动化测试的脚本运行完成之后,可以生成test report,如果能将result自动的发到邮箱就不用每次打开阅读,而且随着脚本的不段运行,生成的报告会越来越多,找到最近的报告也是一个比较麻烦的事件;如果能自 动的将结果发到项目相关人员的邮箱,这也是个不错的选择。
python 的 smtplib 模块提供了一种很方便的途径发送电子邮件。
关于Python smtplib的介绍,可以从python应用程序的帮助文档,可以查看到smtp协议的各个封装。
分几部分介绍。
一、文件形式的邮件
直接上脚本
#coding=utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header
'''发送邮箱'''
sender = 'abc@cieXXX.com' #企业263邮箱
'''接收邮箱'''
receiver = '123456@qq.com'
'''发送邮件主题'''
subject = 'python email test'
'''发送邮箱服务器'''
smtpserver = 'smtp.263xmail.com'
'''发送邮箱用户/密码'''
username = 'abc@cieXXX.com'
password = '123456'
'''中文需参数‘utf-8' ,单字节字符不需要'''
msg = MIMEText('你好!','text','utf-8')
msg['Subject'] = Header(subject, 'utf-8')
smtp = smtplib.SMTP()
smtp.connect('smtp.263xmail.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
print ("Email has been sent out!")
F5,运行得到,如图所示:
邮件内容,如图所示:
这样就实现了text形式邮件的自动发送功能。
二、HTML形式的邮件
HTML形式与Text形式实现起来,脚本类似,只是文件的表现形式不一样,相比Text形式的脚本,针对HTML形式的邮件的脚本改动很少。
直接上脚本:
#coding=utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header
'''发送邮箱'''
sender = 'abc@cieXXX.com' #企业263邮箱
'''接收邮箱'''
receiver = '123456@qq.com'
'''发送邮件主题'''
subject = 'python email test'
'''发送邮箱服务器'''
smtpserver = 'smtp.263xmail.com'
'''发送邮箱用户/密码'''
username = 'abc@cieXXX.com'
password = '123456'
'''中文需参数‘utf-8' ,单字节字符不需要'''
msg=MIMEText('<html><hl>Hello World!<hl></html>','html','utf-8')
msg['Subject'] = Header(subject, 'utf-8')
smtp = smtplib.SMTP()
smtp.connect('smtp.263xmail.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
print ("Email has been sent out!")
F5,运行得到,如图所示:
打开邮箱,如图所示:
打开邮件内容,如图所示:
OK,就这样实现了两种邮件形式的自动发送功能。
关于如何将python smtp模块的自动收发邮件功能应用到我们的自动化测试过程中,且看下回分解。
来源:https://blog.csdn.net/liujingqiu/article/details/50973405


猜你喜欢
- 这篇文章主要介绍了python几种常用功能实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- sql语句查询数据库中的表名/列名/主键/自动增长值 ----查询数据库中用户创建的表 ----jsj01 为数据库名 select nam
- 一、开头匹配从字符串开头开始匹配返回匹配对象;如果找不到匹配,则为Noneimport reprint(re.match('飞兔小哥
- 官方文档settings.py配置REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLASSE
- 本文以实例详解了python的迭代器与生成器,具体如下所示:1. 迭代器概述: 迭代器是访问集合元素的一种方式。迭代器对象从集合的
- mktime()方法是localtime()反函数。它的参数是struct_time或全9元组,它返回一个浮点数,为了兼容时ti
- mysql-5.7.23-winx64 解压版详细安装教程,供大家参考,具体内容如下1、Click here to download Mys
- 前言我们经常会与文件和目录打交道,对于这些操作python提供了一个os模块,里面包含了很多操作文件和目录的函数。在写一些系统脚本或者自动化
- 在Python中,任何类型的对象都可以做真值测试,并且保证返回True或者False。以下几种值(不论类型)在真值测试中返回False:1.
- --******************************************************* --* 分页存储过程 *
- 相对于C++的继承编写,Python更简洁,而且效率也是很高的,下面编写一个简单Python的继承例子。#!/usr/bin/python&
- 三个页在同一个窗口,分别为main.htm,left.htm和right.htm。 main.htm <html> <he
- 本文实例展示了Python生成日历的实现方法。该实例可实现一个月的日历生成5x7的列表,列表里的没个日期为datetime类型,采用pyth
- 1.多选按钮的方法以下为常用的方法:方法描述deselect()清除多选按钮选中选项。flash()在激活状态颜色和正常颜色之间闪烁几次多选
- 将套接字流重定向到标准输入或输出流#!/usr/bin/env python3"""测试socket-stre
- 我从11岁开始编程,并且一直都很喜欢技术和编程。这些是我一直以来获得的经验教训。作为一个程序员,你可能需要这样的忠告。我更希望每个人在获取这
- 阅读上一篇:[译]Javascript风格要素(一) 我们使用习惯用法可以使我们的意图更加的清晰和简洁。使用==时,当心强制转换考虑下面函数
- Python来进行查询和替换一个文本字符串?可以使用sub()方法来进行查询和替换,sub方法的格式为:sub(replacement, s
- 一、token是什么 Token: 访问资源的凭证。一般用户通过用户名密码登录后,服务端会将登录凭证做数字签名,加密之后的字符串作
- 一、获取Tensor神经网络在运算过程中实际上是以Tensor为格式进行计算的,我们只需稍稍改动一下forward函数即可从运算过程中抓到T