Five Pounds of Flax

Every culture has a burrito.

IMAP-IDLE 1.03 for Apple's Mail.app

Saturday, September 30, 2006posted by Michael Rothwell @ 1:20 PM

Version 1.03 of the IDLE-support plugin for Apple's Mail program is available here (link disabled; see version 1.04 link, below) To whoever listed version 1.02 on MacUpdate, could you please update the entry? :)

The changes in this release:
  1. Reliance on Applescript for certain functions has been completely removed. The plugin now uses the Mail API exclusively.
  2. Handling of online/offline, active/inactive much improved
  3. Threading bug fixed (caused crash in certain situations).
  4. It is much slimmer: the ZIP file for this version is only 40k rather than the megabyte or so of previous versions.
Apple's mail client (Mail.app) supports IMAP accounts, but does not support the IDLE extension (RFC 2177). IDLE is good, because it lets the server notify clients when new mail arrives, meaning that clients don't have to poll. Or at least, will get new mail more often than $POLL_INTERVAL.

This plugin adds IDLE support. It works by opening a connection for each IMAP account, selecting the INBOX, entering IDLE mode, and waiting for messages. When it gets a message from the server indicating that new mail has arrived, it causes Mail.app to check for new mail in the appropriate account.

Check your console.log (/Applications/Utilities/Console) if you want to see what it's doing. The messages it logs include information on whether your IMAP server supports the IDLE extension. Here's a page describing how to tell if your server supports IDLE. Long story short: iPlanet and DotMac do not! Exchange does, as does cyrus and dovecot. This plugin is untested with Exchange. I'll verify it functions with Exchange in a future release.

** UPDATE 2006-10-11
Version 1.04 has been released.