#-*- coding:utf-8 -*- # 倒包 # 使用的协议 smtp import smtplib # 导入body需要的模块 from email.mime.text import MIMEText # 导入上传附件的类 from email.mime.multipart import MIMEMultipart # 导入 head 设置标题用的 from email.header import Header import datetime import codecs # 声明类 # 定义封装发送邮件的方法 def send_email(): # 指定发送邮件和接收邮件的邮箱 # 发送邮件的用户 sender = "***@163.com" # 接收邮件的用户,可以是一个人也可以是多个人,以逗号隔开 recever = "***@***.com,***@***.com" # 登陆 smtp服务器邮箱的用户名 和 密码 (注意这里是授权码) username = "***@163.com" password = "***" # 发送邮件服务器 smtpserver = "smtp.163.com" # 获取当前日期 day = datetime.date.today().strftime("%Y-%m-%d") 创建一个文本文件 s = day + "\\" + "***.txt" f = codecs.open(s, 'r+', encoding='utf-8') # f = open(s, "r") str = f.read() f.close() # 读取传入报告的时候的方法 # 读取测试报告的内容 # with open(filename, "rb") as f: # # 作为一个字符串读取出来,这俩句话等价于下面两句话 # mail_body = f.read() # # 关流 # f.close() # # 以只读的方式打开 # f = open(filename, 'rb') # # 进行读取 # mail_body = f.read() ret = True try: # 实例化 MIMEMultipart 对象,将文件传入进去 # 定义邮件内容 msg = MIMEMultipart() # 将自动化测试报告添加到正文里面 # body = MIMEText(mail_body, _subtype='html', _charset='utf-8') msg['Subject'] = 'result' msg['from'] = sender msg['to'] = recever # 加上时间戳,好像没什么卵用 # msg["date"] = time.strftime('%a, %d %b %Y %H:%M:%S %z') # 加入到 MIMEMultipart 里面 # msg.attach(body) # 设置body的信息 thebody = MIMEText(str, 'plain', 'utf-8') msg.attach(thebody) #添加附件 att = MIMEText(open(s).read(), "base64", "gbk") att["Content-Type"] = "application/octet-stream" att["Content-Disposition"] = 'attachment; filename="printlog.txt"' msg.attach(att) #登录邮箱 # smtp = smtplib.SMTP() smtp=smtplib.SMTP_SSL() #连接邮箱服务器 smtp.connect(smtpserver, 465) #用户名密码 smtp.login(username, password) smtp.sendmail(sender, recever.split(','), msg.as_string()) smtp.quit() except Exception: ret = False return ret send_email()
python读取文本以邮件发送方法
最新推荐文章于 2022-10-28 14:39:19 发布