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.引号转义问题. 从下图总结的规律是,字符串里的引号如果和引 ...
随机推荐
- 04- 移动APP功能测试要点以及具体业务流程测试
5.离线测试: 离线是应用程序在本地的客户端会缓存一部分数据以供程序下次调用. 1.对于一些程序,需要在登录进来后,这是没有网络的情况下可以浏览本地数据. 2.对于无网络时,刷新获取新数据时,不能获取 ...
- nginx添加module之threads
一.安装nginx yum安装nginx 折叠源码 1 2 3 4 5 6 7 8 9 10 11 12 # 添加nginx源 rpm -ivh http://nginx.org/packages/c ...
- hdu4717 三分(散点的移动)
题意: 给你一些点,这些点有各自的初始位置,移动速度和方向,问你什么时候任意两点中最长的距离最小,求时刻和此时的距离.. 思路: 感觉题目很赞,一开始想不到三分,因为么有办法证明他 ...
- android dalvik浅析一:解释器及其执行
dalvik是android中使用的虚拟机,基于寄存器,分析基于android4.2源代码.本篇主要分析的是dalvik中的解释器部分,源码位于/dalvik/vm,主要代码在interp和mterp ...
- Python中的optparse模块的使用
optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 实例化一个 OptionParser 对象(可以带参,也可以不带参数),带参的话会把参数变量的内容作为帮助信息输 ...
- 不安全的HTTP方法
我们常见的HTTP请求方法是GET.POST和HEAD.但是,其实除了这两个之外,HTTP还有一些其他的请求方法. WebDAV (Web-based Distributed Authoring an ...
- 一个不错的过TP思路,转载CSDN
也许大家也是研究腾讯游戏的爱好者,对腾讯的游戏都有过这样的体会 例如OD与CE无法进行如以下操作: 无法附加进程, 无法打开进程, 游戏进程被隐藏无法在工具中查看到,内存无法读取代码 内存修改后游 ...
- Win64 驱动内核编程-16.WFP网络监控驱动(防火墙)
WFP驱动监控网络 WFP 是微软推出来替代 TDI HOOK.NDIS HOOK 等拦截网络通信的方案,WFP 的框架非常庞大,在 RING3 和 RING0 各有一套类似的函数,令人兴奋的是,即使 ...
- 【Android Jetpack高手日志】DataBinding 从入门到精通
前言 DataBinding 数据绑定库是 Android Jetpack 的一部分,借助该库可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源.我个人觉得,使用 DataBin ...
- uni-app&H5&Android混合开发二 || 使用Android Studio打包应用APK
前言: 在上一章节我们已经讲了如何uni-app离线打包Android平台教程,这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了. 第一步.首先打开 ...