似乎
如何使用非ascii字符串进行GMAIL搜索
一些comment from Google Groups,但无法掌握如何使用Python和imaplib
创建它:
使用文字发送非ASCII数据:
. search charset utf-8 x-gm-raw {30}
+ go ahead
"живалов -йцукен"
* SEARCH 586
. OK SEARCH completed (Success)
答案 0 :(得分:3)
这是Python IMAP search using a subject encoded with utf-8的副本,经过广泛的研究后,我得出了相同的结论:目前使用Python的imaplib
模块无法实现,因为search
方法没有' t支持IMAP文字({<number>}
用于表示文字的imaplib
字符串由search
引用。同样适用于uid
方法,因此无法用于解决imaplib
限制。
请注意,过去此功能可能是在不使用IMAP文字的情况下实现的,如问题Python IMAP search using a subject encoded with iso-8859-1中所示。
显然需要对search
进行一些攻击,因此{{1}}支持将搜索字符串作为文字传递,就像您问题中的原始IMAP互动一样。可能是在imapclient项目的上下文中实现它,这可能比对Python标准库进行更改更容易。
答案 1 :(得分:0)
我的fork of the IMAPClient库添加了gm_search()
方法,该方法使用IMAP文字执行Gmail的X-GM-RAW搜索查询。
示例:
imap_client.gm_search(u'subject:"ƒoo∫ar" has:attachment', charset='utf8')
# The method encodes the unicode string internally. I'm debating with myself if that's a good idea or not.
我正在等待作者的反馈,如果它应该包含在主项目中。