Skip to main content
 首页 » 编程设计

Python imaplib之获取大于的 uid

2025年02月15日37开发

我正在使用 python imaplib 将 imap 消息与我的数据库同步。 假设我在数据库中的最新消息 uid 是 170,我正在尝试获取最新消息的列表(大于 170)。

imap_server = 'my.imap.server' 
mail = imaplib.IMAP4_SSL(imap_server) 
mail.login(imap_user, imap_password) 
 
start_message_uid = 169 
if start_message_uid: 
    command = "UID {}:*".format(start_message_uid) 
    result, data = mail.uid('search', None, command)  
else: 
    result, data = mail.uid('search', None, "ALL") # this returns list of all messages 

但是这个命令:

result, data = mail.uid('search', None, command) 

返回 [“服务器收到的 IMAP 命令出错。”]

你能指出我做错了什么吗?

请您参考如下方法:

谢谢大家的关注。我已经通过使用解决了它:

result, data = mail.uid('search', None, "UID", start_message_uid + ':*')