解放双手,用Python实现自动发送邮件!

Python实现自动发送邮件,解放双手 Python有两个内置库:和,能够实现邮件功能,库负责发送邮件,库负责构造邮件格式和内容。邮件发送需要遵守SMTP协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。1、先导入相关的库和方法import smtplibimport emailfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagefrom email.mime.multipart import MIMEMulti 阅读详情

使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,节省非常多的时间。

Python有两个内置库:smtplib和email,能够实现邮件功能,smtplib库负责发送邮件,email库负责构造邮件格式和内容。

邮件发送需要遵守SMTP协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。


1、先导入相关的库和方法

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
import smtplibimport email# 负责构造文本from email.mime.text import MIMEText# 负责构造图片from email.mime.image import MIMEImage# 负责将多个对象集合起来from email.mime.multipart import MIMEMultipartfrom email.header import Header

 

2、设置邮箱域名、发件人邮箱、邮箱授权码、收件人邮箱

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
# SMTP服务器,这里使用163邮箱mail_host = "smtp.163.com"# 发件人邮箱mail_sender = "******@163.com"# 邮箱授权码,注意这里不是邮箱密码,如何获取邮箱授权码,请看本文最后教程mail_license = "********"# 收件人邮箱,可以为多个收件人mail_receivers = ["******@qq.com","******@outlook.com"]

 

3、构建MIMEMultipart对象代表邮件本身,可以往里面添加文本、图片、附件等

  •  
mm = MIMEMultipart('related')

 

4、设置邮件头部内容

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
# 邮件主题subject_content = """Python邮件测试"""# 设置发送者,注意严格遵守格式,里面邮箱为发件人邮箱mm["From"] = "sender_name<******@163.com>"# 设置接受者,注意严格遵守格式,里面邮箱为接受者邮箱mm["To"] = "receiver_1_name<******@qq.com>,receiver_2_name<******@outlook.com>"# 设置邮件主题mm["Subject"] = Header(subject_content,'utf-8')

 

5、添加正文文本

  •  
  •  
  •  
  •  
  •  
  •  
# 邮件正文内容body_content = """你好,这是一个测试邮件!"""# 构造文本,参数1:正文内容,参数2:文本格式,参数3:编码方式message_text = MIMEText(body_content,"plain","utf-8")# 向MIMEMultipart对象中添加文本对象mm.attach(message_text)

 

6、添加图片

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
# 二进制读取图片image_data = open('sample.jpg','rb')# 设置读取获取的二进制数据message_image = MIMEImage(image_data.read())# 关闭刚才打开的文件image_data.close()# 添加图片文件到邮件信息当中去mm.attach(message_image)

 

7、添加附件(excel表格)

  •  
  •  
  •  
  •  
  •  
  •  
# 构造附件atta = MIMEText(open('sample.xlsx', 'rb').read(), 'base64', 'utf-8')# 设置附件信息atta["Content-Disposition"] = 'attachment; filename="sample.xlsx"'# 添加附件到邮件信息当中去mm.attach(atta)

 

8、发送邮件

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
# 创建SMTP对象stp = smtplib.SMTP()# 设置发件人邮箱的域名和端口,端口地址为25stp.connect(mail_host, 25)  # set_debuglevel(1)可以打印出和SMTP服务器交互的所有信息stp.set_debuglevel(1)# 登录邮箱,传递参数1:邮箱地址,参数2:邮箱授权码stp.login(mail_sender,mail_license)# 发送邮件,传递参数1:发件人邮箱地址,参数2:收件人邮箱地址,参数3:把邮件内容格式改为strstp.sendmail(mail_sender, mail_receivers, mm.as_string())print("邮件发送成功")# 关闭SMTP对象stp.quit()

 

结果
看看邮箱接收到来自python的邮件长什么样:

附:如何设置邮箱授权码

本文测试发送邮箱为163邮箱,可按如下步骤获取邮箱授权码

第一步:登陆网页163邮箱,找到设置并打开

 

 

第二步:点击设置中的客户端授权密码

 

 

 

第三步:点击开启,并按提示设置你的授权密码

 

 

Java实现的license生成器 用Java实现license的生成器,包括Java源码以及图形化界面 立即下载

相关推荐

java生成licence工具(带源码)整合版

java生成licence工具,包含生成、验证功能,可直接使用

(RPA)学习自定义函数实现用 Python 发送电子邮件

艺赛旗 RPA9.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 前言 之前论坛里有人发过关于发送邮件的帖子,设计器也有关于发送邮件的控件。我这里再次重复,希望能有帮到大家的地方。 信息准备 发送邮件前必须准备好一些基本信息,例如发件人邮箱地址、发件人邮箱密码、收件人邮箱地址、发件人昵称、收件人昵称、邮件主题以及邮件内...

weixin_44447687的博客 1260

Win10右键新建菜单丢了记事本?别慌!5分钟教你用注册表找回来(附权限设置避坑指南)

本文详细指导如何通过注册表编辑器恢复Win10右键新建菜单中丢失的记事本选项,包括重建键值结构、配置ShellNew项及设置权限等关键步骤。特别提供权限避坑指南,确保修改持久有效,帮助用户快速解决这一常见但困扰的问题。

weixin_31714129的博客 862

新建的邮件服务器只能发件不能收件_常见的邮件发送失败解决方案

我们经常会遇到我们明明发送给客户邮件了,可迟迟未收到客户回信。排除邮件内容及客户阅后不回复,我想拒收应该是我们最怕的事情了吧,说明我们在做无用功。下面与大家分享前五种拒收的情况。常见的邮件发送失败解决方案​mp.weixin.qq.com收件人地址不存在收件人邮箱帐号不存在或收件方服务器无法找到收件人邮件地址。可能出现的关键字:No such user、user unknown、unknown o...

weixin_39892447的博客 2034

Ghidra逆向分析实战:从安装JDK到解析STM32的bin文件(附SVD插件配置)

本文详细介绍了使用Ghidra进行STM32固件逆向分析的完整流程,从JDK安装配置到SVD插件的应用。通过实战案例展示如何解析bin文件、恢复符号信息以及利用SVD插件识别外设寄存器,帮助开发者高效完成嵌入式设备的逆向工程任务。

weixin_29309475的博客 646

DNF服务器搭建服务端架设教程

第三步:打开winscp,上传Script.pvf(版本)、publickey.pem(密钥)、df_game_r(等级补丁)到home/neople/game目录下。第四步:打开putty输入./stop,./stop(两次,如果是首次架设不用./stop),./run,运行刚才上传的三个游戏文件。③是本地配置登录器的配置文件,自动生成,可以删除,但是还是会根据你生成的登录器生成这个文件,类似日志。⑤密钥中所上传的三个文件其中之一,重中之重,上传到服务器的密钥必须和登录器中的密钥为一个。

V13807970340的博客 6265

邮件服务器架设:邮件收发不正常原因分解

随着电子邮件的广泛普及和企业信息化建设的迫在眉捷,企业邮箱被誉为提升企业办公效率的第一选择。沟通速度快、传输形式多样化、无纸办公等,不仅节约通讯成本,更有利于企业信息管理。因此,越来越多企业选择自建电子邮件服务器或租用企业邮局系统。在全球互联网复杂的大环境下,IT技术日益革新,受邮件系统性能和地域网络影响,邮件服务器出现一些收发故障也再所难免。今天就重点解析邮件收发不正常的几...

weixin_33775572的博客 225

EVE-NG 新增 qcow2 镜像教程

本文介绍了如何在 EVE-NG 网络仿真平台中添加 QCOW2 镜像并配置 YML 文件。首先,用户需要了解 EVE-NG 的目录结构,上传并重命名 QCOW2 镜像,然后设置文件权限并刷新界面以识别设备。接着,讲解了 YML 文件的作用,它用于定义设备的CPU、内存、网卡等参数,并给出了配置示例。若有多个设备版本,可以通过复制并重命名 YML 文件使其独立显示。最后,通过检查 QEMU 进程和日志验证 YML 配置是否生效。总结部分强调了 EVE-NG 的自动识别机制以及独立管理设备版本的方式。

qq_41862216的博客 3079

Extmail 邮件服务器不能接收邮件,只能发送的解决办法

执行以下命令:#service syslog restart

思考的蜗牛 4030

WSL2安装(详细过程)

适用于 Linux 的 windows 子系统允许开发人员直接在 Windows 上运行 GNU/Linux 环境 -- 包括大多数命令行工具、实用程序和应用程序,无需修改,而无需传统虚拟机或dualbot设置的开销。

qq_43636384的博客 3万+

TCNOpen实现TRDP通信协议(源码编译运行测试)

概述 本文介绍了通过TCNOpen开源源码实现TRDP通信,包括源码下载,开发环境搭建,编译运行,测试。 Linux环境下编译运行TRDP (一) 下载CANOpen源码。 下载地址:https://sourceforge.net/p/tcnopen/trdp/HEAD/tree/ (二) 源码编译 下载源码解压过后,在根目录文件readme-makefile.txt有介绍源码的配置和编译方法。 在trdp/config目录下可以看到包含在linux环境下的编译配置文件LINUX_config;执行”m

fengweibo112的博客 9637

添加附件 邮件发送_解放双手,用Python实现自动发送邮件!

使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,节省非常多的时间。Python有两个内置库:smtplib和email,能够实现邮件功能,smtplib库负责发送邮件,email库负责构造邮件格式和内容。邮件发送需要遵守SMTP协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。1、先导入相关的库和方法import smtplibimport...

weixin_33099015的博客 401

PRD撰写效率翻倍秘籍:我是如何用大模型+飞书文档搭建自动化工作流的

本文分享了如何利用大模型与飞书文档构建自动化工作流,以大幅提升PRD撰写效率。通过结构化需求输入、设计模块化提示词模板,并借助自动化脚本桥接数据与文档,产品经理可将繁琐的文档撰写工作自动化,从而将精力聚焦于产品战略与用户洞察。

weixin_28520495的博客 408

新建的邮件服务器只能发件不能收件_解放双手,用Python实现自动发送邮件!

使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,节省非常多的时间。Python有两个内置库:smtplib和email,能够实现邮件功能,smtplib库负责发送邮件,email库负责构造邮件格式和内容。邮件发送需要遵守SMTP协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。1、先导入相关的库和方法import smtplibimport...

weixin_39946657的博客 209

YOLOv11【第一章:零基础入门篇·第10节】YOLOv11项目实战:从零搭建检测系统!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 5772

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

干货 | 解放双手,用Python实现自动发送邮件

使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,节省非常多的时间。smtplib和email,能够实现邮件功能,smtplib库负责发送邮件,email库负责构造邮件格式和内容。SMTP协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。1、先导入相关的库和方法import smtplib import email # 负责构造文本 f...

python爬虫人工智能大数据 2300

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Python入门:Python3 SMTP 发送邮件全面学习教程

Python入门:Python3 SMTP 发送邮件全面学习教程,本文详细介绍 Python3 借助smtplib和email库实现 SMTP 邮件发送的方法,从基础到实战覆盖多场景。先讲解 SMTP 协议定义及两核心库功能,再说明创建 SMTP 对象和使用sendmail方法的核心语法与参数。实战部分提供五类案例,包括纯文本、HTML 格式、带附件、HTML 内嵌图片邮件的发送代码及注意事项,还以 QQ 邮箱为例,详解第三方 SMTP 服务的准备工作、配置信息与代码实现。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 15万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Python实现自动发送邮件,解放双手,阿里Python面试必问

1、先导入相关的库和方法import smtplibimport emailfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagefrom email.mime.multipart import MIMEMultipartfrom email.header import Header2、设置邮箱域名、发件人邮箱、邮箱授权码、收件人邮箱mail_host = “smtp.163.com”mail_sender = “

2301_82241698的博客 1366

如何用python自动发邮件_Python | 解放双手,用Python实现自动发送邮件

解放双手,用Python实现自动发送邮件使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,节省非常多的时间。Python有两个内置库:smtplib和email,能够实现邮件功能,smtplib库负责发送邮件,email库负责构造邮件格式和内容。邮件发送需要遵守SMTP协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。1、先导入相关的库和方法...

weixin_35540389的博客 727
上一篇: 由浅入深:Python 中如何实现自动导入缺失的库?
下一篇: 49式!Python初级到高级招式都全了!
PythonJavaPHP
博客等级 码龄7年 116粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值