All Projects → rcarmo → Imapbackup

rcarmo / Imapbackup

Licence: mit
A Python script for incremental backups of IMAP mailboxes

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Imapbackup

Mail
Library to send e-mails over different transports and protocols (like SMTP and IMAP) using immutable messages and streams. Also includes SMTP server.
Stars: ✭ 399 (+155.77%)
Mutual labels:  mail, imap
Imap Backup
Backup GMail (or other IMAP) accounts to disk
Stars: ✭ 522 (+234.62%)
Mutual labels:  backup, imap
Sieve
Sieve Script Editor
Stars: ✭ 452 (+189.74%)
Mutual labels:  mail, imap
imapx
A cross-platform IMAP library for .NET, supporting .Net 2.0 - 4.5, Mono and Windows Phone
Stars: ✭ 28 (-82.05%)
Mutual labels:  mail, imap
Go Imap
📥 An IMAP library for clients and servers
Stars: ✭ 1,217 (+680.13%)
Mutual labels:  mail, imap
Rainloop Webmail
Simple, modern & fast web-based email client
Stars: ✭ 3,618 (+2219.23%)
Mutual labels:  mail, imap
James Project
Emails at the heart of your business logic!
Stars: ✭ 485 (+210.9%)
Mutual labels:  mail, imap
IMAPLoginTester
A simple Python script that reads a text file with lots of e-mails and passwords, and tries to check if those credentials are valid by trying to login on IMAP servers.
Stars: ✭ 47 (-69.87%)
Mutual labels:  mail, imap
Imapcopy
Recursively copy all e-mail messages and folders from one IMAP account to another.
Stars: ✭ 52 (-66.67%)
Mutual labels:  mail, imap
Docker Mailserver
Production-ready fullstack but simple mail server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) running inside a container.
Stars: ✭ 8,115 (+5101.92%)
Mutual labels:  mail, imap
Excision-Mail
Fullstack, security focused mailserver based on OpenSMTPD for OpenBSD using ansible
Stars: ✭ 108 (-30.77%)
Mutual labels:  mail, imap
Mailspring
💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Stars: ✭ 11,953 (+7562.18%)
Mutual labels:  mail, imap
ESP-Mail-Client
⚡️Arduino Mail Client Library to send, read and get incoming mail notification for ESP32, ESP8266 and SAMD21 devices. The library also supported other Arduino devices using Clients interfaces e.g. WiFiClient, EthernetClient, and GSMClient.
Stars: ✭ 78 (-50%)
Mutual labels:  mail, imap
Mailcow Dockerized
mailcow: dockerized - 🐮 + 🐋 = 💕
Stars: ✭ 4,573 (+2831.41%)
Mutual labels:  mail, imap
himalaya
Command-line interface for email management
Stars: ✭ 1,715 (+999.36%)
Mutual labels:  mail, imap
Neutron
Self-hosted server for the ProtonMail client
Stars: ✭ 452 (+189.74%)
Mutual labels:  mail, imap
skirnir
Skirnir Email Server
Stars: ✭ 31 (-80.13%)
Mutual labels:  mail, imap
fs2-mail
asynchronous library for sending and receiving mail via fs2._
Stars: ✭ 39 (-75%)
Mutual labels:  mail, imap
Hydroxide
A third-party, open-source ProtonMail CardDAV, IMAP and SMTP bridge
Stars: ✭ 578 (+270.51%)
Mutual labels:  mail, imap
Imapbox
Dump imap inbox to a local folder in a regular backupable format: html, json and attachements
Stars: ✭ 108 (-30.77%)
Mutual labels:  backup, imap

Language grade: Python

imapbackup

A Python script for creating full backups of IMAP mailboxes

Background

This was first published around 2007 (probably earlier) on my personal site, and it was originally developed to work around the then rather limited (ok, inconsistent) Mac OS X Mail.app functionality and allow me to back up my old mailboxes in a fully standard mbox format (well, at least as much as mbox can be considered a standard...).

Somewhat to my surprise it was considered useful by quite a few people throughout the years, and contributions started coming in. Given that there seems to be renewed interest in this as a systems administration tool, I'm posting the source code here and re-licensing it under the MIT license.

Features

  • ZERO dependencies.
  • Copies every single message from every single folder (or a subset of folders) in your IMAP server to your disk.
  • Does incremental copying (i.e., tries very hard to not copy messages twice).
  • Tries to do everything as safely as possible (only performs read operations on IMAP).
  • Generates mbox formatted files that can be imported into Mail.app (just choose "Other" on the import dialog).
  • Optionally compresses the result files on the fly (and can append to them).
  • Is completely and utterly free (distributed under the MIT license).

Requirements

This script should work on Python 2.5 or above without any extra dependencies whatsoever. It does not work with Python 3 (needs refactoring, see below):

Contributing

I am accepting pull requests, but bear in mind that one of the original goals of this script was to run on older Python versions, so as to save sysadmins stuck in the Dark Ages the trouble of installing a newer Python (much to my own amazement, this was originally written in Python 2.3).

I would be delighted to bring it fully up to date with Python 2.7.x/3.x, etc., and have considered adding multi-threading/multiprocessing to speed it up, but time is short enough as it is. If you feel up to the task just send me a pull request with a "new" main script with the target Python version as part of its name - something like imapbackup27.py, imapbackup39.py, etc.

Disclaimer

For tradition's sake, here goes:

IN NO EVENT WILL I BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, THOSE RESULTING FROM LOST PROFITS, LOST DATA, LOST REVENUE OR BUSINESS INTERRUPTION) ARISING OUT OF THE USE, INABILITY TO USE, OR THE RESULTS OF USE OF, THIS PROGRAM. WITHOUT LIMITING THE FOREGOING, I SHALL NOT BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES THAT MAY RESULT FROM THE USE OF THIS SCRIPT OR ANY PORTION THEREOF WHETHER ARISING UNDER CONTRACT, NEGLIGENCE, TORT OR ANY OTHER LAW OR CAUSE OF ACTION. I WILL ALSO PROVIDE NO SUPPORT WHATSOEVER, OTHER THAN ACCEPTING FIXES AND UPDATING THE SCRIPT AS IS DEEMED NECESSARY.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].