offlineimap and gnome-keyring [www.rittau.org]
offlineimap allows you to keep a local copy of your emails, and synchronize it with the IMAP folders on the server. Not only handy for offline use, but also for dealing with slow mail servers and unreliable network connections.
Unfortunately, offlineimap exits with an error from time to time and needs to be restarted. The restarts are easily done with a script, but each time you restart it, offlineimap requires the IMAP server's password. offlineimap allows you to store the unencrypted password in a file, but that should not be an option if you care about security.
On Fedora 9, there's a better way to hand the password to offlineimap: gnome-keyring
First, install the Python bindings for gnome-keyring:
yum install gnome-python2-gnomekeyring
Download the file ~/.offlineimap.py and add the following settings in ~/.offlineimaprc. This assumes that you use a local IMAP server.
[general] pythonfile = ~/.offlineimap.py [Repository localhost] type = IMAP remotehost = localhost remoteusereval = get_username("localhost") remotepasseval = get_password("localhost") [Repository Zimbra] type = IMAP remotehost = mail.example.com remoteusereval = get_username("mail.example.com") remotepasseval = get_password("mail.example.com")
Download the script imap-passwords and run it to add the IMAP usernames and passwords to your keyring. It will prompt you for server, username and password - use the same host names as in .offlineimaprc.
Now you can run offlineimap in a loop to automatically restart it in the case of some unrecoverable error, like so:
#!/bin/bash while true; do /usr/bin/offlineimap echo Restarting in 60 seconds ... sleep 60 done
During the first run, gnome-keyring will ask you to authorize offlineimap to access your IMAP authentication data in the default keyring.
Thanks to Sebastian Rittau for the Keyring Python module.
22:17, 22 Sep 2008 by Carsten Clasohm Permalink