文章

Python操作电子邮件

SMTP 发送邮件

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

Python 对 SMTP 支持有 smtplib 和 email 两个模块,email 负责构造邮件,smtplib 负责发送邮件。

SMTP发送邮件

POP3 收取邮件

收取邮件就是编写一个MUA作为客户端,从MDA把邮件获取到用户的电脑或者手机上。收取邮件最常用的协议是POP协议,目前版本号是 3,俗称POP3

Python 内置一个 poplib 模块,实现了 POP3 协议,可以直接用来收邮件。

注意到 POP3 协议收取的不是一个已经可以阅读的邮件本身,而是邮件的原始文本,这和 SMTP 协议很像,SMTP 发送的也是经过编码后的一大段文本。

要把 POP3 收取的文本变成可以阅读的邮件,还需要用 email 模块提供的各种类来解析原始文本,变成可阅读的邮件对象。

所以,收取邮件分两步:

  • 第一步:用 poplib 把邮件的原始文本下载到本地;
  • 第二步:用 email 解析原始文本,还原为邮件对象。

POP3收取邮件

本文由作者按照 CC BY 4.0 进行授权