16 python学习笔记-发送邮件
时间:2019-11-27
本文章向大家介绍16 python学习笔记-发送邮件,主要包括16 python学习笔记-发送邮件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在我们跑完自动化脚本生成测试报告后会有发送邮件给相关人员的需求,python发送邮件有原生的smtplib和email库,但添加附件的时候,需要自己设置MIME, 代码最少也会有十多行, 不太方便,本章主要介绍python中如何使用更方便的yagmail库来发送邮件。
一、yagmail的安装
直接使用pip install yagmail安装即可
二、发邮件前邮箱配置准备
写代码之前,要对发邮件的邮箱进行设置,开启SMTP服务,获取到授权码。yagmail模块发送邮件时使用的密码就是授权码,而不是我们平时使用的邮箱登录密码。
以qq邮箱为例:在设置--账户---SMTP服务---生成授权码----发送短信设置授权码,发送邮件的时候使用这个授权码就可以了
163邮箱获取授权码的方法也类似,设置---客户端授权密码---开启---生成授权码---发送短信配置授权码
三、用yagmail模块自动发送邮件
1 import yagmail
2
3 username = '123456@163.com'#邮箱账号
4 passwd = '123456789'#授权码,不是邮箱密码
5 smtp = yagmail.SMTP(user=username,
6 password=passwd,
7 host='smtp.163.com',#其他服务器就smtp.qq.com smtp.126.com
8 # smtp_ssl=True
9 ) #如果用的是qq邮箱或者你们公司的邮箱使用是安全协议的话,必须写上 smtp_ssl=True
10 smtp.send(
11 #如果多个收件人的话,写成list就行了,如果只是一个账号,就直接写字符串就行to='12345678@qq.com'
12 to=['40000111@qq.com','cdaabkdk@163.com'],
13 cc='21524555@qq.com',#抄送
14 subject='发送邮件的标题',#邮件标题
15 contents='你好,你今天开心吗?',#邮件正文
16 attachments=[r'D:\python\作业\作业.txt',#附件如果只有一个的话,用字符串就行,attachments=r'C:\\pp\\b.txt'
17 r'D:\python\作业\造日志的脚本.py'])
18 print('发送成功')
原文地址:https://www.cnblogs.com/cocomoly/p/11943701.html
- Hadoop数据分析平台实战——100HBase和MapReduce整合离线数据分析平台实战——100HBase和MapReduce整合
- Hadoop数据分析平台实战——120Hive Shell命令介绍 01(熟悉Hive略过)离线数据分析平台实战——120Hive Shell命令介绍 01(熟悉Hive略过)
- HUST 1588 辗转数对
- HUST 1584 摆放餐桌
- HUST 1585 排队
- 【QQ/微信个人号变身机器人】炸群+远程监控个人PC的尝试
- HUST 1583 长度单位
- FZU 2167 大王叫我来巡山呐
- HDU 1021 Fibonacci Again
- Hadoop数据分析平台实战——180Oozie工作流使用介绍离线数据分析平台实战——180Oozie工作流使用介绍
- 博弈论及算法实现
- Hadoop数据分析平台实战——160Sqoop介绍离线数据分析平台实战——160Sqoop介绍
- HDU 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
- Hadoop数据分析平台实战——150Flume介绍离线数据分析平台实战——150Flume介绍
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android编程使用光线传感器获取光线强弱的方法【LightSensorManager封装类】
- Android开发中的重力传感器用法实例详解
- 腾讯云TKE-Ingress案例: Nginx-Ingress 实现grpc转发
- 机器人软件中间层 yarp-Yet Another Robot Platforms
- 3分钟短文:Laravel写个命令行,你就是下一个Geek!
- Android开发多年每天Crud不清楚自己的技术?来刷刷大厂的高端技术面试题就知道了
- MySQL案例:count(*)效率优化
- MUI进行APP混合开发实现下拉刷新和上拉加载 原创
- Android 给控件添加边框阴影效果
- 详解Android Selinux 权限及问题
- Android图片采样缩放功能实例代码
- Android开发中使用Intent打开第三方应用及验证可用性的方法详解
- Android 7.0开发获取存储设备信息的方法
- Android中默认系统的声音/大小修改和配置详解
- Android开发中计算器的sin、cos及tan值计算问题分析