【发布时间】:2019-01-06 19:51:59
【问题描述】:
我需要从名为 - xteam 的特定发件人那里找到一封主题为“重置密码”的电子邮件,然后对该邮件执行一些进一步的操作
如果我这样做:
imap_host = 'imap.gmail.com'
imap_user = 'abc@gmail.com'
imap_pass = 'pass113'
imap = imaplib.IMAP4_SSL(imap_host)
imap.login(imap_user, imap_pass)
status, message = imap.search(None, '(SUBJECT "Reset Password")')
除了 xteam 之外,还有很多其他发件人发送了带有“重置密码”主题的电子邮件
然后我尝试了:
status, message = imap.search(None, '(FROM "help@xteam.com")')
但是 xteam 已经发送了许多其他不相关的电子邮件
最后:
status, message = imap.search(None, '(AND (FROM "help@xteam.com") (SUBJECT "Reset Password"))')
这给出了错误:
imaplib.IMAP4.error: SEARCH command error: BAD [b'Could not parse command']
这是最好的方法。
【问题讨论】:
-
AND 是默认值。没有关键字,它是默认值。
status, message = imap.search(None, 'FROM "help@xteam.com" SUBJECT "Reset Password"')应该可以工作。如果没有,try reading the spec. -
感谢@arnt 的帮助