2012-07-07 4 views
0

이것은 초보자 질문 일 수 있지만 매개 변수화 된 검색 조건을 imaplib에 성공적으로 전달할 수없는 이유를 알 수 없습니다.검색 조건을 imaplib로 전달하는 구문 분석 오류가 발생했습니다.

M = imaplib.IMAP4_SSL("imap.gmail.com", 993) 
M.login("usrname", "passwd") 
typ, data = self.M.select() # Select default mailbox 

다음 작품 :

설정 코드는

typ, data = M.uid('search', None, '(SENTSINCE 01-Jan-2010)') 

하지만 문자열로 검색 기준을 통과하려고하면 나는 이것은이다

imaplib.error: UID command error: BAD ['Could not parse command'] 

수 실패한 코드 :

f = "'(SENTSINCE 01-Jan-1994)'" 
typ, data = M.uid('search', None, f) 

수많은 구문을 시도했지만 RFC3501을 읽었습니다. 이 문제는 charset 문제입니까? 그 것에 대한

+0

시도하여 문자열'에서 인용 한 세트를 제거 f' – mata

+0

그렇습니다을 - 그것을 행한 난에 당황 말하자면 ... imaplib과 gmail은 기준을위한 구문에 대해 매우 특별하며 실제 코드 (불필요한 공백 및 누락 된 따옴표)에 두 가지 다른 문제가 있습니다. 세 가지 문제 모두 BAD 구문 분석 오류가 발생했지만 내 테스트에서는이 세 가지 문제를 동시에 해결하지 못했습니다. 이 상황에서 괄호가 어떻게 작동하는지 이해하고 싶다면 핵심 문서에 대한 모든 포인터가 도움이 될 것입니다. – richmill

+1

이 질문, 원래 버그 및 실제 답변을 답으로 명확하게 설명하십시오. 나는 비슷한 문제를 겪고 있으며 여러 달 동안 답변을 찾고 있습니다 ... – jml

답변

0

당신은 따옴표 안에 날짜와 당신의 코드를 삽입해야합니다

typ, data = M.uid('search', None, '(SENTSINCE "01-Jan-2010")')