我正在尝试使用带变量的imaplib进行搜索。当我对信息进行硬编码时,搜索效果很好。
result, data = mail.search(None,'(SENTSINCE "15-Oct-2015" SENTBEFORE "19-Oct-2015")'.format(date=date))我已经尝试了很多方法来设置变量,从其他帖子来看,最好的方法似乎是将整个搜索参数设置为变量,并以这种方式调用它。
search_string = '(SENTSINCE \"' + start_date_format + '\" SENTBEFORE \"' + format_endday + '\" )\'.format(date=date)'
result, data = mail.search(None, search_string)变量设置的打印结果看起来很准确:
(SENTSINCE "12-Oct-2015" SENTBEFORE "19-Oct-2015" )'.format(date=date)我得到以下错误:
Traceback (most recent call last):
File "infringment-report.py", line 74, in <module>
result, data = mail.search(None, search_string)
File "/usr/lib/python2.7/imaplib.py", line 639, in search
typ, dat = self._simple_command(name, *criteria)
File "/usr/lib/python2.7/imaplib.py", line 1087, in _simple_command
return self._command_complete(name, self._command(name, *args))
File "/usr/lib/python2.7/imaplib.py", line 917, in _command_complete
raise self.error('%s command error: %s %s' % (name, typ, data))
imaplib.error: SEARCH command error: BAD ['The specified message set is invalid.']我已经在这个问题上苦苦思索了一段时间了,感谢你的帮助。
发布于 2017-11-04 16:03:39
我也是python和imaplib的新手,但我想这将会很好。
为了检索名称存储在变量中的邮件,比如For name,那么
let criteria = ['From', fromname]
typ, [msg_id] = mail.search(None, *criteria).https://stackoverflow.com/questions/34049847
复制相似问题