2009-11-22 2 views
13

imaplib로 이메일을 삭제할 수 있습니까? 그렇다면 어떻게? imapIMAP4 개체입니다 (imap.expunge() python imaplib을 사용하여 Gmail에서 이메일을 "삭제"하시겠습니까?

:

  • 마르크 삭제 하나 개 이상의 항목 : imap.store(msg_no, '+FLAGS', '\\Deleted')
  • 사서함을 영구 IMAP을 통해 이메일을 삭제

+2

2012 년 중반 현재 기본 IMAP 설정을 조정하지 않으면 아래의 답변 중 아무 것도 작동하지 않습니다. - http://stackoverflow.com/questions/3988583/problem-deleting-emails-in-gmail-using-imaplib를 참조하십시오. –

답변

21

store 방법 (IMAP4 연결을 나타내는 개체)를 사용하여 삭제하려는 메시지 번호에 r'\Deleted' 플래그를 설정합니다 (예 : 문서 쇼). expunge 메서드는 실제로 모든 삭제 작업을 수행합니다.

Gmail의 IMAP 구현에는 기본적으로 약간 다른 의미가 있지만, 원할 경우 tweak은 기존 IMAP 구현 (위의 순서가 작동하는 방식)과 훨씬 비슷하게 동작 할 수 있습니다. 기본적으로 "고급 IMAP Controls "실습실을 방문한 다음, 내가 보낸 URL의 지침에 따라 원하는 IMAP 의미 (정확하게"삭제 된 "메일을 보관하는 것이 아니라 expunge을 기다리는 것보다는 실제로 삭제하는 것)을 얻으십시오.

16

두 단계로 수행됩니다)

+0

내받은 편지함에서 내 이메일을 제거합니다. 그러나 항목에 대해 Gmail을 검색하면 아직 남아 있습니다. 어떤 생각? Gmail과 함께 특별히 사용하기. 파이썬 버전 또는 Gmail 설정에 따라 차이가 있습니까? –

+0

이메일은 30 일마다 자동으로 정리되는 Bin 라벨로 이동합니다. – hd1

8
imap.uid('STORE', list_of_msgno , '+FLAGS', '(\Deleted)') 
imap.expunge() 

imap.uid('STORE', '2, 4, 9, 12' , '+FLAGS', '(\Deleted)') 

여기 (2, 4, 9, 12) 삭제하려고하는 메시지의 uid 있습니다.

+0

은 imap.search에서 얻은 UID와 같은 UID입니까? – user5319825

+0

작동하지 않습니다. – user5319825