From: W. Trevor King Date: Fri, 16 Dec 2011 00:28:38 +0000 (-0500) Subject: Add OfflineIMAP post. X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=e48f209bb46cfa2d5a677b8da6fb5f450987bac7;p=blog.git Add OfflineIMAP post. --- diff --git a/posts/OfflineIMAP.mdwn b/posts/OfflineIMAP.mdwn new file mode 100644 index 0000000..a802aae --- /dev/null +++ b/posts/OfflineIMAP.mdwn @@ -0,0 +1,60 @@ +[[!meta title="OfflineIMAP"]] + +Our internet connection from home is somewhat flaky, and long-running +connections are often dropped. This is not usually a problem, I just +make liberal use of [[screen]] when using [[SSH]]. The dropped +connections *are* annoying when I'm reading my mail over [IMAP][] with +[[mutt]], my prefered mail client. Mutt caches many changes (marking +messages as read, deleting messages, etc.) and only pushes the changes +to the remote IMAP server periodically. If the connection drops +before Mutt pushes those changes, your changes get lost, and you have +to reconnect and work through the mail again. + +It would be nice if I could work through my mail locally, and use a +more robust tool to deal with the networking side of things. There +are a number of tools to accomplish this, including the vernerable +[fetchmail][], but I use [OfflineIMAP][] because it allows me to store +my mail locally while retaining direct IMAP access if I need it +(e.g. using webmail from an internet cafe). + +Install (on [Gentoo][]) with + + # emerge -av net-mail/offlineimap + +If you're running Python >= 2.7.2rc1 you'll need OfflineIMAP >= 6.3.3 +to avoid problems such as `Unknown IMAP4 command: 'file'`. + +Then create `~/.offlineimaprc` following the provided examples. To +sync my Drexel account with my local machine, I use something like: + + [general] + accounts = Drexel + + [Account Drexel] + localrepository = DrexelLocal + remoterepository = DrexelRemote + + [Repository DrexelLocal] + type = Maildir + localfolders = ~/mail/drexel + sep = / + + [Repository DrexelRemote] + type = IMAP + ssl = yes + remotehost = imap.mail.drexel.edu + remoteuser = REDACTED + remotepass = REDACTED + +Then run `offlineimap` to start the bidirectional syncronization. +With the configuration above, you'll need to drop OfflineIMAP into a +`cron` job (or just run it before you want to read your mail, and +again after you've made any local changes). + +If you want to run OfflineIMAP continuously as a daemon, take a look +at the `autorefresh` configuration option. + +[IMAP]: http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol +[fetchmail]: http://www.fetchmail.info/ +[offlineimap]: https://github.com/nicolas33/offlineimap +[Gentoo]: http://www.gentoo.org/