zoukankan      html  css  js  c++  java
  • 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('发送成功')
  • 相关阅读:
    1347: Last Digit (周期函数)
    1363: Count 101 (经典数位dp)
    1360: Good Serial Inc.(不知道是什么类型的题)
    C#winForm调用WebService的远程接口
    Web Service 的创建简单编码、发布和部署
    极致精简的webservice集成例子
    SVN使用教程总结
    C# int.Parse()与int.TryParse()
    C# 函数1 (函数的定义)
    C#中的委托和事件
  • 原文地址:https://www.cnblogs.com/dongrui624/p/9068519.html
Copyright © 2011-2022 走看看