• Python学习笔记二十_发送邮件


      在自动化测试的时候,有时需要用例执行完,自动发送测试报告。Python发送邮件可以使用smtplib标准模块,但该模块比较繁琐,推荐使用yagmail这个第三方模块,用法简化很多。

    一、邮箱设置

      1、在邮箱设置里打开smtp服务

      2、开启邮箱授权码

        并不是所有邮箱都有邮箱授权码。163邮箱授权码可以自己输入,qq邮箱授权码是随机码,新浪邮箱则没有邮箱授权码,直接通过登录密码发送邮件。

    二、利用yagmail实现发送邮件

    需要注意的是:

      1、yagmail实际是封装了smtplib模块,来实现的邮件发送功能

      2、直接下载的yagmail模块,发送中文附件时标题乱码(解决这个问题,需要修改模块源码)

    yagmail的使用如下

    import yagmail
    username = 'abc@163.com'
    passwd = '123456'#有授权码的邮箱填授权码,没有授权码的填登录密码
    #实例化
    mail = yagmail.SMTP(user=username,
                        password=passwd,
                        host='smtp.163.com',
                        #smtp_ssl = True,#用安全协议的邮箱需要指定,如qq邮箱
                        # #port = 25#默认端口号不用改,25或者465
                        )
    #调用实例方法
    mail.send(
        to=['123@qq.com','321@qq.com'],#如果是多个收件人的话,写成list就行
        cc='456@qq.com',#抄送
        subject='这是主题',#邮件标题
        contents='我是正文',#邮件正文
        attachments=['tmp.py',r'D:workspacepython	est.txt'],
        #附件,多个附件写成list,绝对路径前用r,防止
    转义
        #如果是win10绝对路径用两个\就可以了D:\workspace\python\test.txt
    )
    print('发送成功')
  • 相关阅读:
    Solr服务在Linux上的搭建详细教程
    Linux服务器上安装JDK小白教程
    request和response中文乱码问题后台处理办法
    Redis的五种数据类型及方法
    Java类装载器ClassLoader
    Git快速入门和常用命令
    redis在Linux上的部署和jedis简单使用
    Linux常用基础命令
    JDK1.7中HashMap底层实现原理
    微信电脑版无法显示图片无法下载文件
  • 原文地址:https://www.cnblogs.com/dongrui624/p/9068519.html
Copyright © 2020-2023  润新知