I wish there was something better than offlineimap. It is tends to work horribly for me when run in an automated fashion:
* It doesn't tend to deal well when it is in the middle of a sync and the laptop is put to sleep.
* It recently put me into some weird password prompt hell where neither C-c nor C-\ would quit out if it and it just kept asking for my password, no matter how many times it failed.
* It randomly will die in the middle of the sync with a stack-trace complaining about not being able to call some function or attribute on "None".
* It will randomly decide to hang in the middle of a sync and just run up the CPU for hours on end before I wonder why all my fans are running full blast...
That said, it at least keeps the directories in a stable state throughout all of those errors, but it would be helluva nice if its error messages weren't python stacktraces... Maybe all of my errors have to do with syncing IMAP<->Maildir instead of IMAP<->IMAP? Who knows.
I'm currently saying 'screw it' and moving to a fetchmail/procmail setup.
Huh. I've never had these problems (on a Macbook Pro); the only problem I have is that if you run it from a terminal window it fucks up the tty and you have to close the session. But it goes great guns from cron and I've never had it lose or misplace a mail, reading from IMAP and writing to Maildir. I know, anecdotes aren't evidence; but I'm just happy I don't have to use the godawful fetchmail/procmail combo.
I've never had it screw up any of my email. Thankfully, no matter what the errors ended up being, it really gracefully handled leaving IMAP/Maildir in a stable, non-corrupted state. The major pain comes from keeping it going.
If it dies on a "Can't call X on NoneType object" exception, then just running it again is fine (though it's really annoying that 'production-level' consistently code dies with these types of exceptions). But protecting against offlineimap freezing when the laptop suspended in the middle of a sync (or because it hit some infinite-loop that wants to eat 99% of my CPU) is another thing altogether. It's hard to write a simple shell script to protect against those things, and I don't think that I should need to create some convoluted system of parallel processes that monitor each other just to keep offlineimap running.
* It doesn't tend to deal well when it is in the middle of a sync and the laptop is put to sleep.
* It recently put me into some weird password prompt hell where neither C-c nor C-\ would quit out if it and it just kept asking for my password, no matter how many times it failed.
* It randomly will die in the middle of the sync with a stack-trace complaining about not being able to call some function or attribute on "None".
* It will randomly decide to hang in the middle of a sync and just run up the CPU for hours on end before I wonder why all my fans are running full blast...
That said, it at least keeps the directories in a stable state throughout all of those errors, but it would be helluva nice if its error messages weren't python stacktraces... Maybe all of my errors have to do with syncing IMAP<->Maildir instead of IMAP<->IMAP? Who knows.
I'm currently saying 'screw it' and moving to a fetchmail/procmail setup.