Version Build Status Coverage License


Backup, restore and migrate email accounts.


There are two types of backups:

  • Keep all (the default) - progressively saves a local copy of all emails,
  • Mirror - adds and deletes emails from the local copy to keep it up to date with the account.

What You Can Do with a Backup

  • Migrate - use the local copy to populate emails on another account. This is a once-only action that deletes any existing emails on the destination account.
  • Mirror - make a destination account match the local copy. This action can be repeated.
  • Restore - push the local copy back to the original account.

See below for a full list of commands.


Homebrew (macOS)

If you have Homebrew, do this:

brew install imap-backup

As a Ruby Gem

gem install imap-backup

If that doesn't work, see the detailed installation instructions.

From Source Code

If you want to use imap-backup directly from the source code, see here.


As a first step, you need to add accounts via a menu-driven command line program:


imap-backup setup


To use imap-backup with GMail, you will need to enable 'App passwords' on your account.


Manually, from the command line:


Alternatively, add it to your crontab.

Backups can also be inspected, for example via local show and exported via utils export-to-thunderbird.


For a full list of available commands, run

imap-backup help

For more information about a command, run

imap-backup help COMMAND


If you have problems:

  1. ensure that you have the latest release,
  2. run imap-backup with the -v or --verbose parameter.


See the Development documentation for notes on development and testing.

See the CHANGELOG to a list of changes that have been made in each release.