在测试工作中,我们总是想法设法要提高自己的工作效率,比如下班后自动发送工作邮件
在自动化测试中,我们也会经常使用自动发送邮件的方式来进行提高执行的效率,实现无人看管,那么我们就可以使用市场主流的python编程,就可以实现这个目标.
需要下载邮箱的库,封装发送消息的库,还有请求头的库.
具体代码如下:
import smtplib #导入邮箱的库
from email.mime.text import MIMEText #封装发送消息的库
from email.header import Header #添加请求头的库
#第三方SMTP服务
mail_host = 'smtp.qq.com' #smtp服务地址
from_addr = 'xxxxxxx@qq.com' #发送人邮箱
mail_pass = 'xxxxxxxxxx'#发件人邮箱授权码
to_addrs= ['xxxxxxxx@qq.com'] #收件人邮箱 列表 可以传多个值
#1发送纯文本的信息
#发送的消息
# text_msg = MIMEText('python邮件发送测试……','plain','utf-8')
# #发送人的头部
# text_msg['From'] = Header('松勤','utf-8')
# #接受人的头部
# text_msg['To'] = Header('测试','utf-8')
# #添加邮件的主题
# text_msg['Subject'] = Header('python smtp 邮件测试','utf-8')
#2发送HTML格式的邮件
# mail_msg = """
# <h1>python 邮件发送测试……</h1>
# <p><a href='https://www.baidu.com'>百度链接</a></p>
# message = MIMEText(mail_msg,'html','utf-8')#转换成HTML格式的消息
# message['From'] = Header('松勤','utf-8')#发送人头部
# message['To'] = Header('测试','utf-8')#接受人头部
# message['Subject'] = Header('python smtp邮件测试','utf-8')
#3发送带附件的邮件
from email.mime.image import MIMEImage #导入图片消息
from email.mime.multipart import MIMEMultipart #发送附件和内容要拼接
message = MIMEMultipart()#创建一个实例
message['From'] = Header('松勤','utf-8')#发送人头部
message['To'] = Header('测试','utf-8')#收件人头部
message['Subject'] = Header('python 图片附件方式测试','utf-8')#邮件主题
text_msg = MIMEText('python 邮件测试','plain','utf-8')#内容
message.attach(text_msg)
imageFile = '百度一下.png'#附件图片路径
with open(imageFile,'rb') as f:#读取文件里面的内容
content = f.read()
image_text = MIMEImage(content,imageFile.split('.')[-1])#包裹发送邮件里的内容
image_text.add_header('Content-Disposition','attachment',filename=imageFile)
#Content-Disposition为了让附件显示出来 attachment为了附件可以预览和下载
message.attach(image_text)
#发送邮件操作
try:
smtp_obj = smtplib.SMTP()#初始化smtp实例对象
smtp_obj.connect(mail_host,25)#连接smtp服务器
smtp_obj.login(user=from_addr,password=mail_pass)#登录服务器 from_addr是用户名 mail_pass授权码
smtp_obj.sendmail(from_addr,to_addrs,message.as_string())#发送邮件 三个参数是发件人、收件人、邮件消息
print('发送邮件成功')
except:
print('error 无法发送邮件')