Go to file
Rodolfo García Peñas (kix) fe25a5c752 Distro default certificates must be iterables
This patch changes the __DEF_OS_LOCATIONS to an iterable value.

The reason is because a list is an iterable, but an string is an
iterable too, and this is a mistake.

The function get_os_sslcertfile() has a loop to iterate the return of
get_os_sslcertfile_searchpath(), that returns the value in the
__DEF_OS_LOCATIONS dictionary. When the value is an iterable, the "f"
variable is set to the iterable value and works fine.
If the value of "f" is an string, the for-loop iterates over every
character, so the test for os.path.exists is always false (is comparing
the path with a character, not with the full path), so this function
fails and return None.

To check this change, edit your .offlineimaprc file and change the
sslcacertfile to OS-DEFAULT:

sslcacertfile = OS-DEFAULT

And run offlineimap. If you are not using 'darwin0 (the only iterable)
it will fails. Now, apply this patch, and run offlineimap again. Problem
is solved.

Signed-off-by: Rodolfo García Peñas (kix) <kix@kix.es>
2020-10-25 17:26:20 +01:00
.github remove requests for reviews in github 2020-09-06 11:41:11 +02:00
bin Changed environment to python3 in offlineimap 2020-08-29 08:11:56 +02:00
contrib Do not make object inheritance 2020-08-29 21:44:18 +02:00
docs docs/website-doc.sh: minor improvements in comments of versions.yml 2018-06-16 15:29:11 +02:00
offlineimap Distro default certificates must be iterables 2020-10-25 17:26:20 +01:00
scripts scripts/get-repository.sh.rej: remove unused file 2017-01-31 01:01:53 +01:00
test Updated test README file 2020-10-25 15:46:54 +01:00
tests Autmomated testing using Travis and CodeCov.io! 2018-03-05 19:31:51 +01:00
.coveragerc Autmomated testing using Travis and CodeCov.io! 2018-03-05 19:31:51 +01:00
.gitignore gitignore: re-introduce *.css 2018-03-05 19:35:13 +01:00
.travis.yml travis: remove python3.6 2019-06-10 17:36:20 +02:00
Changelog.maint.md v6.7.0.3 2016-07-26 08:46:22 +02:00
Changelog.md v7.3.0 2019-08-19 19:17:53 +02:00
CODE_OF_CONDUCT.md code of conduct: try to clarify what item 3 might mean 2016-07-12 16:04:55 +02:00
CONTRIBUTING.rst explain how to submit issues in more files 2016-09-09 21:10:30 +02:00
COPYING COPYING: fix unexpected characters 2015-01-15 11:41:35 +01:00
MAINTAINERS.rst Add self to maintainers. Update email address. 2018-04-20 12:55:25 -04:00
Makefile Makefile: targz: don't set the abbrev in the archive directory name 2018-04-09 17:17:49 +02:00
MANIFEST.in MANIFEST: exclude rfcs 2016-02-27 05:25:09 +01:00
offlineimap.conf offlineimap.conf: minor fixes 2018-12-02 00:38:05 +01:00
offlineimap.conf.minimal Improve nametrans user documentation 2012-02-13 16:09:32 +01:00
offlineimap.py offlineimap.py using env python3 2020-08-29 08:30:38 +02:00
README.md Update README.md 2020-09-06 09:45:43 +02:00
requirements.txt Deprecated linux_distribution 2020-10-25 16:38:16 +01:00
setup.cfg pypi requires a setup.cfg when README is Markdown 2016-02-27 05:34:46 +01:00
setup.py Removed unused import 2020-10-25 15:47:02 +01:00
snapcraft.yaml snapcraft uses python3 2020-08-29 09:15:00 +02:00
TODO.rst update TODO.rst 2015-11-23 02:24:33 +01:00

Upstream status (master branch): OfflineIMAP build status on Travis-CI.org OfflineIMAP code coverage on Codecov.io Gitter chat

Upstream status (next branch): OfflineIMAP build status on Travis-CI.org

Links:

OfflineIMAP

"Get the emails where you need them."

Official offlineimap.

Description

OfflineIMAP is software that downloads your email mailbox(es) as local Maildirs. OfflineIMAP will synchronize both sides via IMAP.

Why should I use OfflineIMAP?

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.

Downloads

You should first check if your distribution already packages OfflineIMAP for you. Downloads releases as tarball or zipball.

If you are running Linux Os, you can install offlineimap with:

  • openSUSE zypper in offlineimap
  • Arch Linux pacman -S offlineimap
  • fedora dnf install offlineimap

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

Requirements & dependencies

  • Python v3+
  • rfc6555 (required)
  • imaplib2 >= 3.5
  • gssapi (optional), for Kerberos authentication
  • portalocker (optional), if you need to run offlineimap in Cygwin for Windows

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