unittest(23)- python发邮件

Posted come202011

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unittest(23)- python发邮件相关的知识,希望对你有一定的参考价值。

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

# 邮件发送的用户名和密码 常识:第三方授权码
_user = "1399630688@qq.com"
_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

        # 这是正文部分
        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__":
    SendEmail().send_email("lhclouds@163.com", "H:python_lemonREADME.md")

  

以上是关于unittest(23)- python发邮件的主要内容,如果未能解决你的问题,请参考以下文章

python 生成测试报告并发送邮件

python+selenium+unittest测试框架4-邮件发送最新测试报告

python+selenium+unittest测试框架3-项目构建和发送邮件

Python如何一行代码自动发邮件

Python发邮件

python编码发邮件