Update: The latest development snapshot of Opera 9.5 has full support for virtual folder with powerful filter which supports a regular expression. Let’s give it a try! Adding GPG signing and better multiple identity support would be an icing on the cake.
I’ve been struggling with various mail clients to deal with my huge IMAP mailbox which contains about 200k messages. I didn’t want to split it into more than one. It’s not my job but an e-mail client’s job; see what GMail does!
Although Opera Mail does a great job on dealing with such a big IMAP mailbox, it lacks a couple critical features which make me have a difficulty in organizing my messages. I have missed Evolution virtual folders especially.
However, all other GUI/Web-based e-mail clients than Opera Mail are very poor at dealing with a huge IMAP mailbox. It seems like IMAP support is not a high priority task for most e-mail clients in the world. The latest alpha version of RoundCube seems to be very efficient but it lacks too many features at this moment.
Before I give up again and stick to Opera Mail, I decided to give a try to various IMAP-to-Maildir synchronization tools – isync and OfflineIMAP. Long time agao, I had a bad experience with OfflineIMAP and it seems like it doesn’t work with my account yet. By contrast, isync was indeed a great tool which does its job without any problem.
One problem with isync is that its configuration file format is somewhat undocumented, so I’d like to share my settings:
# ~/.mbsyncrc MaildirStore Local Path ~/.maildir Inbox ~/.maildir
IMAPStore Remote Host <hostname> User <username> Pass <password> CertificateFile ~/.mbsync.crt
Channel Local-Remote Master :Remote: Slave :Local: Create Slave Sync All
You also need to set up your
crontab:http://en.wikipedia.org/wiki/Vixie_cron#Modern_versions to run
mbsync:http://isync.sourceforge.net/mbsync.html periodically because Evolution doesn’t provide an option to execute a command before refreshing the local Maildir. Here’s my crontab:
*/5 * * * * pgrep -f "^(/usr/bin/)?evolution" > /dev/null && mbsync -a -q
Please note that I used
pgrep to make sure
mbsync runs only when Evolution is running.
Finally, I succeeded to make Evolution run pretty fast with my IMAP mailbox, although it’s a kind of workaround. However, I don’t think this is a ugly hack. Considering that Opera Mail stores my all messages in its local storage, what Evolution does for the local Maildir is very similar to what Opera Mail does. It creates a full text index for all messages and maintains the index for every message operation. What’s missing is immediate mailbox synchronization based on IMAP notification, and it shouldn’t be difficult to be integrated into Evolution codebase IMHO.
PS: I had a difficulty searching for isync because Apple has a product with the same name. The actual executable of isync is
mbsync, so try this google search.