测试代码:
fetch_criteria = AND(seen=False), AND(NOT(uid=['61','88']))
for message in mailbox.fetch(fetch_criteria, mark_seen=False, charset='utf8', limit=10):
print(message.uid)
服务器响应:
<块引用>SEARCH 命令错误:错误 [b'无法解析命令']
请帮助我正确创建条件以排除 UID 66 和 88 的电子邮件
答案 0 :(得分:1)
from imap_tools import AND, NOT
mailbox.fetch(AND(NOT(uid=['39', '40'])))
mailbox.fetch(NOT(AND(uid=['39', '40'])))
两者都适用于 [yandex、google、outlook、zimbra]。
可能是你的服务器做不到这一点。
mail.ru 上的错误示例:imap_tools.errors.MailboxSearchError:预期响应状态为“OK”,但收到“NO”。数据:[b'[CANNOT] 不支持的搜索条件:(UID 5,6)']
库作者。