-
python 发送邮件需要使用 smtplib email 这两个官方库。
import smtplib from email.mime.text import MIMEText from email.header import Header
1、发送普通的邮件
-
实现步骤:
-
第一步:创建一个 SMTP 的对象,连接到 SMTP 服务器
# 163邮箱的smtp服务器地址为:smtp.163.com,端口为:25 s = smtplib.SMTP("smtp.163.com" , 25)
-
第二步:登录 SMTP 服务器
mail_user = "邮箱账号" # 用户名 mail_pass = "授权码" # 密码 smtp.login(mail_user, mail_pass)
-
第三步::构建邮件内容
# 构建邮件内容 content = '本次测试通过率为88%' # 主题: Subject = "2019/6/18测试报告" # 发件人 From = 'a546245426@163.com' # 收件人 To = "测试人员" # 创建一个邮件 message = MIMEText(content, 'plain', 'utf-8') # 添加邮件主题 message['Subject'] = Header(Subject, 'utf-8') # 添加发件人 message['From'] = From # 添加收件人 message['To'] = To
-
第五步:发送邮件
-
```python # 发送邮件 smtp.send_message(msg=msg,from_addr="收件人邮箱地址",to_addrs="收件人邮箱地址") ```
一封普通的邮件发送步骤如上所示,但是邮件如果要带附件呢,比如将测试报告作为附件进行发送。应该怎么发送?代码为大家整理好了,参考如下:
2、发送带附件的邮件
244 x 170
带附件的邮件,完整代码如下
""" ============================ Author:柠檬班-木森 Time:2019/9/11 E-mail:3247119728@qq.com Company:湖南零檬信息技术有限公司 ============================ """ import smtplib from email.mime.text import MIMEText from email.header import Header from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart # 第一步: 连接到smtp服务器 smtp = smtplib.SMTP_SSL(host='smtp.163.com',port=465) # 第二步:登录smtp服务器 smtp.login(user='邮箱账号',password='授权码') # 第三步构建一封带附件的邮件 # 创建一封多组件的邮件 msg = MIMEMultipart() # 添加发件人 msg['From'] = "xxxxx@163.com" # 添加收件人 msg['To'] = "xxx<xxxxx@qq.com>" # 添加主题 msg['Subject'] = Header("带附件的测试邮件",charset='utf8') # 添加邮件文本内容 # 创建邮件文件内容对象 text_content = MIMEText("这封邮件是用来测试发送是否成功的,邮件中添加了测试报告的附件",_charset='utf8') # 把邮件的文本内容,添加到多组件的邮件中 msg.attach(text_content) # 添加附件 f_msg = open('报告文件','rb').read() app = MIMEApplication(f_msg) app.add_header('content-disposition', 'attachment', filename='python.html') msg.attach(app) # 发送邮件 smtp.send_message(msg=msg,from_addr="发件人邮箱地址",to_addrs="收件人邮箱地址")
大家只需要对上述代码进行一下封装就可以应该到我们自动化项目中了,当自动化脚本执完之后,调用发送邮件的方法,将报告作为附件发送出去。
作者:nmb_musen
链接:http://testingpai.com/article/1595507256531
来源:测试派
协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/