MOOC(7)- case依赖、读取json配置文件进行多个接口请求-发送测试报告邮件(19)

给多个人发邮件时,可以传入邮箱列表

把多个收件人用分号隔开

# -*- coding: utf-8 -*-
# @Time : 2020/2/15 17:02
# @File : send_mail_19.py
# @Author: Hero Liu
import smtplib
import time
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication

# 邮件发送的用户名和密码 常识:第三方授权码
_user = "[email protected]"
_pwd = "ycsrylfcyrxhhaeh" # 这是授权码

now = time.strftime("%Y-%m-%d_%H_%M_%S") # 获取时间戳


class SendEmail:
def send_email(self, email_to, filepath):
# email_to收件人
# filepath 准备发送的附件的地址
# Multipart分多个部分
msg = MIMEMultipart()
msg["Subject"] = now + "lhui的测试报告"
msg["From"] = _user
# msg["To"] = email_to
# 表示如果有多个收件人时,用分号分隔,用分号的原因是实际手动发邮件选择多个收件人时,也是分号分隔的
msg["To"] = ";".join(email_to)

# 这是正文部分
part = MIMEText("这是自动化测试报告结果,请查收!")
msg.attach(part)

# 这是附件部分,上传一个附件
# 这里必须是上传的文件,不可以是文件夹,需是完整的路径
part = MIMEApplication(open(filepath, "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()) # 发送邮件

# 上传多个附件的方法:把多个文件放在列表里,或者是获取文件夹下的文件列表
# path = ["1", "2", "3"] # 假设这是文件列表
# for item in path:
# part = MIMEApplication(open(item, "rb").read())
# part.add_header("Content-Disposition", "attachment", filename=item)
# 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()) # 发送邮件


if __name__ == "__main__":
email_to = ["[email protected]", "[email protected]"]
SendEmail().send_email(email_to, r"H:\python_lemon\day_20200208_mooc\data\result.html")

猜你喜欢

转载自www.cnblogs.com/come202011/p/12315133.html
今日推荐