1

对于如何绕过 IMAP UID SEARCH 获取包含 %(百分比)符号的消息 ID,我将不胜感激:

import imaplib

messageId = '<CA824955.19602%username@hostname.com>'
M.uid('search', None, 'HEADER', 'Message-ID', "'" + messageId + "'")

得到:

51:55.73 > EKEE4 UID SEARCH HEADER Message-ID '<CA824955.19602%username@hostname.com>'
51:55.83 < EKEE4 BAD Could not parse command
51:55.83 BAD response: Could not parse command

我试过了

CA824955.19602%username@hostname.com
'CA824955.19602%username@hostname.com'
'CA824955.19602\%username@hostname.com'
'CA824955.19602%%username@hostname.com'

带或不带引号都返回相同的“无法解析命令”。

服务器是 imap.gmail.com

谢谢,

PS:非常感谢@glglgl,将它包装成'"' + messageId + '"'实际上有帮助。我从mysql字符串字段中获取messageId,由于某种原因,没有这个包装它就无法工作......问题已经解决,非常感谢您的闪电般的回答!!!

4

1 回答 1

0

我没有看到你的问题。

import imaplib m=imaplib.IMAP4_SSL([...]) m.login([...])
m.select('Archiv/misc') m.uid('search', None, 'HEADER', 'Message-ID',
   '<1i6c6x0.inv6rk1u5kx5cN%68kmac@gmail.com>')

非常适合我。

您是否已经尝试省略"'" +and + "'"

于 2012-02-05T07:54:09.353 回答