IMAP 사서함을 모니터링하고 모든 새로운 들어오는 메시지를 "보관함"폴더에 자동으로 복사하는 프로그램을 작성하려고합니다. IDLE 명령을 구현하는 imaplib2를 사용하고 있습니다. 여기 내 기본 프로그램이 있습니다 :마지막으로 python imaplib2로 확인한 이래로 imap 메일함에 추가 된 새 메시지를 찾으십니까?
M = imaplib2.IMAP4("mail.me.com")
M.login(username,password)
lst = M.list()
assert lst[0]=='OK'
for mbx in lst[1]:
print "Mailboxes:",mbx
def process(m):
print "m=",m
res = M.recent()
print res
M.select('INBOX')
M.examine(mailbox='INBOX',callback=process)
while True:
print "Calling idle..."
M.idle()
print "back from idle"
M.close()
M.logout()
그것은 제대로 사서함을 인쇄하고 첫 번째 변화가 사서함에 발생했을 때 처리()를 실행합니다. 그러나 최근()의 응답은 나에게 의미가 없으며, 첫 번째 메시지 후에 다른 알림을 얻지 못합니다.
누구든지이 작업을 수행하는 방법을 알고 있습니까?
감사합니다. 그러나 코드는 메시지가 반환 될 때마다 경고합니다. 내가 그걸로 무언가를 할 수 있도록 어떻게 메시지의 UID를 얻습니까? – vy32
시도해 볼 수있는 기능이 추가되었습니다. – gimel
감사합니다. 지금 앱을 만들거야! – vy32