Fixes issue #71: E-mail parsing can cause issues with emails being

picked up multiple times.

patch provided by hudora.de; thank you!
This commit is contained in:
Ross Poulton 2009-07-21 09:20:14 +00:00
parent acd082a329
commit 70c9d2d523

View File

@ -95,13 +95,17 @@ def process_queue(q):
server.login(q.email_box_user, q.email_box_pass)
server.select(q.email_box_imap_folder)
status, data = server.search(None, 'ALL')
for num in data[0].split():
status, data = server.fetch(num, '(RFC822)')
ticket = ticket_from_message(message=data[0][1], queue=q)
if ticket:
server.store(num, '+FLAGS', '\\Deleted')
while True:
status, data = server.search(None, 'NOT', 'DELETED')
msgnums = data[0].split()
if not msgnums:
break
for num in msgnums:
status, data = server.fetch(num, '(RFC822)')
ticket = ticket_from_message(message=data[0][1], queue=q)
if ticket:
server.store(num, '+FLAGS', '\\Deleted')
server.expunge()
server.close()
server.logout()