首页 > Python网络编程 阅读数:6

Python poplib模块:邮件读取POP3协议

·Python 的 poplib 模块提供 POP3 协议的客户端接口,用于从网络上接收电子邮件。

poplib 模块定义一个 POP3 类,用于创建一个 POP3 连接。POP3 类的语法如下:

class POP3([host [, port]])

其中,host 是主机名称;port 的默认值是 110。

POP3 类的实例变量的方法列表如下:
  • getwelcome():返回 POP3 服务器送出的欢迎字符串。
  • user(username):送出用户账号。
  • pass_(password):送出用户密码。
  • list([which]):返回信息列表,格式为(response, ["mesg_num octets", ...])。其中,response 是响应信息;mesg_num 的格式为(msg_id, size),msg_id 是信息号码,size 是信息的大小。
  • retr(which):返回信息号码 which,格式为(response, ["line'" ...], octets)。其中,response 是响应信息;line 是信息的内容;octets 是信息的大小。

下面的示例显示 163.com 服务器内账号为 xusanmiao、密码为 123456 的最后一个电子邮件的内容。
#使用poplib模块
import poplib, string
#指定POP服务器
host = "saturn.seed.net.tw"
#创建一一个POP3类的实例变量
myServer = poplib. POP3 (host)
#返回POP3服务器送出的欢迎字符串
print (myServer . getwelcome () )
#输入电子邮件的账号
myServer .user ("johnny")
#输入电子邮件的密码
myServer .pass_ ("123456")
#返回信息列表
r, items,octets = myServer.list ()
#读取最后一个信息
msgid,size = string.split (items [-1] )
#返回最后一个信息号码的内容
r,msg,octets = myServer.retr (msgid)
msg = string.join (msg, "\n")
#打印最后一个信息号码的内容
print (msg)