13.4.5 邮箱状态
可以使用status()询问内容的有关合计信息。表13-1列出了标准中定义的状态条件。
状态条件必须被格式化为用空格分隔的字符串,并被包围在括号中——换句话说,使用IMAP4规范中对应“列表”的编号。邮箱名包围在“中,因为名字有可能包括空格或其他导致解析器出错的字符。
import imaplib
import re
from imaplib_connect import open_connection
from imaplib_list_parse import list_response
with open_connection() as c:
typ,data = c.list()
for line in data:
flags,delimiter,mailbox = parse_list_response(line)
print('Mailbox:',mailbox)
status = c.status(
'"{}"'.format(mailbox),
'(MESSAGES RECENT UIDNEXT UIDVALIDITY UNSEEN)',
)
print(status)
返回值仍是tuple,其中包含一个响应码和一个来自服务器的信息列表。在这里,列表中包含一个字符串,其格式为首先是邮箱名(用引号包围),然后是状态条件和值(用括号括起)。