【问题标题】:Python imaplib - get uids greater thanPython imaplib - 获取大于
【发布时间】:2018-03-09 06:40:10
【问题描述】:

我正在使用 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 命令出错。"]

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

【问题讨论】:

  • 你能分享完整的追溯吗
  • 并开启调试日志。
  • 也许你需要尝试不同的命令,比如fetch。你能粘贴你收到的错误信息吗?

标签: python imap imaplib


【解决方案1】:
result, data = mail.uid('search', None, 'UID ' + str(start_message_uid) + ':*')

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-23
      • 2011-09-01
      • 2012-12-11
      • 2021-05-29
      • 2012-10-24
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多