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笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。