eb2bd80851
systemd supports a watchdog (via the WatchdogSec service file option) which will send the program a SIGABRT when the timer expires, however currently this causes offlineimap to be killed immediately. This patch registers SIGABRT and 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 Signed-off-by: Chris Smart <mail@csmart.io> Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net> |
||
---|---|---|
.github | ||
bin | ||
contrib | ||
docs | ||
offlineimap | ||
scripts | ||
test | ||
.gitignore | ||
Changelog.maint.md | ||
Changelog.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.rst | ||
COPYING | ||
MAINTAINERS.rst | ||
Makefile | ||
MANIFEST.in | ||
offlineimap.conf | ||
offlineimap.conf.minimal | ||
offlineimap.py | ||
README.md | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
TODO.rst |
OfflineIMAP
"Get the emails where you need them."
Description
OfflineIMAP is software that downloads your email mailbox(es) as local Maildirs. OfflineIMAP will synchronize both sides via IMAP.
IMAP's main downside is that you have to trust your email provider to not lose your email. While certainly unlikely, it's not impossible. With OfflineIMAP, you can download your Mailboxes and make you own backups of your Maildir.
This allows reading your email offline without the need for your mail reader (MUA) to support IMAP operations. Need an attachment from a message without internet connection? No problem, the message is still there.
Project status and future
As one of the maintainer of OfflineIMAP, I'd like to put my efforts into imapfw. imapfw is software in development that I intend to replace OfflineIMAP with in the long term.
That's why I'm not going to continue OfflineIMAP development. I'll continue to maintain OfflineIMAP (fixing small bugs, reviewing patches and merging, and rolling out new releases), but that's all.
While I keep tracking issues for OfflineIMAP, you should not expect future support.
You won't be left at the side. OfflineIMAP's community is large enough so that you'll find people for most of your issues.
Get news from the blog.
Nicolas Sebrecht. ,-)
License
GNU General Public License v2.
Why should I use OfflineIMAP?
- It is fast.
- It is reliable.
- It is flexible.
- It is safe.
Downloads
You should first check if your distribution already packages OfflineIMAP for you. Downloads releases as tarball or zipball.
Feedbacks and contributions
The user discussions, development, announcements and all the exciting stuff take place on the mailing list. While not mandatory to send emails, you can subscribe here.
Bugs, issues and contributions can be requested to both the mailing list or the official Github project. Provide the following information:
- system/distribution (with version)
- offlineimap version (
offlineimap -V
) - Python version
- server name or domain
- CLI options
- Configuration file (offlineimaprc)
- pythonfile (if any)
- Logs, error
- Steps to reproduce the error
The community
- OfflineIMAP's main site is the project page at Github.
- There is the OfflineIMAP community's website.
- And finally, the wiki.
Requirements & dependencies
- Python v2.7+
- Python v3.4+ (experimental: see known issues)
- six (required)
- imaplib2 >= 2.55 (optional)
Documentation
All current and updated documentation is on the community's website.
Read documentation locally
You might want to read the documentation locally. Get the sources of the website. For the other documentation, run the appropriate make target:
$ ./scripts/get-repository.sh website
$ cd docs
$ make html # Requires rst2html
$ make man # Requires a2x (http://asciidoc.org)
$ make api # Requires sphinx