Skip to content
Python
Latest commit 2e7dce2 Dec 13, 2010 @mleonhard v1.4c
Failed to load latest commit information.
LICENSE First commit. Starting with imapbackup.py 1.4a. Dec 13, 2010
README v1.4c Dec 13, 2010
imapbackup.py v1.4c Dec 13, 2010

README

IMAP Backup Tool
http://github.com/mleonhard/imapbackup
http://tamale.net/imapbackup/

This program incrementally backs up IMAP folders to local mbox
files. New messages are appended to the folder's mbox file.


= Features =

* Downloads all IMAP folders
* Stores messages in mbox, mbox.gz, or mbox.bz2
* Each folder downloads to its own mbox file, eg. Inbox.Drafts.mbox
* Downloads only new messages, appends them to the mbox file
* IMAP4 SSL, supporting client and server certificates
* Accesses IMAP account in read-only mode. Does not affect message 'seen' status.


= Usage =

Usage: imapbackup [OPTIONS] -s HOST -u USERNAME [-p PASSWORD]
 -a --append-to-mboxes     Append new messages to mbox files. (default)
 -y --yes-overwrite-mboxes Overwite existing mbox files instead of appending.
 -n --compress=none        Use one plain mbox file for each folder. (default)
 -z --compress=gzip        Use mbox.gz files.  Appending may be very slow.
 -b --compress=bzip2       Use mbox.bz2 files. Appending not supported: use -y.
 -f --=folder              Specifify which folders use.  Comma separated list.
 -e --ssl                  Use SSL.  Port defaults to 993.
 -k KEY --key=KEY          PEM private key file for SSL.  Specify cert, too.
 -c CERT --cert=CERT       PEM certificate chain for SSL.  Specify key, too.
                           Python's SSL module doesn't check the cert chain.
 -s HOST --server=HOST     Address of server, port optional, eg. mail.com:143
 -u USER --user=USER       Username to log into server
 -p PASS --pass=PASS       Prompts for password if not specified.

NOTE: mbox files are created in the current working directory.


= Example =

$ python imapbackup.py -s shevek.tamale.net -u michael -e -f INBOX
Password:
Connecting to 'shevek.tamale.net' TCP port 993, SSL
Logging in as 'michael'
Finding Folders: 67 folders
Folder INBOX: 1231 messages
File INBOX.mbox /
WARNING: Message #117 in INBOX.mbox has a malformed Message-Id header.
File INBOX.mbox -
WARNING: Message #269 in INBOX.mbox has a malformed Message-Id header.
File INBOX.mbox -
WARNING: Message #498 in INBOX.mbox has a malformed Message-Id header.
File INBOX.mbox /
WARNING: Message #609 in INBOX.mbox has a malformed Message-Id header.
File INBOX.mbox |
WARNING: Message #976 in INBOX.mbox has a malformed Message-Id header.
File INBOX.mbox -
WARNING: Message #1042 in INBOX.mbox has a malformed Message-Id header.
File INBOX.mbox: 1230 messages
Downloading 1 new messages to INBOX.mbox: 1.89 KB total, 1.89 KB for largest message
Disconnecting
$


= Compatibility =

Python 2.5.  May work on Python 2.4 with minor tweaks.


= Changes =

2009-12-12 v1.4c
* Use hashlib module instead of deprecated sha module - Ronan Sheth
* Added --folders argument - Giuseppe Scrivano
* imapbackup disappeared from Rui Carmo's site.  This version found at:
  https://gist.github.com/raw/273418/fe7c59f69ba57c40dde8c8c33d6105f46f458df8/imapbackup.py
2008-12-08 v1.4b
* Fetch with BODY.PEEK instead of BODY, to avoid marking Gmail messages as
  read - Brandon Long (Gmail team)
2007-05-28 v1.4a
* SSL support! Can use a private key file and server certificate chain file.
  Unfortunately, Python's ssl module doesn't check the certificate chain. This
  needs to be fixed.
* You can now specify the port number as part of the server name. Example:
  imapbackup.py -u user -s mail.com:1234
* Cleaned up code. Used pylint to find code that didn't comply with best
   practices.
2007-05-27 v1.3b
* Fixed bug in error message printout.
2007-05-26 v1.3a
* Better support for result of LIST command. Fixes the problem of some folders
  not getting backed up from Courier IMAPd
* Improved usage printout, made parameters more consistent.
* Added support for socket._fileobject.recv bugfix on Windows
2007-03-27 v1.2e
* By Rui Carmo.  Downloaded from:
  http://the.taoofmac.com/space/Projects/imapbackup
  http://web.archive.org/web/20071011040436/http://the.taoofmac.com/space/Projects/imapbackup
Something went wrong with that request. Please try again.