Hi guys,
Thanks for the great product. We've used dovecot for ages as our
internal mail server and it works great!
I've recently started using fetchmail 6.3.9 (with IDLE enabled) to
download mail from our ISP (Pair networks). The ISP is running Dovecot
1.1.16. I am unable to get the info about the dovecot config at this time.
The IDLE support in fetchmail allows us to deliver mail near
instantaneously without the need to poll (which is what we did
previously using POP3). However I've noticed an issue where if 2 mails
are delivered in quick succession fetchmail will only download the first
email, and the second will not download. If I then send in another
test email this triggers the download of 2 emails (the original that
wasn't downloaded and the test email).
Now I'm wondering whether the issue lies with Dovecot (e.g. a timing
issue), or is it fetchmail that isn't implementing the IDLE/download
properly.
I've attached the output of a fetchmail session showing this problem in
action (I've added some annotations to this file starting with >>>>>).
The sequence of events are:
* Start fetchmail with IDLE enabled
* Send 2 emails in quick succession.
* Dovecot notifies of the new message
* Fetchmail downloads the message
* Fetchmail initiates a new IDLE
* Then nothing more is delivered. :(
* I then send another email, which triggers the 2 to download.
I don't know enough about IMAP to understand whether the problem lies
with Dovecot or Fetchmail. Hopefully an IMAP expert will be able to
see from the attached IMAP session.
Regards,
--
Matt Doran
PaperCut Software International Pty. Ltd.
http://www.papercut.com/
Phone: +61 3 9809 5194
fetchmail: 6.3.9-rc2 querying mail.XXXX.com (protocol IMAP) at Tue 12 Jan 2010
13:17:38 EST: poll started
Trying to connect to 216.92.193.84/143...connected.
fetchmail: IMAP< * OK Dovecot ready.
fetchmail: IMAP> A0001 CAPABILITY
fetchmail: IMAP< * CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES
MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS UIDPLUS
LIST-EXTENDED I18NLEVEL=1 QUOTA STARTTLS AUTH=PLAIN AUTH=LOGIN
fetchmail: IMAP< A0001 OK Capability completed.
fetchmail: will idle after poll
fetchmail: IMAP> A0002 STARTTLS
fetchmail: IMAP< A0002 OK Begin TLS negotiation now.
<snip TLS stuff>
fetchmail: IMAP> A0003 CAPABILITY
fetchmail: IMAP< * CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES
MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS UIDPLUS
LIST-EXTENDED I18NLEVEL=1 QUOTA AUTH=PLAIN AUTH=LOGIN
fetchmail: IMAP< A0003 OK Capability completed.
fetchmail: will idle after poll
fetchmail: mail.XXXX.com: upgrade to TLS succeeded.
fetchmail: IMAP> A0004 LOGIN "matt" *
fetchmail: IMAP< A0004 OK Logged in.
fetchmail: IMAP> A0005 SELECT "INBOX"
fetchmail: IMAP< * FLAGS (\Answered \Flagged \Deleted \Seen \Draft Junk NonJunk)
fetchmail: IMAP< * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft
Junk NonJunk \*)] Flags permitted.
fetchmail: IMAP< * 0 EXISTS
fetchmail: IMAP< * 0 RECENT
fetchmail: IMAP< * OK [UIDVALIDITY 1227629703] UIDs valid
fetchmail: IMAP< * OK [UIDNEXT 76875] Predicted next UID
fetchmail: IMAP< A0005 OK [READ-WRITE] Select completed.
fetchmail: IMAP> A0006 IDLE
fetchmail: IMAP< + idling
fetchmail: IMAP< * 1 EXISTS
fetchmail: IMAP> DONE
fetchmail: IMAP< * 1 RECENT
fetchmail: IMAP< A0006 OK Idle completed.
fetchmail: IMAP> A0007 SEARCH UNSEEN NOT DELETED
fetchmail: IMAP< * SEARCH 1
fetchmail: IMAP< A0007 OK Search completed (0.000 secs).
1 message for matt at mail.XXXX.com.
fetchmail: IMAP> A0008 FETCH 1 RFC822.SIZE
fetchmail: IMAP< * 1 FETCH (RFC822.SIZE 11068)
fetchmail: IMAP< A0008 OK Fetch completed.
fetchmail: IMAP> A0009 FETCH 1 RFC822.HEADER
fetchmail: IMAP< * 1 FETCH (RFC822.HEADER {1651}
reading message m...@xxxx.com:1 of 1 (1651 header octets)
Trying to connect to 127.0.0.1/25...connected.
fetchmail: SMTP< 220 smaug.XXXXX.com ESMTP Exim 4.69 Tue, 12 Jan 2010 13:17:56
+1100
fetchmail: SMTP> EHLO smaug.XXXXX.com
fetchmail: SMTP< 250-smaug.XXXXX.com Hello matt at localhost [127.0.0.1]
fetchmail: SMTP< 250-SIZE 52428800
fetchmail: SMTP< 250-PIPELINING
fetchmail: SMTP< 250 HELP
fetchmail: SMTP> MAIL FROM:<test-ord...@xxxx.com> SIZE=11068
fetchmail: SMTP< 250 OK
fetchmail: SMTP> RCPT TO:<m...@localhost>
fetchmail: SMTP< 250 Accepted
fetchmail: SMTP> DATA
fetchmail: SMTP< 354 Enter message, ending with "." on a line by itself
#
fetchmail: IMAP< )
fetchmail: IMAP< A0009 OK Fetch completed.
fetchmail: IMAP> A0010 FETCH 1 BODY.PEEK[TEXT]
fetchmail: IMAP< * 1 FETCH (BODY[TEXT] {9417}
(9417 body
octets)**************************.*************.*************.*************.*************.*************.*************.*************.**************.******
fetchmail: IMAP< )
fetchmail: IMAP< A0010 OK Fetch completed.
fetchmail: SMTP>. (EOM)
fetchmail: SMTP< 250 OK id=1NUWKS-0004rr-5f
flushed
fetchmail: IMAP> A0011 STORE 1 +FLAGS (\Seen \Deleted)
fetchmail: IMAP< * 1 FETCH (FLAGS (\Deleted \Seen \Recent))
fetchmail: IMAP< * 2 EXISTS
fetchmail: IMAP< * 2 RECENT
fetchmail: IMAP< A0011 OK Store completed.
fetchmail: IMAP> A0012 EXPUNGE
fetchmail: IMAP< * 1 EXPUNGE
fetchmail: IMAP< * 1 RECENT
fetchmail: IMAP< A0012 OK Expunge completed.
fetchmail: SMTP> QUIT
fetchmail: SMTP< 221 smaug.XXXXX.com closing connection
fetchmail: IMAP> A0013 IDLE
fetchmail: IMAP< + idling
>>>>> At this point only one message was delivered
>>>>>
>>>>> The following occurred after I sent in another email
>>>>> which triggered the IDLE notification and both were downloaded
fetchmail: IMAP< * 2 EXISTS
fetchmail: IMAP> DONE
fetchmail: IMAP< * 2 RECENT
fetchmail: IMAP< A0013 OK Idle completed.
fetchmail: IMAP> A0014 SEARCH UNSEEN NOT DELETED
fetchmail: IMAP< * SEARCH 1 2
fetchmail: IMAP< A0014 OK Search completed (0.000 secs).
2 messages for matt at mail.XXXX.com.
fetchmail: IMAP> A0015 FETCH 1:2 RFC822.SIZE
fetchmail: IMAP< * 1 FETCH (RFC822.SIZE 14548)
fetchmail: IMAP< * 2 FETCH (RFC822.SIZE 1723)
fetchmail: IMAP< A0015 OK Fetch completed.
fetchmail: IMAP> A0016 FETCH 1 RFC822.HEADER
fetchmail: IMAP< * 1 FETCH (RFC822.HEADER {1655}
reading message m...@xxxx.com:1 of 2 (1655 header octets)
Trying to connect to 127.0.0.1/25...connected.
fetchmail: SMTP< 220 smaug.XXXXX.com ESMTP Exim 4.69 Tue, 12 Jan 2010 13:18:27
+1100
fetchmail: SMTP> EHLO smaug.XXXXX.com
fetchmail: SMTP< 250-smaug.XXXXX.com Hello matt at localhost [127.0.0.1]
fetchmail: SMTP< 250-SIZE 52428800
fetchmail: SMTP< 250-PIPELINING
fetchmail: SMTP< 250 HELP
fetchmail: SMTP> MAIL FROM:<test-ord...@xxxx.com> SIZE=14548
fetchmail: SMTP< 250 OK
fetchmail: SMTP> RCPT TO:<m...@localhost>
fetchmail: SMTP< 250 Accepted
fetchmail: SMTP> DATA
fetchmail: SMTP< 354 Enter message, ending with "." on a line by itself
#
fetchmail: IMAP< )
fetchmail: IMAP< A0016 OK Fetch completed.
fetchmail: IMAP> A0017 FETCH 1 BODY.PEEK[TEXT]
fetchmail: IMAP< * 1 FETCH (BODY[TEXT] {12893}
(12893 body
octets)*********************************.*************.*************.*************.*************.*************.******************.*****************.**************.*************.*************.*************.***********
fetchmail: IMAP< )
fetchmail: IMAP< A0017 OK Fetch completed.
fetchmail: SMTP>. (EOM)
fetchmail: SMTP< 250 OK id=1NUWKx-0004sC-MW
flushed
fetchmail: IMAP> A0018 STORE 1 +FLAGS (\Seen \Deleted)
fetchmail: IMAP< * 1 FETCH (FLAGS (\Deleted \Seen \Recent))
fetchmail: IMAP< A0018 OK Store completed.
fetchmail: IMAP> A0019 EXPUNGE
fetchmail: IMAP< * 1 EXPUNGE
fetchmail: IMAP< * 1 RECENT
fetchmail: IMAP< A0019 OK Expunge completed.
fetchmail: IMAP> A0020 FETCH 1 RFC822.HEADER
fetchmail: IMAP< * 1 FETCH (RFC822.HEADER {1603}
reading message m...@xxxx.com:2 of 2 (1603 header octets)
fetchmail: SMTP> MAIL FROM:<matt.do...@xxxx.com> SIZE=1723
fetchmail: SMTP< 250 OK
fetchmail: SMTP> RCPT TO:<m...@localhost>
fetchmail: SMTP< 250 Accepted
fetchmail: SMTP> DATA
fetchmail: SMTP< 354 Enter message, ending with "." on a line by itself
#
fetchmail: IMAP< )
fetchmail: IMAP< A0020 OK Fetch completed.
fetchmail: IMAP> A0021 FETCH 1 BODY.PEEK[TEXT]
fetchmail: IMAP< * 1 FETCH (BODY[TEXT] {120}
(120 body octets)*********
fetchmail: IMAP< )
fetchmail: IMAP< A0021 OK Fetch completed.
fetchmail: SMTP>. (EOM)
fetchmail: SMTP< 250 OK id=1NUWL0-0004sC-0s
flushed
fetchmail: IMAP> A0022 STORE 1 +FLAGS (\Seen \Deleted)
fetchmail: IMAP< * 1 FETCH (FLAGS (\Deleted \Seen \Recent))
fetchmail: IMAP< A0022 OK Store completed.
fetchmail: IMAP> A0023 EXPUNGE
fetchmail: IMAP< * 1 EXPUNGE
fetchmail: IMAP< * 0 RECENT
fetchmail: IMAP< A0023 OK Expunge completed.
fetchmail: SMTP> QUIT
fetchmail: SMTP< 221 smaug.XXXXX.com closing connection
fetchmail: IMAP> A0024 IDLE
fetchmail: IMAP< + idling