- Python-网络编程
- Python-网络简介
- Python-网络环境
- Python - 互联网协议
- Python-IP 地址
- Python-DNS 查找
- Python-路由
- Python - HTTP 请求
- Python-HTTP 响应
- Python - HTTP 标头
- Python - 自定义 HTTP 请求
- Python - 请求状态代码
- Python-HTTP 身份验证
- Python - HTTP 数据下载
- Python - 连接重用
- Python - 网络接口
- Python-套接字编程
- Python-HTTP 客户端
- Python-HTTP 服务器
- Python - 构建 URL
- Python - Web表单提交
- Python - 数据库和 SQL
- Python-远程登录
- Python - 电子邮件消息
- Python-SMTP
- Python-POP3
- Python-IMAP
- Python-SSH
- Python-FTP
- Python-SFTP
- Python - Web 服务器
- Python-上传数据
- Python-代理服务器
- Python - 目录列表
- Python-远程过程调用
- Python - RPC JSON 服务器
- Python - 谷歌地图
- Python - RSS 源
Python-IMAP
IMAP 是一种电子邮件检索协议,不下载电子邮件。它只是读取它们并显示它们。这在低带宽条件下非常有用。Python 的客户端库imaplib用于通过 imap 协议访问电子邮件。
IMAP代表互联网邮件访问协议。它于1986年首次提出。
关键点:
IMAP 允许客户端程序操作服务器上的电子邮件,而无需将它们下载到本地计算机上。
电子邮件由远程服务器保存和维护。
它使我们能够在不阅读邮件的情况下执行任何操作,例如下载、删除邮件。它使我们能够创建、操作和删除称为邮箱的远程消息文件夹。
IMAP 使用户能够搜索电子邮件。
它允许同时访问多个邮件服务器上的多个邮箱。
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()
根据邮箱配置,显示邮件。