d0d307a
#!/usr/bin/perl
d0d307a
#
d0d307a
# Usage:	inboxfer inputfile
d0d307a
#
d0d307a
# Purpose:	Transfer messages from Berkeley-format inbox to Cyrus inbox
d0d307a
#
d0d307a
# Input:	Text file containing one username per line
d0d307a
#
d0d307a
# Warning:	Do not use this script to transfer messages into a Cyrus 
d0d307a
#		mailbox that already contain messages. Existing messages 
d0d307a
#		will be overwritten.
d0d307a
#
d0d307a
#$Id: inboxfer,v 1.1 2004/02/04 12:59:42 karsten Exp $
d0d307a
d0d307a
$mailstore = "/var/spool/imap";  # Cyrus mailstore
d0d307a
$oldspool  = "/var/spool/mail";       # Old mail spool
d0d307a
$cat       = "/bin/cat";              # /usr/bin/cat on Solaris
d0d307a
$formail   = "/usr/bin/formail";
d0d307a
$pwd       = "/usr/lib/cyrus-imapd";
d0d307a
$cpmsg     = "cpmsg";               
d0d307a
d0d307a
$cmd       = "$formail -n 20 -s $pwd/$cpmsg";
d0d307a
d0d307a
$users = "$ARGV[0]";
d0d307a
if (!$users) { die "Usage: $0 $users\n"; }
d0d307a
d0d307a
open(USERS,"$users") || die "can't open $users";
d0d307a
d0d307a
while (<USERS>) {
d0d307a
    chop;
d0d307a
    $inbox = "$oldspool/$_";
d0d307a
    $prefix = substr($_,0,1);
d0d307a
    system("$cat $inbox | $cmd $mailstore/$prefix/user/$_");
d0d307a
}
d0d307a
d0d307a