Imaplib 使用 python 搜索带有特殊字符的主题行
Imaplib search for subject line with special characters using python
我正在尝试使用
搜索特殊字符主题行
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "Report #160496147 : "AU report QTD date wise MediaOps" from Dhruv Sapra"')
但它引发了错误的请求命令错误。
知道为什么会发生这种情况以及任何解决方案。
以下解决方案无效。
Python3 IMAP search special characters
您的问题首先是您在引用的字符串中有双引号,这是一个语法错误:
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "Report #160496147 : "AU report QTD date wise MediaOps" from Dhruv Sapra"')
尝试转义您的内引号:
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "Report #160496147 : \"AU report QTD date wise MediaOps\" from Dhruv Sapra"')
另请注意,SEARCH
的实际工作方式是特定于实现的。搜索一两个词通常效果很好,但搜索文字字符串通常效果不佳,这取决于服务器如何索引它(如果有的话)。例如,gmail 服务器仅索引单词,搜索子字符串或标点符号通常不起作用。如果您的服务器兼容,则仅搜索带或不带 # 的报告编号可能会或可能不会给您更好的结果。
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "#160496147"')
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "160496147"')
我正在尝试使用
搜索特殊字符主题行typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "Report #160496147 : "AU report QTD date wise MediaOps" from Dhruv Sapra"')
但它引发了错误的请求命令错误。
知道为什么会发生这种情况以及任何解决方案。
以下解决方案无效。
Python3 IMAP search special characters
您的问题首先是您在引用的字符串中有双引号,这是一个语法错误:
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "Report #160496147 : "AU report QTD date wise MediaOps" from Dhruv Sapra"')
尝试转义您的内引号:
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "Report #160496147 : \"AU report QTD date wise MediaOps\" from Dhruv Sapra"')
另请注意,SEARCH
的实际工作方式是特定于实现的。搜索一两个词通常效果很好,但搜索文字字符串通常效果不佳,这取决于服务器如何索引它(如果有的话)。例如,gmail 服务器仅索引单词,搜索子字符串或标点符号通常不起作用。如果您的服务器兼容,则仅搜索带或不带 # 的报告编号可能会或可能不会给您更好的结果。
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "#160496147"')
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "160496147"')