Systemd units

These unit files are meant to be used in the user session. You may drop them into /etc/systemd/user or ${XDG_DATA_HOME}/systemd/user followed by systemctl --user daemon-reload to have systemd aware of the unit files.

These files are meant to be triggered either manually using systemctl --user start offlineimap.service or by enabling the timer unit using systemctl --user enable offlineimap.timer. Additionally, specific accounts may be triggered by using offlineimap@myaccount.timer or offlineimap@myaccount.service.

These unit files are installed as being enabled via a mail.target unit which is intended to be a catch-all for mail-related unit files. A simple mail.target file is also provided.

Signals

Systemd supports a watchdog (via the WatchdogSec service file option) which will send the program a SIGABRT when the timer expires.

Offlineimap handles it in the same manner as SIGUSR2, so that the current synchronisation is completed before the program exits safely.

This makes offlineimap more flexible and robust for persistent setups that make use of holdconnectionopen and autorefresh options.

For example, it may be useful in assisting with the occasional situation where offlineimap may not return successfully after a suspend and resume.

To make use of this, users could add the following to the [Service] section of their systemd offlineimap service file (restart every 5 minutes):

Restart=on-watchdog
WatchdogSec=300