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 = "[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

        # 这是正文部分
        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("[email protected]", "H:\python_lemon\README.md")

  

猜你喜欢

转载自www.cnblogs.com/come202011/p/12235572.html