我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python中怎么实现邮件处理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python中怎么实现邮件处理

这篇文章给大家介绍Python中怎么实现邮件处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、发送电子邮件

Python标准库提供了smtplib,用于实现SMTP协议发送邮件。标准库还提供email模块帮助我们构建邮件格式。SMTP(Simple Mail Transfer Protocol,即简单邮件传输协议),是一组有源地址到目的地址传送邮件的规则,用来控制信件的中转方式。

获取QQ邮箱密码(授权码)

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

代码如下:

import smtplibfrom email.mime.text import MIMETextfrom email.header import Header# 邮箱用户名sender = 'dad@qq.com'(输入你的邮箱)# 邮箱密码(部分邮箱为授权码)password = '123456'(输入你的密码)# 收件人邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发receiver = ['baby@qq.com', ](输入你要发送人的邮箱)# 邮件正文text = 'Hello,baby'message = MIMEText(text, 'plain', 'utf-8')# 发件人显式的名字message['From'] = Header('拿头来坚持', 'utf-8')# 收件人显式的名字message['To'] = Header('baby', 'utf-8')# 邮件标题message['Subject'] = '爸爸来信,请接收!'try:    # 使用QQ企业邮箱服务器发送    smtp = smtplib.SMTP('smtp.qq.com')    # 登录    smtp.login(sender, password)    # 发送    smtp.sendmail(sender, receiver, message.as_string())    print('邮件发送成功!')    # 退出服务器    smtp.quit()except smtplib.SMTPException as e:    print('Error!邮件发送失败!', e)

Python基础分析之邮件处理

发送纯文本格式的邮件执行结果:

三、发送HTML格式的邮件

代码如下:

import smtplibfrom email.mime.text import MIMETextfrom email.header import Header# 邮箱用户名sender = 'dad@qq.com'(输入你的邮箱)# 邮箱密码(部分邮箱为授权码)password = '123456'(输入你的密码)# 收件人邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发receiver = ['baby@qq.com', ](输入你要发送人的邮箱)# 邮件正文msg = '''    <p><a href='https://blog.csdn.net/weixin_46382560?spm=1011.2124.3001.5343'>拿头来坚持</p>          Life goes on, learning goes on        </p> <!----></div></div> <div class="user-profile-head-info-b" data-v-d1dbb6f8><ul data-v-d1dbb6f8><li data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>22,574</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>被访问量</div></li> <li data-v-d1dbb6f8><a href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>24</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>原创文章</div></a></li> <li data-v-d1dbb6f8><a href="https://blog.csdn.net/rank/list/total" rel="external nofollow"  rel="external nofollow"  target="_blank" data-report-click="{&quot;spm&quot;:&quot;3001.5476&quot;}" data-report-query="spm=3001.5476" data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>128,997</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>作者排名</div></a></li> <li data-v-d1dbb6f8><a href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>762</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>粉丝数量</div></a></li></ul></div></div></div> <div class="user-profile-body" data-v-3f0fdf46 data-v-80922f46><div class="user-profile-body-inner" data-v-3f0fdf46><div class="user-profile-body-left" data-v-3f0fdf46><div class="user-profile-aside" data-v-d487ed78 data-v-3f0fdf46><div class="user-general-info single-general-info" data-v-d487ed78><ul data-v-d487ed78><!----> <!----> <li class="user-general-info-join-csdn" data-v-d487ed78><i data-v-d487ed78></i> <span data-v-d487ed78>于</span> <span class="user-general-info-key-word" data-v-d487ed78>2020-02-22</span> <span data-v-d487ed78>加入CSDN</span></li></ul></div> <!----> <div class="user-achievement user-profile-aside-common-box" data-v-d487ed78><div class="aside-common-box-head" data-v-d487ed78>获得成就</div> <div class="aside-common-box-bottom" data-v-d487ed78><div class="aside-common-box-content" data-v-d487ed78><ul data-v-d487ed78><li data-v-d487ed78>        <i style="background-image: url(https://img-home.csdnimg.cn/images/20210114022819.png)"></i>        <div>获得<span>212</span>次点赞</div>      </li><li data-v-d487ed78>        <i style="background-image: url(https://img-home.csdnimg.cn/images/20210114022831.png)"></i>        <div>内容获得<span>111</span>次评论</div>      </li><li data-v-d487ed78>        <i style="background-image: url(https://img-home.csdnimg.cn/images/20210114022828.png)"></i>        <div>获得<span>562</span>次收藏</div>      '''# 指定消息体使用HTML格式message = MIMEText(msg, 'html', 'utf-8')# 发件人显式的名字message['From'] = Header('拿头来坚持', 'utf-8')# 收件人显式的名字message['To'] = Header('baby', 'utf-8')# 邮件标题message['Subject'] = '爸爸来信,请接收!'try:    # 使用QQ企业邮箱服务器发送    smtp = smtplib.SMTP('smtp.qq.com')    # 登录    smtp.login(sender, password)    # 发送    smtp.sendmail(sender, receiver, message.as_string())    print('邮件发送成功!')    # 退出服务器    smtp.quit()except smtplib.SMTPException as e:    print('Error!邮件发送失败!', e)

Python基础分析之邮件处理

发送HTML格式的邮件的执行结果:

四、发送带附件的邮件

代码如下:

import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.header import Header# 邮箱用户名sender = 'dad@qq.com'(输入你的邮箱)# 邮箱密码(部分邮箱为授权码)password = '123456'(输入你的密码)# 收件人邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发receiver = ['baby@qq.com', ](输入你要发送人的邮箱)# 指定消息体使用复合类型message = MIMEMultipart()# 发件人显式的名字message['From'] = Header('拿头来坚持', 'utf-8')# 收件人显式的名字message['To'] = Header('baby', 'utf-8')# 邮件标题message['Subject'] = '爸爸来信,请接收!'# 邮件正文msg = '''    <p><a href='https://blog.csdn.net/weixin_46382560?spm=1011.2124.3001.5343'>拿头来坚持</p>          Life goes on, learning goes on        </p> <!----></div></div> <div class="user-profile-head-info-b" data-v-d1dbb6f8><ul data-v-d1dbb6f8><li data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>22,574</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>被访问量</div></li> <li data-v-d1dbb6f8><a href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>24</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>原创文章</div></a></li> <li data-v-d1dbb6f8><a href="https://blog.csdn.net/rank/list/total" rel="external nofollow"  rel="external nofollow"  target="_blank" data-report-click="{&quot;spm&quot;:&quot;3001.5476&quot;}" data-report-query="spm=3001.5476" data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>128,997</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>作者排名</div></a></li> <li data-v-d1dbb6f8><a href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>762</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>粉丝数量</div></a></li></ul></div></div></div> <div class="user-profile-body" data-v-3f0fdf46 data-v-80922f46><div class="user-profile-body-inner" data-v-3f0fdf46><div class="user-profile-body-left" data-v-3f0fdf46><div class="user-profile-aside" data-v-d487ed78 data-v-3f0fdf46><div class="user-general-info single-general-info" data-v-d487ed78><ul data-v-d487ed78><!----> <!----> <li class="user-general-info-join-csdn" data-v-d487ed78><i data-v-d487ed78></i> <span data-v-d487ed78>于</span> <span class="user-general-info-key-word" data-v-d487ed78>2020-02-22</span> <span data-v-d487ed78>加入CSDN</span></li></ul></div> <!----> <div class="user-achievement user-profile-aside-common-box" data-v-d487ed78><div class="aside-common-box-head" data-v-d487ed78>获得成就</div> <div class="aside-common-box-bottom" data-v-d487ed78><div class="aside-common-box-content" data-v-d487ed78><ul data-v-d487ed78><li data-v-d487ed78>        <i style="background-image: url(https://img-home.csdnimg.cn/images/20210114022819.png)"></i>        <div>获得<span>212</span>次点赞</div>      </li><li data-v-d487ed78>        <i style="background-image: url(https://img-home.csdnimg.cn/images/20210114022831.png)"></i>        <div>内容获得<span>111</span>次评论</div>      </li><li data-v-d487ed78>        <i style="background-image: url(https://img-home.csdnimg.cn/images/20210114022828.png)"></i>        <div>获得<span>562</span>次收藏</div>      '''# 邮件附加html文件message.attach(MIMEText(msg, 'html', 'utf-8'))# 添加附件attached_file = MIMEText(open(__file__, encoding='utf-8').read(), 'base64', 'utf-8')# 指定附件的文件名和原先的文件不一样attached_file['Content-Disposition'] = 'attachment;filename="mail.py"'# 邮件附加附件message.attach(attached_file)try:    # 使用QQ企业邮箱服务器发送    smtp = smtplib.SMTP('smtp.qq.com')    # 登录    smtp.login(sender, password)    # 发送    smtp.sendmail(sender, receiver, message.as_string())    print('邮件发送成功!')    # 退出服务器    smtp.quit()except smtplib.SMTPException as e:    print('Error!邮件发送失败!', e)

Python基础分析之邮件处理

发送带附件的邮件执行结果:

五、发送图片的邮件

代码如下:

import smtplibfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagefrom email.mime.multipart import MIMEMultipartfrom email.header import Header# 邮箱用户名sender = 'dad@qq.com'(输入你的邮箱)# 邮箱密码(部分邮箱为授权码)password = '123456'(输入你的密码)# 收件人邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发receiver = ['baby@qq.com', ](输入你要发送人的邮箱)# 利用related定义内嵌资源的邮件体message = MIMEMultipart('related')# 发件人显式的名字message['From'] = Header('拿头来坚持', 'utf-8')# 收件人显式的名字message['To'] = Header('baby', 'utf-8')# 邮件标题message['Subject'] = '爸爸来信,请接收!'# 邮件正文content = MIMEMultipart('alternative')# html内容msg = '''    <p><a href='https://blog.csdn.net/weixin_46382560?spm=1011.2124.3001.5343'>拿头来坚持</p>          Life goes on, learning goes on    <p>    拿头来坚持的个人主页    <img class="lazy" data-src='cid:img01'>    </p>      '''# 邮件附加html文件message.attach(MIMEText(msg, 'html', 'utf-8'))# 添加图片with open('csdn.png', 'rb') as f:    img01 = MIMEImage(f.read())# 定义资源的名字为img01img01.add_header('Content-ID', 'img01')# 邮件附加图片message.attach(img01)try:    # 使用QQ企业邮箱服务器发送    smtp = smtplib.SMTP('smtp.qq.com')    # 登录    smtp.login(sender, password)    # 发送    smtp.sendmail(sender, receiver, message.as_string())    print('邮件发送成功!')    # 退出服务器    smtp.quit()except smtplib.SMTPException as e:    print('Error!邮件发送失败!', e)

Python基础分析之邮件处理

发送图片的邮件执行结果:

六、接收电子邮件

接受邮件有两种常用的协议:POP3和IMAP协议

POP3协议(Post Office Protocol-Version3,即邮局协议版本3):允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等)不会反馈到服务器上,比如通过客户端收取了邮箱的3封邮件并移动到其他文件夹,邮件服务器上的这些邮件不会被同步移动。

IMAP协议(Internet Mail Access Protocol,即Internet邮件访问协议):提供Webmail与电子邮件客户端之间的双向通信,任何在客户端做的改变都会同步到服务器上。在客户端对邮件进行了操作,服务器上的邮件也会进行相应的操作。

七、使用POP3协议下载邮件

代码如下:

import poplibfrom email.parser import Parser# 登录邮箱的用户名username = 'baby@qq.com'(输入你的邮箱)# 登录邮箱的密码(部分邮箱为授权码)password = '123456'(输入你的密码)# 连接邮箱服务器pop_server = poplib.POP3('pop.qq.com')# 打印出邮箱服务器的欢迎文字print(pop_server.getwelcome())# 登录邮箱服务器pop_server.user(username)pop_server.pass_(password)# 打印出当前账号的状态,第一个返回值为邮件数,第二个返回值为占用空间print('Server stat', pop_server.stat())# 获取所以邮件列表resp, mails, octets = pop_server.list()print(mails)# 获取最新的一封邮件(序列号最大的),邮件索引从1开始计数index = len(mails)resp, lines, octets = pop_server.retr(index)content = b'\r\n'.join(lines).decode('utf-8')# 解析出邮件msg = Parser().parsestr(content)# 可以根据邮件索引号直接从服务器删除邮件# pop_server.dele(index)# 关闭连接pop_server.quit()

Python基础分析之邮件处理

执行结果:

b'+OK XMail POP3 Server v1.0 Service Ready(XMail v1.0)'
Server stat (15, 50814)
[b'1 1255', b'2 1286', b'3 1310', b'4 1398', b'5 1458', b'6 1450', b'7 1602', b'8 1633', b'9 5001', b'10 2347', b'11 2371', b'12 2267', b'13 5033', b'14 5077', b'15 17326']

关于Python中怎么实现邮件处理就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python中怎么实现邮件处理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中怎么实现邮件处理

这篇文章给大家介绍Python中怎么实现邮件处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、发送电子邮件Python标准库提供了smtplib,用于实现SMTP协议发送邮件。标准库还提供email模块帮助我们构建
2023-06-20

Python中怎么邮件处理

Python中怎么邮件处理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、发送电子邮件Python标准库提供了smtplib,用于实现SMTP协议发送邮件。标准库还提供e
2023-06-20

怎么在Python中对邮件进行处理

今天就跟大家聊聊有关怎么在Python中对邮件进行处理,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注
2023-06-14

Python中怎么实现处理文件

今天就跟大家聊聊有关Python中怎么实现处理文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、显示目录内容当我们想要列出当前目录中所示:origdir = os.getcwd(
2023-06-17

Python中怎么实现自动化处理文件

Python中怎么实现自动化处理文件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。遍历一个目录中的文件如果有如下多个数据需要读取和处理:├── data │ ├── d
2023-06-15

怎么用Python实现发邮件功能

这篇文章主要介绍“怎么用Python实现发邮件功能”,在日常操作中,相信很多人在怎么用Python实现发邮件功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python实现发邮件功能”的疑惑有所帮助!
2023-06-15

Python怎么实现垃圾邮件识别

这篇文章主要介绍了Python怎么实现垃圾邮件识别的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么实现垃圾邮件识别文章都会有所收获,下面我们一起来看看吧。开发工具Python版本:3.6.4相关模
2023-06-27

python中怎么实现smtplib和邮件系统交互

python中怎么实现smtplib和邮件系统交互,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。说明1、实例化一个SMTP对象,设置服务器和端口号。2、登陆邮件,权限验证。打印
2023-06-20

Python中怎么实现电子邮件的自动化

这期内容当中小编将会给大家带来有关Python中怎么实现电子邮件的自动化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。用Python下载文件对于第一步,我们将需要使用HTTP请求实际下载数据文件。在本例中
2023-06-16

使用python怎么实现文件处理

本篇文章给大家分享的是有关使用python怎么实现文件处理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、open()方法python open()方法用于打开一个文件,并返
2023-06-15

Python怎么实现自动化发送邮件

这期内容当中小编将会给大家带来有关Python怎么实现自动化发送邮件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚
2023-06-26

Python中怎么实现异常处理

这篇文章将为大家详细讲解有关Python中怎么实现异常处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。导入必要的模块之后,animal.py使用connect()调用建立到服务器的连接。为
2023-06-17

Python中怎么实现并行处理

Python中怎么实现并行处理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。传统的例子简单搜索下"Python 多线程教程",不难发现几乎所有的教程都给出涉及类
2023-06-16

Java Mail电子邮件自动处理:实现电子邮件自动化管理

Java Mail电子邮件自动处理可以帮助企业实现电子邮件自动化管理,提高工作效率。本文介绍了Java Mail电子邮件自动处理的原理和方法,并提供了演示代码,帮助开发者快速掌握Java Mail电子邮件自动处理技术。
Java Mail电子邮件自动处理:实现电子邮件自动化管理
2024-02-05

Python怎么实现定时发送监控邮件

这期内容当中小编将会给大家带来有关Python怎么实现定时发送监控邮件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。不管是在信贷领域还是支付领域,作为一个风控人员,我们都需要对部署的策略模型进行监控,信贷
2023-06-22

PHP中怎么实现邮件发送功能

这篇文章给大家介绍PHP中怎么实现邮件发送功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。PHP发送邮件的页面代码:< ?php require("mail/class.phpmailer.php");//调用
2023-06-17

Shell中怎么实现自动发送邮件

这期内容当中小编将会给大家带来有关Shell中怎么实现自动发送邮件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、编辑用户Home目录下的.muttrc文件,设置发信环境。代码如下:# cat /roo
2023-06-09

PHP中怎么实现跳转时发邮件

本文小编为大家详细介绍“PHP中怎么实现跳转时发邮件”,内容详细,步骤清晰,细节处理妥当,希望这篇“PHP中怎么实现跳转时发邮件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、PHP发送邮件的基本方法PHP发送
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录