首页 > 编程语言 > 详细

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

时间:2018-05-21 18:36:18      阅读:196      评论:0      收藏:0      [点我收藏+]

  在自动化测试的时候,有时需要用例执行完,自动发送测试报告。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,rD:\workspace\python\test.txt],
    #附件,多个附件写成list,绝对路径前用r,防止\n转义
    #如果是win10绝对路径用两个\\就可以了D:\\workspace\\python\\test.txt
)
print(发送成功)

 

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

原文:https://www.cnblogs.com/dongrui624/p/9068519.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!