cyrus2courier 1.4 review

Download
by rbytes.net on

cyrus2courier can convert a single mailbox from Cyrus-Imap into the Maildir++ format used by the Courier-Imap and Dovecot IMAP server

License: BSD License
File size: 16K
Developer: Alexander Marx
0 stars award from rbytes.net

cyrus2courier can convert a single mailbox from Cyrus-Imap into the Maildir++ format used by the Courier-Imap and Dovecot IMAP servers.

Here are some key features of "cyrus2courier":
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)

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=< dir > ...... cyrus quota-files directory
-s, --subscribe-dir=< dir > .. cyrus subscribe-files directory
-e, --seen-dir=< 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.

What's New in This Release:
[bugfix] preserve atime/mtime when converting mail files
[bugfix] fixed namespace for dovecot subscription files
added example script for cyrus2dovecot mass-migration (thanks Adam!)

cyrus2courier 1.4 keywords