13.4.8 搜索规则
还可以使用很多其他搜索规则,包括查看消息的日期、标志和其他首部。要全面了解有关详细信息,可以参考RFC 3501的6.4.4节。
import imaplib
import imaplib_connect
from imaplib_list_parse import parse_list_response
with imaplib_connect.open_connection() as c:
typ,mbox_data = c.list()
for line in mbox_data:
flags,delimiter,mbox_name = parse_list_response(line)
c.select('"{}"'.format(mbox_name),readonly=True)
typ,msg_ids = c,search(
None,
'(SUBJECT "Example message 2")',
)
print(mbox_name,typ,msg_ids)
这个账户中只有一个这样的消息,其位于INBOX中。
还可以组合搜索规则。
import imaplib
import imaplib_connect
from imaplib_list_parse import parse_list_response
with imaplib_connect.open_connection() as c:
typ,mbox_data = c.list()
for line in mbox_data:
flags,delimiter,mbox_name = parse_list_response(line)
c.select('"{}"'.format(mbox_name),readonly=True)
typ,msg_ids = c,search(
None,
'(FROM "Doug" SUBJECT "Example message 2")',
)
print(mbox_name,typ,msg_ids)
这里用一个逻辑与(and)操作来组合搜索规则。