Python3学习笔记-发送邮件

       自动化测试时,需要测试用例执行完成后,自动发送测试报告。之前有看过python自带的smtplib模块可进行发送邮件,直接import smtplib就可以使用,教程可参见:Python3 SMTP发送邮件。但是smtplib模块使用时比较繁琐,本文推荐使用yagmail这个第三方模块,用法简化很多。

一、安装

       pip install yagmail

二、邮箱设置

  1、邮箱打开smtp服务,以QQ邮箱为例:邮箱 - 设置 - 账户 - POP/SMTP服务 开启

  2、根据提示进行生成授权码

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

import yagmail
username='62@qq.com'
passwd='wtvlefpe'  # 有授权码的邮箱填授权码,没有授权码的填邮箱登录密码
mail=yagmail.SMTP(user=username,
                  password=passwd,
                  host='smtp.qq.com',
                  # port=25,  #ports可以不用传,会自动用默认的,一般不会改port,默认端口号一般是25或者456
                  smtp_ssl=True)  # 如果用的是QQ邮箱的话,需要加smtp_ssl(使用的安全协议),126/63邮箱不需要
mail.send(
    # to='51@qq.com',  # to 收件人,如果多个收件人的话,可以写成list;单个收件人只需要用字符串
    to=['51@qq.com','62@qq.com'],
    cc='36@qq.com',  # 抄送者
    subject='学习发送邮件_封封',   # 邮件标题
    contents='你好,你今天开心吗?',   # 邮件正文
    attachments=[r'测试用例',r'测试结果','F:\homework3.py']   # 发送附件,传的是绝对路径(绝对路径前加r,可以防止不把特殊字符\n转义,多个附件用list
          )

 

posted on 2018-05-23 15:11  fengyelan2233  阅读(140)  评论(0编辑  收藏  举报

导航