Python网络编程 IMAP

Python网络编程 IMAP

IMAP是一个电子邮件检索协议,它不下载电子邮件。它只是读取它们并显示它们。这在低带宽条件下是非常有用的。Python的客户端库名为 imaplib ,用于通过imap协议访问电子邮件。

IMAP互联网邮件访问协议 的缩写 它于1986年首次提出。

关键点

  • IMAP允许客户端程序操作服务器上的电子邮件,而不必在本地计算机上下载它们。

  • 电子邮件是由远程服务器保持和维护的。

  • 它使我们能够采取任何行动,如下载、删除邮件,而无需阅读邮件。它使我们能够创建、操作和删除远程信息文件夹,称为邮件箱。

  • IMAP使用户能够搜索电子邮件。

  • 它允许同时访问多个邮件服务器上的多个邮箱。

IMAP命令

下表描述了一些IMAP的命令。

S.N. 命令 描述
1 IMAP_LOGIN 该命令打开连接。
2 CAPABILITY 该命令要求列出服务器支持的功能。
3 NOOP 该命令用于在不活动期间定期轮询新邮件或邮件状态更新。
4 SELECT 这条命令有助于选择一个邮箱来访问邮件。
5 EXAMINE 该命令与SELECT命令相同,只是不允许对邮箱进行更改。
6 CREATE 该命令用于创建具有指定名称的邮箱。
7 DELETE 用于永久删除一个具有指定名称的邮箱。
8 重新命名 用于改变邮箱的名称。
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()
Python

根据邮件箱的配置,邮件会被显示出来。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册