利用IMAP协议读取邮件
以上代码用来读取收件箱所有邮件的内容。 (1)M.select('INBOX')表示选择收件箱
(2)typ, data = M.search(None, 'ALL')中,None表示使用默认的ASCII编码,ALL表示搜索条件为所有邮件
M.search()返回的结果为邮件的序列号,例如我的测试环境下,收件箱有9个邮件,此时返回的结果为:
获得邮件序列号同UID对应关系可使用以下代码:)M.fetch(num, '(RFC822)')用来提取邮件消息
如果只想获得邮件头部的内容,可以使用以下代码: 上代码用来保存收件箱所有邮件的附件 (1)msg = email.message_from_bytes(data[0][1])用来将数据转换为email对象 (2)msg.walk()用来遍历邮件对象的所有部分 (3)part.get('Content-Disposition')用来获得对应字段名Content-Disposition的字段值 如果邮件包含附件,将会带有字段Content-Disposition,通过这个判断邮件是否包含附件 (4)part.get_filename()用来获得信息头当中Content-Disposition字段当中名为filename的参数值,对应附件的名称 (5)part.get_payload(decode=True)用来获得附件内容
由于附件内容是以Base64编码的形式存储,所以在读取时需要加入参数decode=True作Base64解码。 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |