imapbackup
imapbackup copied to clipboard
IMAP Backup Tool
NOTE: This is an old version. imapbackup now lives at https://github.com/rcarmo/imapbackup .
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