How Do I Properly Run OfflineIMAP in a Crontab
- by alharaka
Installed Fedora.
# cat /etc/redhat_release | awk ' { print F "> " $0; print ""; }'
Fedora release 14 (Laughlin)
Installed offlineimap from yum, cuz I'm lazy these days.
# yum info offlineimap | awk ' { print F "> " $0; print ""; }'
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Installed Packages
Name        : offlineimap
Arch        : noarch
Version     : 6.2.0
Release     : 2.fc14
Size        : 611 k
Repo        : installed
From repo   : fedora
Summary     : Powerful IMAP/Maildir synchronization and reader support
URL         : http://software.complete.org/offlineimap/
License     : GPLv2+
Description : OfflineIMAP is a tool to simplify your e-mail reading. With
            : OfflineIMAP, you can read the same mailbox from multiple
            : computers.  You get a current copy of your messages on each
            : computer, and changes you make one place will be visible on all
            : other systems. For instance, you can delete a message on your home
            : computer, and it will appear deleted on your work computer as
            : well. OfflineIMAP is also useful if you want to use a mail reader
            : that does not have IMAP support, has poor IMAP support, or does
            : not provide disconnected operation.
And, lo and behold, every time I run offlineimap and try to redirect output in a crontab, it does not work.  Below is my .offlineimaprc.
[general]
ui = TTY.TTYUI
accounts = Personal, Work
maxsyncaccounts = 3
[Account Personal]
localrepository = Local.Personal
remoterepository = Remote.Personal
[Account Work]
localrepository = Local.Work
remoterepository = Remote.Work
[Repository Local.Personal]
type = Maildir
localfolders = ~/mail/gmail
[Repository Local.Work]
type = Maildir
localfolders = ~/mail/companymail
[Repository Remote.Personal]
type = IMAP
remotehost = imap.gmail.com
remoteuser = [email protected]
remotepass = password
ssl = yes
maxconnections = 4 
# Otherwise "deleting" a message will just remove any labels and 
# retain the message in the All Mail folder.
realdelete = no
[Repository Remote.Work]
type = IMAP
remotehost = server.company.tld
remoteuser = username
remotepass = password
ssl = yes
maxconnections = 4 
I have tried TTY.TTYUI, NonInteractive.Quiet and NonInteractive.Basic with different variations. With or without redirection, the crontab entries I try cause problems.
$ crontab -l | awk ' { print F "> " $0; print ""; }'
*/5 * * * * offlineimap >> ~/mail/logs/offlineimap.log 2>&1
*/5 * * * * offlineimap
I always get the same damn error ERROR: No UIs were found usable!. What am I doing wrong!?