Python分享-email.message如何构建你的邮件消息

简介: Python分享-email.message如何构建你的邮件消息

我最近在做发送邮件相关的一些任务,由于一些原因呢,不打算仅仅为了一个邮件功能就去申请第三方包的使用权限,所以还是决定使用python自带的snmplib来做啊,也很好用。但是第三方包有些做了进一步的封装和更加人性化的优化啊。减少了我们去配置一些麻烦的内容。

email.message.EmailMessage()

EmailMessage()这个类就是email提供的主要内容了,通过它我们可以设置邮件消息的头部,主体内容,还能添加附件。

我们的邮件由header和payload组成,header可以理解为,平时我们收到邮件上方的发件人,收件人,主题,抄送这部分,然后payload就是我们的邮件主体,包括文字性的邮件内容,以及附件。

EmailMessage()这个类是一个dict like的类,也就是说我们可以通过一些类字典的接口来操作,但是注意的是,与一般的字典不同,字典是无序的,EmailMessage()的键是有序的,可以看下面的那个例子,我们设置消息头的时候,是按照顺序来的,键还可以重复,python提供了额外的方法来处理包含重复键的header。

直观的用例

代码用例,下方的代码包含了消息主体的构建,以及通过email.message.EmailMessage()这个类,我们还可以添加附件,非常的方便。依稀记得以前要用一个MIME的包,真的很难用。

message = email.message.EmailMessage()
# 邮件头部
message["From"] = "***@gmail.com"
message["To"] = ["****@gmail.com", ]
message["cc"] = ["****@gmail.com",]
message["Bcc"] = ["****@yahoo.in", ]
# 主题
message["Subject"] =  "Mail with attachments"
# 消息主体
body = '''
Hello All,
Please find the attached file.
Regards,
Alex
'''
message.set_content(body)
# 比如我们附加一个excel文件
with open("report.xlsx", mode="rb") as fp:
    excel_content = fp.read()
    message.add_attachment(excel_content, maintype="application", subtype="excel", filename="do


相关文章
|
28天前
|
机器学习/深度学习 数据采集 数据可视化
Python 数据分析:从零开始构建你的数据科学项目
【10月更文挑战第9天】Python 数据分析:从零开始构建你的数据科学项目
51 2
|
6天前
|
弹性计算 数据管理 数据库
从零开始构建员工管理系统:Python与SQLite3的完美结合
本文介绍如何使用Python和Tkinter构建一个图形界面的员工管理系统(EMS)。系统包括数据库设计、核心功能实现和图形用户界面创建。主要功能有查询、添加、删除员工信息及统计员工数量。通过本文,你将学会如何结合SQLite数据库进行数据管理,并使用Tkinter创建友好的用户界面。
从零开始构建员工管理系统:Python与SQLite3的完美结合
|
19天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
3天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
13 3
|
3天前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
14 2
|
3天前
|
机器学习/深度学习 JSON API
Python编程实战:构建一个简单的天气预报应用
Python编程实战:构建一个简单的天气预报应用
13 1
|
3天前
|
机器学习/深度学习 数据采集 搜索推荐
利用Python和机器学习构建电影推荐系统
利用Python和机器学习构建电影推荐系统
16 1
|
12天前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
23 2
|
12天前
|
数据采集 存储 机器学习/深度学习
构建高效的Python网络爬虫
【10月更文挑战第25天】本文将引导你通过Python编程语言实现一个高效网络爬虫。我们将从基础的爬虫概念出发,逐步讲解如何利用Python强大的库和框架来爬取、解析网页数据,以及存储和管理这些数据。文章旨在为初学者提供一个清晰的爬虫开发路径,同时为有经验的开发者提供一些高级技巧。
12 1
|
15天前
|
存储 人工智能 数据挖掘
Python编程入门:构建你的第一个程序
【10月更文挑战第22天】编程,这个听起来高深莫测的词汇,实际上就像搭积木一样简单有趣。本文将带你走进Python的世界,用最浅显的语言和实例,让你轻松掌握编写第一个Python程序的方法。无论你是编程新手还是希望了解Python的爱好者,这篇文章都将是你的理想起点。让我们一起开始这段奇妙的编程之旅吧!
18 3
下一篇
无影云桌面