Python自动化办公(ChatGPT版) | 邮件处理

Python办公

在日常工作中,常常会有一些与电子邮件有关的重复性工作。例如,批量下载邮件中的附件,每周定时发送周报等。这些工作完全可以交给计算机来自动化处理,从而提升工作效率。本章将详细介绍如何使用 Python 实现邮件的自动化处理。

一封邮件从源地址发送到目标地址需要遵循一定的规则,这样发送方和接收方的计算机才能够协同工作,完成邮件的发送和接收,这些规则就是邮件协议。

常见的邮件协议,包括 SMTP(Simple Mail Transfer Protocol,简单文本传输协议)、POP3(Post Office Protocol 3,邮局协议版本3)、IMAP(Internet Message Access Protocol,互联网邮件访问协议)等。

另外,微软的邮件服务 Exchange 提供 Exchange ActiveSync 协议让客户端 Outlook 管理邮件、通讯录和日程。Exchange ActiveSync 协议主要用于企业内部,因此不在本章的讲解范围。

发送邮件协议:SMTP

SMTP 协议是传输电子邮件的标准协议,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。通常需要提供用户名和密码才能登录 SMTP 服务器,从而在一定程度上避免用户受到垃圾邮件的侵扰。

Python 内置的 smtplib 库支持 SMTP 协议,可以使用它实现自动发送邮件。

接收邮件协议:POP3 和 IMAP

SMTP 协议只负责发送邮件, POP3 协议和 IMAP 协议则是负责接收邮件的协议。

POP3 协议负责从邮件服务器中检索电子邮件,是互联网电子邮件的第一个离线协议标准。它允许从邮件服务器中检索邮件,并可选择删除或保留邮件;或者询问是否有新邮件到达。POP3 协议还允许、用户下载邮件中附带的二进制文件,如图片和 Office 文件等。

IMAP 协议除了具有 POP3 协议的基本功能外,还弥补了它的不足。例如,只下载选中的邮件而不是全部邮件;在邮件服务器上管理邮件文件夹(新建、重命名或删除)、删除邮件、查询某个邮件的全部内容,不需要将邮件下载到本地。

Python 内置的 poplib 库支持 POP3 协议,imaplib 库支持 IMAP 协议,可以使用它们实现自动接收

邮件。

开启邮件服务

收发邮件的前提是需要有一个邮件服务器,用来作为邮件的中转。这个邮件服务器可以自己搭建,也可以是第三方邮件服务器,如网易邮箱、新浪邮箱或者 QQ 邮箱等。

本小节以网易 126 邮箱为例,介绍如何设置第三方邮件服务器,以支持使用代码连接邮件服务器并进行管理。

登录网易 126 邮箱,依次单击【设置】→【POP3/SMTP/IMAP】,可以在页面中选择开启所需的服务,并且设置【收取全部邮件】

首次开启服务成功后,会弹出授权密码界面,如图  所示。该授权密码由网易服务器随机生成,仅显示一次,可用于在邮件客户端或 Python 代码中登录邮件服务器。

此外,在页面底部的【提示】选项卡中可查看 POP3/SMTP/IMAP 服务器地址,如图所示。在代码中连接邮件服务器时会用到这些服务器地址。

欢迎您购买《Python自动化办公应用大全(ChatGPT版)》上下册图书!

本书配套的相关资料如下:

1、本书配套的示例文件及素材,下载地址:

链接: https://pan.baidu.com/s/1frl2DU8S45B1jWIDyol5rA?pwd=h4cs

提取码: h4cs

2、欢迎加入本书专属免费学习交流群,与作者和小伙伴们一起学习。

3、本书读者可以获得ExcelHome云课堂赠送的专属优惠码福利,包括100元课程优惠码及150元VIP年卡优惠码,可进群后向小助手了解。

Leave a Reply