Python imaplib模块:邮件读取IMAP协议
IMAP(Internet Message Access Protocol)是另一种读取电子邮件的协议。IMAP 是读取邮件服务器的电子邮件与公布栏信息的方法,也就是说,IMAP 允许客户端的邮件程序存取远程的信息。
Python 的 maplib 模块提供 IMAP 协议的客户端接口。imaplib 模块定义一个 IMAP4 类,用于创建一个 IMAP 连接。IMAP4 类的语法如下:
下面的示例取出 IMAP 服务器 imap.dummy.com 内的所有邮件信箱信息。
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
Python 的 maplib 模块提供 IMAP 协议的客户端接口。imaplib 模块定义一个 IMAP4 类,用于创建一个 IMAP 连接。IMAP4 类的语法如下:
class IMAP4([host [, port]])
其中,host 是主机名称;port 的默认值是 163。- IMAP4 类的实例变量的方法列表如下:
- fetch(message_set, message_parts):取出信息。
- login(user, password):登录 IMAP4 服务器。
- logout():注销 IMAP4 服务器,关闭连接。
- search(charset, criterium [, ...]):搜索邮件信箱找出符合的信息。
- select([mailbox [, readonly]]):选择一个邮件信箱。
下面的示例取出 IMAP 服务器 imap.dummy.com 内的所有邮件信箱信息。
使用imaplib模块。
#imap协议
import imaplib, getpass, string
host = "imap.dummy .com"
user ="jonny"
pwd = getpass .getpass ()
msgserver = imaplib. IMAP4 (host)
msgserver.login (user, pwd)
msgserver.select()
msgtyp, msgitems = msgserver.search (None, "ALL")
for idx in string.split(msgitems[0]) :
msgtyp, msgitems = msgserver.fetch(idx, "(RFC822) ")
print ("Message is %s\n" %msgtyp)
print ("---------------\n")
print ("Content: %s" %msgitems[0] [1])
msgserver.logout ()声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。