Unix has various powerful email tools. Unfortunately for me, most of it forces you to use command line or edit configuration files, which sounds unnecessary for a mere desktop user like me.
However, I find that I am using those tools because the weaknesses of my GUI email client, Evolution. It is a nice app, but it is very slow and often get unresponsive when handling IMAP. Combined to the fact that I often have slow ‘net connection, using it to read email sometimes is quite painful. Console email clients like mutt or even (Al)pine are perhaps faster, but I like the integration of evolution to PIM functions and the rest of GNOME desktop.
My first solution is using fetchmail, which is quite fast and capable to handle slow connections. The mail then delivered to local mailbox, which then read by Evolution. Because access to local mailboxes is fast, Evolution is behaving nicely. Fetchmail cannot handle IMAP folders though. I think fetchmail is more suited to POP accounts, although the original author of the software seems to hate POP.
Next solution is offlineimap, which copies and synchronises IMAP folders to Maildir mailboxes, which then can be handled by Evolution. Unlike fetchmail, offlineimap doesn’t support IMAP IDLE, but it can be worked around by put it into crontab.
I also learned to configure exim4 to treat Gmail SMTP server as smarthost relay. Now, on my iBook laptop I set Evolution up to send emails to
SendmailExim. Fire and forget. Evolution doesn’t need to know whether Gmail SMTP server is up or not, because it is Exim’s job now. The result: I can close Evolution right after sending emails.