imaplib模块-Python操作IMAP邮件服务器

Python的imaplib模块实现了IMAP4客户端,本帖介绍怎么使用Python操作IMAP服务器。

This module defines three classes, IMAP4, IMAP4_SSL and IMAP4_stream, which encapsulate a connection to an IMAP4 server and implement a large subset of the IMAP4rev1 client protocol as defined in RFC 2060. It is backward compatible with IMAP4 (RFC 1730) servers, but note that the STATUS command is not supported in IMAP4.

imaplib定义了三个类:imap4(明文传输)、impa4_SLL(ssl加密传输)、impa4_stream。它们代表impa4客户端协议的集合,本帖以IMAP4_SSL为例,其它类提供了类似的API接口。

IMAP(即Internet Message Access Protocol,互联网信息访问协议),你可以通过这种协议将邮件服务器上的邮件双向和计算机或移动设备终端同步邮件信息。IMAP4与POP3协议类似,都是邮件获取协议的一种,IMAP的最主要特点为“同步操作”。IMAP4改进了POP3的不足,用户可以设置先通过浏览邮件信件头来决定是否收取、删除和检索邮件的特定部分。

连接IMAP服务器

执行结果:

imaplib模块-Python操作邮件服务器

列出邮箱目录

imaplib模块-Python操作IMAP邮件服务器

和你的邮箱目录进行对比,注意有子目录的邮箱目录。

列出某个邮箱目录:

邮箱信息

使用status()方法查询一些信息:

imaplib模块-Python操作IMAP邮件服务器

  • MESSAGES:邮箱中消息数
  • RECENT:最近邮件数
  • UIDNEXT
  • UIDVALIDITY
  • UNSEEN

选择(select)邮箱目录

我使用163邮箱测试时,输出了如下安全提示:

如果你也使用163邮箱,网易会给你发一个确认邮件:”如您确认当前所用的客户端为可信任客户端,仍继续使用,并愿自行承担信息泄露风险和损失,可前往这里设置。”,根据提示设置即可。

使用search获得消息ID:

imaplib模块-Python操作IMAP邮件服务器

获得邮件

imaplib模块-Python操作IMAP邮件服务器

imaplib模块-Python操作IMAP邮件服务器

上面邮件是gmail转发给163的html格式邮件,比较乱。

删除、复制、移动邮件

在邮箱中添加新邮件:

相关文章

《imaplib模块-Python操作IMAP邮件服务器》有1个想法

  1. 在使用search(None,'(SUBJECT “XXXX”)’的时候,网易邮箱总是返的空。 邮箱里面是有该主题的邮件的。
    十分困惑。

发表评论

电子邮件地址不会被公开。 必填项已用*标注