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_lemon\README.md")

  

unittest(23)- python发邮件的更多相关文章

  1. python发邮件遇到的端口号问题

    在学习使用python发邮件的过程中, 遇到了一个问题:由于测试的时候使用的是QQ邮箱,要求必须使用SSL/TLS加密,所以有了下面的代码, from email.mime.text import M ...

  2. 使用python发邮件

    使用python发邮件 网上有很多发邮件的例子,本人在网上找了一份,稍加修改后使用 上源码 # encoding=utf-8 from email.mime.image import MIMEImag ...

  3. 如何用python发邮件

    python发送各类邮件的主要方法 一.相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍:     1.smtplib模块 smtplib.SM ...

  4. Python 发邮件例子

    Python 发邮件例子 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019-04-23 16:12:33 # @Autho ...

  5. [转]简单三步,用 Python 发邮件

    https://zhuanlan.zhihu.com/p/24180606 0. 前言 发送电子邮件是个很常见的开发需求.比如你写了个监控天气的脚本,发现第二天要下雨,或者网站上关注的某个商品降价了, ...

  6. Python—发邮件总结

    来自: http://my.oschina.net/jhao104/blog/613774 1.登录SMTP服务器 首先使用网上的方法(这里使用163邮箱,smtp.163.com是smtp服务器地址 ...

  7. 人生苦短之Python发邮件

    #coding=utf-8 import smtplib from email.mime.base import MIMEBase from email.mime.image import MIMEI ...

  8. python 发邮件-带附件-文本-html

    #!/usr/bin/python # encoding=utf-8 # Filename: send_email.py from email.mime.image import MIMEImage ...

  9. python 发邮件 utf-8

    import smtplib from operator import itemgetter, attrgetter from email.mime.text import MIMEText from ...

随机推荐

  1. 将元素平分成差值最小的两个集合(DP)

    现有若干物品,要分成较为平均的两部分,分的规则是这样的: 1)两部分物品的个数最多只能差一个. 2)每部分物品的权值总和必须要尽可能接近. 现在请你编写一个程序,给定现在有的物品的个数以及每个物品的权 ...

  2. 题解 洛谷P2158 【[SDOI2008]仪仗队】

    本文搬自本人洛谷博客 题目 本文进行了一定的更新 优化了 Markdown 中 Latex 语句的运用,加强了可读性 补充了"我们仍不曾知晓得 消失的 性质5 ",加强了推导的严谨 ...

  3. 201412-1 门禁系统 Java

    类似于201312-1 出现次数最多的数,了解一下Map的containsKey方法和containsValue方法 **containsKey** boolean containsKey(Objec ...

  4. TF分布式问题

    碰到一个没解决的问题. 用tensorflow 分布式异步更新模式训练模型, 模型中带正则项, 每个batch的损失函数为 \[\lambda \|W\|_1 + \frac 1 {N_j} \sum ...

  5. android测量的三种模式

    测量模式有三种引用官方的解释如下 UNSPECIFIED The parent has not imposed any constraint on the child. It can be whate ...

  6. JavaSE--异常信息打印

    最近项目用到第三方jar包,抛出运行时异常,打在日志用的 方法.得到的错误描述并不详尽,遂想到平时用的 发现其可以重定向输出,平时用流多是和文件相关,但是在当前背景下用文件打开流显得不是很合适,翻了下 ...

  7. pix2pix-tf官方文档

    # 对抗网络的基本思想 # 假设有一种概率分布M,它相对于我们是一个黑盒子.为了了解这个黑盒子中的东西是什么,我们构建了两个东西G和D, # G是另一种我们完全知道的概率分布,D用来区分一个事件是由黑 ...

  8. 92.QuerySet API中的切片操作详细使用

    切片操作: 使用情况分析:在我们的CSDN的个人主页会显示我们个人发布的多篇文章(20篇),如果还想查看更多,就可以点击最下方的"查看更多"按钮,在这里对首页的文章的个数的限制就用 ...

  9. Properties类(一)

    Java中读写资源文件最重要的类是Properties,功能大致如下: 1. 读写Properties文件 2. 读写XML文件 3. 不仅可以读写上述两类文件,还可以读写其它格式文件如txt等,只要 ...

  10. Android开发学习2--Android Studio目录结构、Module目录介绍、Android创建及运行和HelloWord的扩展----极其简单的游戏界面

    学习笔记: 1.Android Studio项目结构 Android Studio提供了很多项目结构,最常用的是Android 和 project Project列举出了所有文件. 建议使用Andro ...