On 26 Apr 2021, at 21:36, Doug McIntyre <mer...@geeks.org> wrote: > On Mon, Apr 26, 2021 at 12:34:35AM +0100, Sabahattin Gucukoglu via > Courier-imap wrote: >> ...The only feature I feel courier-imapd could use from other servers is >> CONDSTORE+QRESYNC, which is a massive gain for mobile clients—but perhaps I >> could live without it. > > I'm just curious more than anything, but I'm lacking knowledge. > This could perhaps go the main list, but perhaps the lack of response is > similar because _I_ at least don't know what that will give me?
See RFC 7162 for what QRESYNC+CONDSTORE gives you: https://tools.ietf.org/html/rfc7162 Basically, it means that given a particular point in time for the mailbox state, you can learn all the changes since. Instead of staying connected to learn that information, you can be disconnected (probably involuntarily) and then reconnect, and using minimal network round-trips and traffic, learn the changes (including, for QRESYNC, messages that are expunged). This will probably require some sort of journal in the maildir, which for ideological reasons may not be desirable. As things stand right now, you’ve got to issue FETCHes to discover if flags have changed for messages you know about, which is “chatty”—not terribly nice for high-latency mobile, albeit amortised with pipelining. Incidentally I have since poked about in imapd’s source and concluded that wherever I got my information about syscall overuse, it was just wrong—fetching flags can be done using just information encoded in the filenames of messages, no stat() required. So that’s a relief. I can only conclude that perhaps sorting or threading was involved by requirement of some broken (non-caching) webmail or other. > You give some links to patches for Apple Push Notifications for IMAP, but > again, _I_ don't know what that will give me? The way push is done on iOS is like this: a proprietary “XAPPLEPUSHSERVICE” capability and command allows the device to transmit a device token to the server. Whenever new mail arrives, the server is responsible for telling APNS (Apple Push Notification Service). The channel maintained by iOS to APNS client-side (using XMPPS) is used to inform the mail client to wake up and update the mailbox state. Whatever dispute I may have with this approach (not open, hostile to all but the great and the good, questionable reliance on back-end infrastructure in the name of battery-savings), it’s how it’s done on iOS. > Note, I get over 100 emails a day, so I don't necessarily want something > popping up on my phone constantly. > > OOTH, there are a couple people that I mark as favorites, and I have a > notification display on the phone when they do email me. > > Otherwise, my phone via IMAP tends to query mailboxes quickly, and I don't > have to wait around for new emails to show up, they appear in the INBOX on > the phone within 5 seconds of hitting the direct email store. Right now > personally, the mail store size is only about 400-500MB, but I've had tens of > GB mail folders too in the past with the same setup. Of course, you don’t notify for unimportant mail. I don’t know if you’re using iOS, but the minimum that platform supports for (automatic) “fetch” is 15 minutes. You can tell iOS how to notify—for “VIPs”, for instance, or using sounds, pop-up notifications, or simple triage to “notification centre”. In any case, every notify I get is worth having. For me, I only chime while the device is locked, and have it persistently displayed while unlocked. With the implementation I linked, when you notify is actually decided by your maildrop script; I would expect most people to notify at the same time they write the mail to their inbox, and that’s how I intend to roll with this. > My business use case of Courier-IMAP isn't a small server, but then again, > not truely huge, I have over 7,000 mailboxes. But again, I'm not sure what I > would be missing out on from having the options you are talking about. I’m pleased to hear that it works for you. As I said, I am not undisposed to it, myself, but it has been a very long time since I’ve used Courier components, and I have been surprised by how little functional change has happened in that time (to judge from the release notes) in imapd. Cheers, Sabahattin _______________________________________________ Courier-imap mailing list Courier-imap@lists.sourceforge.net Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-imap