16.4.3 搜索电子邮件选择文件夹

登录后,实际获取你感兴趣的电子邮件分为两步。首先,必须选择要搜索的文件
夹。然后,必须调用IMAPClient 对象的search()方法,传入IMAP 搜索关键词字符串。
选择文件夹
几乎每个账户默认都有一个 INBOX 文件夹,但也可以调用 IMAPClient 对象的 
list_folders()方法,获取文件夹列表。这将返回一个元组的列表。每个元组包含一个文件夹的信息。输入以下代码,继续交互式环境的例子:
>>>  import  pprint
>>>  pprint.pprint(imapObj.list_folders())
[(('\\HasNoChildren',),  '/',  'Drafts'),
(('\\HasNoChildren',),  '/',  'Filler'),
(('\\HasNoChildren',),  '/',  'INBOX'),
(('\\HasNoChildren',),  '/',  'Sent'),
--snip--
(('\\HasNoChildren',  '\\Flagged'),  '/',  '[Gmail]/Starred'),
(('\\HasNoChildren',  '\\Trash'),  '/',  '[Gmail]/Trash')]
如果你有一个 Gmail 账户,这就是输出可能的样子(Gmail 将文件夹称为 label,但它们的工作方式与文件夹相同)。每个元组的三个值,例如 (('\\HasNoChildren',),  
'/', 'INBOX'),解释如下:
•    该文件夹的标志的元组(这些标志代表到底是什么超出了本书的讨论范围,你

可以放心地忽略该字段)。
•    名称字符串中用于分隔父文件夹和子文件夹的分隔符。
•    该文件夹的全名。
要选择一个文件夹进行搜索,就调用 IMAPClient 对象的select_folder()方法,传入该文件夹的名称字符串。
>>>  imapObj.select_folder('INBOX',  readonly=True)
可以忽略 select_folder()的返回值。如果所选文件夹不存在,Python  会抛出
imaplib.error 异常。
readonly=True 关键字参数可以防止你在随后的方法调用中,不小心更改或删除该文件夹中的任何电子邮件。除非你想删除的电子邮件,否则将 readonly 设置为 True总是个好主意。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大飞哥软件自习室

希望支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值