邮件"/>
python读取本地foxmail邮件
收取邮件有两种方式,一种是POP3, 另一种是IMAP,它们都是收取邮件服务器支持的协议,我们用foxmail进行邮件的收发,感觉不到收发的流程,而实际上收和发是作用在不同的服务器上,发邮件有专门的发邮件服务器,收邮件也有专门的收邮件服务器,发邮件只负责发送不管收取,同时收取邮件也不管如何发邮件,因此在测试时收和发邮件是分开进行的,虽然大多数时候收发邮件服务是装在一个服务器上,但测试测的是协议,如SMTP, 如POP3, IMAP,python中的poplib收取邮件还是非常简单的,重点是收来的邮件需要解析,因为SMTP是进行编码过的,收来的邮件需要进行处理后才能被我们阅读,因此又要用到email模块,SMTP用email来传递内容,POP3用email来解析内容
poplib
#返回所有邮件的编号
list(self,which=None):
['response',['message_count, octets'],octets]/[scan listing for the message]
-----------------------------
('+OK 7 messages:', ['1 1080', '2 1080', '3 1079', '4 675265', '5 675506', '6 675534', '7 597'], 61)
#收取整封邮件,索引号必需从1开始
retr(self,which):
return whole message of number which
#身份认证
user(self,user)
pass_(self.pwd)
#显示调试信息
set_debuglevel(self,level)
#返回邮件数量和邮件大小
stat(self)
get mailbox size
return(mail_counter, mailbox_size)
-------------------------------------------
(7, 2030141)
#显示邮件的头信息,以及定制正文数据
top(self,which,howmuch)
return head of message of which, and how much lines of body message
原邮件如下:
26169 From hding@hding Tue Aug 16 20:06:02 2016
26170 Return-Path:
26171 Received: from hding ([192.168.10.3])
26172 by ding (8.13.8/8.13.8) with ESMTP id u7GC623I002429
26173 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
26174 for ; Tue, 16 Aug 2016 20:06:02 +0800
26175 Received: from 10.8.116.6 ([10.8.116.6])
26176 (authenticated bits=0)
26177 by hding (8.13.8/8.13.8) with ESMTP id u7GC0v9x027721
26178 for qa@ding; Tue, 16 Aug 2016 20:05:13 +0800
26179 Date: Tue, 16 Aug 2016 20:00:57 +0800
26180 From: hding@hding
26181 Message-Id: <201608161205.u7GC0v9x027721@hding>
26182 X-UID: 71
26183 Statu
更多推荐
python读取本地foxmail邮件
发布评论