Python+Selenium学习笔记19 - 自动发送邮件
发送简单的邮件
用一个QQ邮箱发送到另一个QQ邮件。
首先设置QQ邮箱,邮箱设置 -> 账号 开启SMTP服务,点击开启按钮,按提示进行操作,需要1毛钱的短信费。开启后如下所示

1 # coding = utf-8
2
3 import smtplib
4 from email.header import Header
5 from email.mime.text import MIMEText
6
7 # 发送邮箱
8 sender='12*****@qq.com'
9 # 发送密码,即开启smtp的授权码
10 psw='y****d'
11
12 # 接收邮箱
13 receiver='45*****@qq.com'
14 # 发送邮箱服务器
15 smtp_server='smtp.qq.com'
16
17 # 邮件正文,可编写HTML类型
18 msg=MIMEText('Hello,the test is finished, please check the attachment. Thanks','plain','utf-8')
19
20 # Header()来定义邮件标题
21 msg['From']=Header('Test Runner','utf-8')
22 msg['To']=Header('Test Monitor','utf-8')
23 msg['Subject']=Header('Test Result','utf-8')
24
25
26 server=smtplib.SMTP(smtp_server)
27 server.set_debuglevel(1)
28 server.starttls()
29 server.login(sender,psw)
30 server.sendmail(sender,receiver,msg.as_string())
31 server.quit()
运行结果如下


发送带附件的邮件
1 #-*- coding:utf-8 -*-
2
3 import smtplib
4 from email.header import Header
5 from email.mime.text import MIMEText
6 from email.mime.multipart import MIMEMultipart
7
8 # 发送邮箱
9 sender='12****@qq.com'
10 # 发送密码,即开启smtp的授权码
11 psw='yzpi****cid'
12
13 # 接收邮箱
14 receiver='45*****@qq.com'
15 # 发送邮箱服务器
16 smtp_server='smtp.qq.com'
17
18 file = open('E:\\Python-Project\\unittest\\Report\\log.txt','rb').read()
19 att = MIMEText(file, 'base64','utf-8')
20 att["Content-Type"] = 'application/octet-stream'
21 att["Content-Disposition"] = 'attachment; filename="log.txt"'
22 msgRoot = MIMEMultipart('related')
23 msgRoot.attach(att)
24
25 # Header()来定义邮件标题
26 msgRoot['From']=Header('Test Runner','utf-8')
27 msgRoot['To']=Header('Test Monitor','utf-8')
28 msgRoot['Subject']=Header('Test Result','utf-8')
29
30
31 server=smtplib.SMTP(smtp_server)
32 server.set_debuglevel(1)
33 server.starttls()
34 server.login(sender,psw)
35 server.sendmail(sender,receiver,msgRoot.as_string())
36 server.quit()
运行结果

Python+Selenium学习笔记19 - 自动发送邮件的更多相关文章
- Python+Selenium学习笔记15 - 读取txt和csv文件
读取txt的内容并用百度查找搜索 1 # coding = utf-8 2 3 from selenium import webdriver 4 import time 5 6 # 打开浏览器 7 d ...
- python+selenium生成测试报告后自动发送邮件
标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...
- python + selenium 学习笔记 -摘要
一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大 ...
- Python+Selenium学习笔记17 - HTML测试报告
运行少量case时 1 # coding = utf-8 2 3 from selenium import webdriver 4 import unittest 5 import time 6 fr ...
- Python+Selenium学习笔记11 - python官网的tutorial - 定义函数
1 def f(a, L=[]): 2 L.append(a) 3 return L 4 5 print f(5) 6 print f(2) 输出 1 def f(a, L=None): 2 if L ...
- Python+Selenium学习笔记12 - 窗口大小和滚动条
涉及到的三个方法 set_window_size() 用于设置浏览器窗口的大小 e.gset_window_size(600,600) window.scrollTo() 用于设置浏览器窗口滚动条的 ...
- Python+Selenium学习笔记9 - 警告框处理
如下图所示,这种窗口是不能通过前端工具对其进行定位的,这里可以通过switch_to_alert()方法去接受这个弹窗 1 # coding = utf-8 2 3 from selenium imp ...
- Python+Selenium学习笔记8 - 多表单&多窗口切换
1.多表单切换 下图为待测页面:内嵌百度首页 切换到百度首页进行操作 1 # coding = utf-8 2 3 from selenium import webdriver 4 import os ...
- Python+Selenium学习笔记5 - python官网的tutorial - 交互模式下的操作
这篇笔记主要是从Python官网的Tutorial上截取下来,再加上个人理解 1. 在交互模式下,下划线'_'还可以表示上一步的计算结果 2.引号转义问题. 从下图总结的规律是,字符串里的引号如果和引 ...
随机推荐
- 1076 Forwards on Weibo
Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and may ...
- 【Feign/Ribbon】记录一次生产上的SpringCloudFeign的重试问题
在上周在的微供有数项目中(数据产品),需要对接企业微信中第三方应用,在使用Feign的去调用微服务的用户模块用微信的code获取access_token以及用户工厂信息时出现Feign重试超时报错的情 ...
- C#-CMD
private static string InvokeCmd(string cmdArgs) { string Tstr = ""; Process p = new Proces ...
- C#/VB.NET 自定义动画路径
PPT中的动画效果可分为已有内置动画以及自定义动画.设置内置动画,只需直接指定动画效果类型即可.本文主要介绍如何实现自定义动画,即自定义形状动作线性路径.附C#及VB.NET代码供参考. 程序运行环境 ...
- php 获取某年后的日期
比如两年后:date('Y-m-d',strtotime('+2 year')) 月份year改成month
- Django(17)orm查询操作
前言 查找是数据库操作中一个非常重要的技术.查询一般就是使用filter.exclude以及get三个方法来实现.我们可以在调用这些方法的时候传递不同的参数来实现查询需求.在ORM层面,这些查询条件都 ...
- linux跨文件复制粘贴
跨文件是这样的: 复制a.txt的第20行至第30行到b.txt中vi a.txt:2010yy:e b.txtp
- Beta设计和计划 —— NameNotFound
需求再分析 1. 用户群体 经过用户(大多数是同学)的反馈,我们发现大家其实并不是十分明确我们要做的到底是什么.具体要怎么用.而实际上我们的典型用户也并不是学生群体,因此出现这些偏差也是很正常的,毕竟 ...
- Java语言的三大特性
Java语言的三大特性 1.封装 1.1 概念: 封装也成为信息异常,隐藏对象的属性和实现细节,仅对外公开接口(外部不可以直接看到对象的属性细节并且不能直接更改属性的值,只能通过方法来读取或更改属性 ...
- 交互-通过axios拦截器添加token认证
通过axios拦截器添加token认证 一.通过axios请求拦截器添加token,保证拥有获取数据的权限 通常访问接口需要相关权限,通常是需要携带token如下所示 那如何在请求头中添加token? ...