【Selenium学习】自动发送邮件功能_python+selenium怎么自动发邮件

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

自动发送邮件功能是自动化测试项目的重要需求之一,当自动化测试用例运行完成之

后,可自动向相关人员的邮箱发送测试报告。

SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,是一组由源地址到目的

地址传送邮件的规则,可以控制信件的中转方式。Python 的 smtplib 模块提供了简单的 API

用来实现发送邮件功能,它对 SMTP 进行了简单的封装。

在给其他人发送邮件之前,首先需要有一个自己的邮箱。通过浏览器打开邮箱网址(如 www.126.com),或打开邮箱客户端(如 Foxmail),登录自己的邮箱账号。如果是邮箱客户端,则还需要配置邮箱服务器地址(如 smtp.126.com)。然后填写收件人地址、邮件的主题和正文,以及添加附件等。即便通过 Python 实现发送邮件功能,也需要设置这些信息。

Python 自带的发送邮件功能

在发送邮件时,除填写主题和正文外,还可以增加抄送人、添加附件等。这里我们分

别把测试报告作为正文和附件进行发送。

1.发送邮件正文

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 发送邮件主题
subject = 'Python email test'

# 编写 HTML 类型的邮件正文
msg = MIMEText('<html><h1>你好!</h1></html>', 'html', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8')

# 发送邮件
smtp = smtplib.SMTP()
smtp.connect("smtp.126.com")
smtp.login("sender@126.com", "a123456")
smtp.sendmail("sender@126.com", "receiver@126.com", msg.as_string())
smtp.quit()

首先,调用 email 模块下面的 MIMEText 类,定义发送邮件的正文、格式,以及编码。

然后,调用 email 模块下面的 Header 类,定义邮件的主题和编码类型。

smtplib 模块用于发送邮件。connect()方法指定连接的邮箱服务;login()方法指定登录

邮箱的账号和密码;sendmail()方法指定发件人、收件人,以及邮件的正文; quit()方法用

于关闭邮件服务器的连接。

2.发送带附件的邮件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# 邮件主题
subject = 'Python send email test'

# 发送的附件
with open('log.txt', 'rb') as f:
    send_att = f.read()

att = MIMEText(send_att, 'text', 'utf-8')
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename="log.txt"'

msg = MIMEMultipart()
msg['Subject'] = subject
msg.attach(att)

# 发送邮件
smtp = smtplib.SMTP()
smtp.connect("smtp.126.com")
smtp.login("sender@126.com", "a123456")
smtp.sendmail("sender@126.com", "receiver@126.com", msg.as_string())
smtp.quit()

首先,读取附件的内容。通过 MIMEText 类,定义发送邮件的正文、格式,以及编码;

Content-Type 指定附件内容类型;application/octet-stream 表示二进制流;Content-Disposition

指定显示附件的文件;attachment; filename="log.txt"指定附件的文件名。

然后,使用 MIMEMultipart 类定义邮件的主题,attach()指定附件信息。

最后,通过 smtplib 模块发送邮件,发送过程与第一个例子相同。

用 yagmail 发送邮件

yagmail 是 Python 的一个第三方库,可以让我们以非常简单的方法实现自动发送邮件

功能。

GitHub 项目地址: https://github.com/kootenpv/yagmail

通过 pip 命令安装。

 pip install yagmail

项目文档提供了的简单发送邮件的例子。

import yagmail



![img](https://img-blog.csdnimg.cn/img_convert/f85b04cfd88c7d98eb879614598acd83.png)
![img](https://img-blog.csdnimg.cn/img_convert/e7cc0e0df8f6026ae7f6fba99ac476b3.png)
![img](https://img-blog.csdnimg.cn/img_convert/18a60bd42c4394dc19e72795400b7d06.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值