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 matt@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-orders@XXXX.com SIZE=11068 fetchmail: SMTP< 250 OK fetchmail: SMTP> RCPT TO:matt@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 matt@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-orders@XXXX.com SIZE=14548 fetchmail: SMTP< 250 OK fetchmail: SMTP> RCPT TO:matt@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 matt@XXXX.com:2 of 2 (1603 header octets) fetchmail: SMTP> MAIL FROM:matt.doran@XXXX.com SIZE=1723 fetchmail: SMTP< 250 OK fetchmail: SMTP> RCPT TO:matt@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