CYRUS2COURIER
=============
cyrus2courier is a nice tool to convert a single mailbox from
Cyrus-Imap into the Maildir++ format used by the Courier-Imap and
Dovecot IMAP servers.
FEATURES
========
* migrates the whole directory structure of a mailbox
* migrates all mailfiles with proper CR/LF-fixing
* retains all mailflags like "seen", "replied", "deleted" ...
* generates "mailfolder"-files within the subdirectories
* generates "courierpop3dsizelist" files
* optionally migrates quota and folder-subscription information
* optionally outputs dovecot-compatible format
* supports cyrus 2.0 db-style seen files
REQUIREMENTS
============
* a working getopt/getopt_long implementation (GNU getopt, OpenBSD getopt)
* a C-compiler (gcc recommended)
BUILDING
========
just type "make" in the root directory of the unpacked distribution.
KNOWN ISSUES
============
* only mail-size quotas are migrated; mail-count quotas are ignored
* c2c can only convert flatlist seen files, but you can convert
your skiplist/db3-style seen files with
cvt_cyrusdb /path/to/your.seen skiplist /path/to/a/your_flat.seen flat
(many thanks to Adam for the hint!)
USAGE
=====
Usage: cyrus2courier [options] cyrusdir courierdir mailbox
-V, --Version .............. print version information
-v, --verbose .............. be verbose / repeat to increase verbosity
-q, --quota-dir=
...... cyrus quota-files directory
-s, --subscribe-dir= .. cyrus subscribe-files directory
-e, --seen-dir= ....... cyrus seen-files directory
-x, --hashed=[s][q][e]...... cyrus hashed (s)ubscribe/(q)uota/s(e)en dirs
-d, --dovecot .............. write Dovecot-compatible files
Note: all directories have to be specified with absolute pathnames
Example:
cyrus2courier --quota-dir=/mail/conf/quota --subscribe-dir=/var/conf/user \
/var/spool/cymail /var/spool/couriermail mad
For mass-conversion, try something like ...
for mailbox in `ls /var/spool/cymail/`; do
echo $mailbox
cyrus2courier --quota-dir=/mail/conf/quota --subscribe-dir=/var/conf/user \
/var/spool/cymail /var/spool/couriermail $mailbox
done
or have a look at the shell-scripts from the scripts subdirectory.
TESTED W/
=========
* with Cyrus-Imap 1.5.x/1.6.x/2.0/2.1.x
* Courier-Imap 1.7.x/2.0
* Dovecot 0.99.10
* HPUX 11.22/ia64
* AIX 5.1
* Compaq Tru64 V5.1B
* FreeBSD 4.8/5.1
* OpenBSD 3.3/i386
* Debian Linux 3.0
* Solaris 9/x86
* Windows XP/Cygwin 1.3.22
* gcc 2.95.4, 3.2.3, 3.3, 3.4-dev
* tcc 0.9.19 (Linux)
* Compaq C V6.5-207
* IBM C for AIX 6
AUTHOR
======
* Alexander Marx
CREDITS
=======
* Timo Sirainen
Dovecot support, initial Cyrus-Imap 2.0 and 2.1 support; 64Bit support
and fixes to preserve UIDs
* Stefan Kaltenbrunner
lots of suggestions; some cyrus-imap db-file reverse engineering;
getopt-style commandline argument handling; lot's of cvs-breakage;
code to generate courierpop3dsizelist files
* Adam Shand
some help with debugging earlier c2c versions; some tips on converting
newer cyrus mailspools and an example script for cyrus2dovecot
mass-migration (see scripts/convert2dovecot.sh)
also many thanks to all the people who mailed and/or provided feedback.
--
$Id: README,v 1.31 2006/02/26 14:39:15 mad Exp $