IMAP是一种电子邮件检索协议,它不下载电子邮件。它只是读取并显示它们。这在低带宽条件下非常有用。Python的客户端库imaplib用于通过imap协议访问电子邮件。
IMAP代表Internet邮件访问协议。它于1986年首次提出。
关键点:
IMAP命令
下表描述了一些IMAP命令:
编号 | 命令 | 描述说明 |
---|---|---|
1 | IMAP_LOGIN | 此命令用于打开连接。 |
2 | CAPABILITY | 此命令用于要求列出服务器支持的功能。 |
3 | NOOP | 此命令用于在不活动期间用作新消息或消息状态更新的定期轮询。 |
4 | SELECT | 此命令用于选择一个邮箱来访问邮件。 |
5 | EXAMINE | 此命令与SELECT命令相同,除了不允许更改邮箱。 |
6 | CREATE | 此命令用于创建具有指定名称的邮箱。 |
7 | DELETE | 此命令用于永久删除具有给定名称的邮箱。 |
8 | RENAME | 此命令用于更改邮箱的名称。 |
9 | LOGOUT | 此命令通知服务器客户端已完成会话。服务器必须在OK响应之前发送BYE未加标签的响应,然后关闭网络连接。 |
在以下示例中,使用用户凭据登录到Gmail服务器。然后,选择在收件箱中显示消息。for
循环用于逐个显示获取的消息,最后关闭连接。
import imaplib import pprint imap_host = 'imap.gmail.com' imap_user = 'username@gmail.com' imap_pass = 'password' # connect to host using SSL imap = imaplib.IMAP4_SSL(imap_host) ## login to server imap.login(imap_user, imap_pass) imap.select('Inbox') tmp, data = imap.search(None, 'ALL') for num in data[0].split(): tmp, data = imap.fetch(num, '(RFC822)') print('Message: {0}\n'.format(num)) pprint.pprint(data[0][1]) break imap.close()
根据邮箱配置,显示邮件。