m = imaplib.IMAP4_SSL('imap.gmail.com')
typ, accountDetails =m.login(userName, passwd)
m.select("inbox")
resp, data = m.search(None, "(ON {0})".format( time.strftime("%d-%b-%Y") ),'(FROM "email")' )
print(resp)
print(data)
这给了我输出:
OK
[b'6391 6395']
所以我假设'好的'意味着它找到了一封电子邮件,但我不知道该怎么回事。 [b' 6391 6395']表示。这些数字代表什么?
答案 0 :(得分:0)
imaplib并不真正解析响应,所以你从库中获得了相当原始的响应。 OK
是对命令的总体响应,这意味着服务器了解您的请求。
响应的每一行都作为列表中的项返回。 SEARCH
只返回一行,因此您有一个项目列表。由于imaplib不进行任何解析,因此您将以原始格式获取该响应的文本:空格分隔数字的字节对象,表示消息序列号。
您应该能够获得msns = data[0].split(b' ')
的MSN列表。
然后,您可以遍历此列表以获取更多信息,例如:
for msn in msns:
resp, data = m.fetch(msn, '(RFC822)')