python smtplib模块自动收发邮件功能(一)
程序员文章站
2024-01-11 22:46:16
自动化测试的脚本运行完成之后,可以生成test report,如果能将result自动的发到邮箱就不用每次打开阅读,而且随着脚本的不段运行,生成的报告会越来越多,找到最近的...
自动化测试的脚本运行完成之后,可以生成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模块的自动收发邮件功能应用到我们的自动化测试过程中,且看下回分解。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。