2013-10-23 5 views
0

IMAP (Gmail)에서 이메일을 보내고 마지막 부분과 고민 중입니다.IMAP 가져 오기가 너무 느림

내받은 편지함에서 85 메시지, 바로 메시지 헤더를 가져 오는 경우, 그것은 3 초에 나섭니다 :

imap.fetch(message_ids, '(BODY.PEEK[HEADER.FIELDS (FROM TO CC SUBJECT DATE)])') 

을하지만 이메일 본문을 인출하려고하면, 그것은 ~ 삼분 취

imap.fetch(message_ids, '(RFC822)') 

또는

imap.fetch(message_ids, '(BODY.PEEK[TEXT])') 

또는

,536,
imap.fetch(message_ids, 'RFC822.TEXT') 

이미 제안 된 일부 스레드로 TCP_NODELAY를 설정하려고 시도했습니다. imapClient lib 및 Twisted imap4 모듈과 동일한 문제가 발생했습니다.

의견이 있으십니까?

+1

신체에 큰 첨부 파일이 포함되어 있습니까? 많은 양의 데이터가 없기 때문에 머리글을 빨리 다운로드 할 수 있지만 20MB 메시지가 많으면 시간이 걸릴 수 있습니다. 본체 구조를 가져 와서 중요한 부분과 크기를 파악할 수 있습니다. – Max

+0

고마워요! bodystructure를보고 헤더와 본문을 별도로 가져와야했습니다. 나는 BODY [TEXT]가 몸의 텍스트 내용만을 가져올 것이라고 생각했지만, BODY [1] – rafanunes

+0

도움을 주셔서 감사합니다. 내 의견을 답변에 다시 표시하여 동의 할 수 있도록하겠습니다. – Max

답변

1

모두 첨부 파일을 포함하면 메시지의 전체 MIME 내용을 검색하며, 첨부 파일을 포함하면 상당히 클 수 있습니다.

BODYSTRUCTURE을 가져 오는 경우 메시지의 형식/구조를 구문 분석하고 다운로드하기 전에 크기에 대한 아이디어를 얻을 수 있으며 정확히 "본문"부분이 무엇인지 알 수 있습니다.