Python实现邮件自动化处理

我们日常工作中都会遇到发送邮件和接收邮件,使用Python也可以发送接收邮件。当我们需要处理大量邮件时,使用Python处理邮件可以大大地节省时间,提高效率。

邮件协议

SMTP:Simple Mail Transfer Protocol的简称,即简单邮件传输协议,是发送邮件的协议。

POP3:Post Office Protocol 3的简称,即邮局协议的第三个版本,它是规定怎样将个人计算机连接到Internet上邮件服务器和下载电子邮件的协议。

IMAP:Internet Mail Access Protocol的简称,即交互式邮件存取协议,是收取邮件的协议。

邮件发送基本流程

  1. 注册一个邮箱,打开邮箱的SMTP授权并获取授权码,如下图所示:

2. 构造邮件内容,包括发送人、主题、抄送人、附件、正文等,如下所示:

3. 发送邮件

Python发送邮件

Python发送文本邮件

使用Python发送邮件的库有很多,我们使用Python内置的email库和smtplib库,首先导入这两个库。示例代码如下:

邮箱要开启SMTP并获取授权码,用授权码替换原来的邮箱登录密码,否则运行会报错:smtplib.SMTPAuthenticationError: (550, b'User has no permission')

代码运行结果:

进入163邮箱看看是否有邮件,如下图所示:

发送HTML格式邮件

和文本格式邮件大部分代码相同,有几个地方需要修改,代码如下图所示:

进入邮箱查看邮件,如下图所示:

发送带附件邮件

发送带附件的邮件也和发送文本邮件类似,不一样的地方是需要导入smtplib库的MIMEApplication类,使用这个类构造附件然后添加邮件中。代码如下图所示:

进入邮箱查看邮件,如下图所示:

Python接收邮件

Python接收邮件也有很多库,比较简单的是zmail库,它是一个第三方库,使用时候需要安装,使用这个库几行代码就能完成接收邮件。代码实例如下所示:

运行结果如下图所示:

保存附件的参数target_path为None时附件保存在当前脚本同级目录下,也可以设置附件保存路径;overwrite为True表示覆盖相同文件名附件。

想了解更多精彩内容,快来关注程序猿小董

你可能感兴趣的:(Python实现邮件自动化处理)