2010-07-19 3 views
19

을 볼 때 나는 사용자의받은 편지함에서 일부 이메일을 구문 분석하고 싶지만 내가 할 때를 표시하지 않습니다은 imaplib와 이메일을 가져 오기하지만

typ, msg_data = imap_conn.fetch(uid, '(RFC822)') 

그것은 보이거나 읽을 때 이메일을 표시합니다. 이것은 원하는 기능이 아닙니다. SEEN 또는 SEEN 중 하나라도 이전에 보았던 이메일을 어떻게 보관할 수 있습니까?

답변

33

: 불행하게도

imap_conn.select('Inbox', readonly=True) 
+0

다른 이유로 폴더를 수정하려는 경우 (예 : 스팸이거나 일부 여서받은 편지함 일부를 삭제하는 경우) 적합하지 않습니다. – tripleee

1

RFC 1730에 따르면 "message-parts"인수로 (RFC822.PEEK)을 사용할 수 있습니다. 실제로 어떤 서버가 올바르게 구현되었는지는 확인하지 못했지만 제대로 작동하지 않는 것으로 보입니다.

+1

가 Gmail에서 작동하지 않던 문제 해결을 이전의 대답이 그랬다. 어쨌든 고마워! – PanosJee

16

다음 작업을해야합니다 :

typ, msg_data = imap_conn.fetch(uid, '(BODY.PEEK[HEADER])') 

또는 BODY.PEEK[TEXT]을 등

폴더를 선택할 때 당신은 또한 true로 read_only을 설정할 수 있습니다
관련 문제