自动定时发送邮件(自动化测试报告附件)代码精简版

import smtplib
import time
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
import schedule
import time

# 邮件发送的用户名和密码  常识:第三方授权码
_user = "@163.com"
_pwd = ""

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 + "_Webservice Test Report --from Steve"
        msg["From"] = _user
        msg["To"] = 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.163.com", timeout=30)  # 连接smtp邮件服务器,端口默认是25
        s.login(_user, _pwd)  # 登陆服务器
        s.sendmail(_user, email_to, msg.as_string())  # 发送邮件
        s.close()


test1 = sendEmail()

test1.send_email("@qq.com", "12.xlsemp")


# 引入schedule和time模块
def job():
    test1.send_email("@qq.com", 'EMP.xls')


# 定义一个叫job的函数
# schedule.every(10).seconds.do(job)  # 每10s执行一次job()函数
schedule.every().day.at('23:59').do(job)
while True:
    schedule.run_pending()
    time.sleep(5)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值