接口自动化-发送邮件
·
发送邮件常用到的模块smtplib,email
该部分了解即可,一般不用这么发送文件,jenkins集成以后,直接通过jenkins发送邮件
- 设置授权码
常识:咱们平时登录邮箱通过用户名和密码,但是如果通过代码发送邮件,需要在邮箱中设置授权码,通过授权码登录邮箱、发送邮件。
注意:QQ 邮箱一般默认关闭SMTP服务,我们得先去开启它。请打开https://mail.qq.com/,登录你的邮箱。然后点击位于顶部的【设置】按钮,选择【账户设置】,然后下拉到这个位置。

- 写一个发送邮件的类
# -*- encoding:utf-8 -*-
import smtplib
import time
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
#邮件发送的用户名和密码 常识:第三方授权访问
_user = 'xxxxx@qq.com'
_pwd = '第三方授权码'
now = time.strftime('%Y-%m-%d-%H-%M-%S') #获取时间戳
class SendEmail:
def send_email(self,email_to,filepath):
#email_to:收件人邮箱地址
#filepath:发送的附件地址
msg = MIMEMultipart()
msg["Subject"] = now + "测试报告" #主题
msg["From"] = _user
msg["To"] = email_to
# 文字部分
part = MIMEText("本次自动化测试报告,请查收",'plain','utf-8') #汉字防止出现乱码
msg.attach(part)
# 附件部分,只能发一个附件,需要多个附件,对下面代码做for循环
part = MIMEApplication(open(filepath, "rb").read()) #打开附件
part.add_header("Content-Disposition", "attachment", filename=filepath) #加头部信息
msg.attach(part)
# #多个附件
# path = ['1','2','3']
# for item in path:
# part = MIMEApplication(open(item, "rb").read())
# part.add_header("Content-Disposition", "attachment", filename=filepath)
# msg.attach(part)
# 发送
s = smtplib.SMTP_SSL("smtp.qq.com", timeout=30) # 连接SMTP邮件服务,默认端口是25
s.login(_user, _pwd) # 登录服务器
s.sendmail(_user, email_to, msg.as_string()) # 发送邮件
查看我们的收件箱,就可以查看到邮件信息:

更多推荐
所有评论(0)