Python smtplib实现自动发送纯文本与HTML邮件

桃夭
桃夭
发布时间:2026-10-13| 4人浏览过
原创

本文介绍如何利用Python的smtplib模块实现自动化邮件发送功能,适用于自动化测试报告的分发场景。通过示例代码演示了纯文本和HTML两种格式邮件的构建与发送方法,包括服务器配置、登录认证及内容封装步骤,帮助开发者快速集成邮件通知功能。

在自动化测试脚本执行完毕后,系统通常会生成测试报告。如果能够将测试结果自动发送至指定邮箱,即可避免手动打开文件阅读的繁琐操作。随着测试脚本的持续运行,生成的报告会不断累积,手动查找最新报告变得愈发困难。因此,将结果自动发送给项目相关人员,是一种高效且便捷的处理方式。

Python标准库中的smtplib模块提供了一种简便的途径来发送电子邮件。

关于Python smtplib模块的具体用法,可以参考Python应用程序的帮助文档,其中详细记录了SMTP协议的各种封装实现。

接下来将分几个部分进行详细介绍。

一、发送纯文本格式的邮件

以下是具体的实现脚本:

#coding=utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header
'''发送邮箱'''
sender = 'abc@cieXXX.com' #企业263邮箱
'''接收邮箱'''
receiver = '123456@qq.com'
'''发送邮件主题'''
subject = 'python email test'
'''发送邮箱服务器'''
smtpserver = 'smtp.263xmail.com'
'''发送邮箱用户/密码'''
username = 'abc@cieXXX.com'
password = '123456'
'''中文需参数‘utf-8' ,单字节字符不需要'''
msg = MIMEText('你好!','text','utf-8')
msg['Subject'] = Header(subject, 'utf-8')
smtp = smtplib.SMTP()
smtp.connect('smtp.263xmail.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
print ("Email has been sent out!")

按F5运行脚本,结果如图所示:

 

邮件内容展示如图所示:

至此,已成功实现纯文本格式邮件的自动发送功能。

二、发送HTML格式的邮件

HTML格式邮件的实现方式与纯文本类似,主要区别在于文件内容的表现形式。相比之下,针对HTML格式邮件的脚本修改幅度较小。

具体脚本如下:

#coding=utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header
'''发送邮箱'''
sender = 'abc@cieXXX.com' #企业263邮箱
'''接收邮箱'''
receiver = '123456@qq.com'
'''发送邮件主题'''
subject = 'python email test'
'''发送邮箱服务器'''
smtpserver = 'smtp.263xmail.com'
'''发送邮箱用户/密码'''
username = 'abc@cieXXX.com'
password = '123456'
'''中文需参数‘utf-8' ,单字节字符不需要'''
msg=MIMEText('<html><hl>Hello World!<hl></html>','html','utf-8')
msg['Subject'] = Header(subject, 'utf-8')
smtp = smtplib.SMTP()
smtp.connect('smtp.263xmail.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
print ("Email has been sent out!")

按F5运行脚本,结果如图所示:

 

登录邮箱查看,界面如图所示:

 

打开邮件正文,内容如图所示:

确认无误,至此实现了两种格式邮件的自动发送功能。

关于如何将Python smtplib模块的自动收发邮件功能应用到自动化测试流程中,后续章节将继续探讨。

以上就是本文的全部内容,希望对读者的学习有所帮助,也欢迎大家继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。