I noticed mailbox2dbmail only did one folder so i wrote this wrapper in like 5
min which imports all mail in a maildir into dbmail.
I just sshfs locally mounted the remote maildir and ran the command.
Only catch is it can’t handle folders with a dot in it and replaces it with a /
(could end up with a subfolder instead).
Enjoy.
George
r...@serapis:~ $ sh ./migratemail /mnt/Maildir/ [email protected]
Inbox
/mnt/Maildir/.MyFolders.Feedback
/mnt/Maildir/.Notes
/mnt/Maildir/.MyFolders
/mnt/Maildir/.RSS Feeds
/mnt/Maildir/.Junk E-mail
/mnt/Maildir/.Deleted Items
/mnt/Maildir/.Contacts
/mnt/Maildir/.Sent Items
/mnt/Maildir/.MyFolders.Projects.Zivios.Bug
/mnt/Maildir/.MyFolders.Projects.DBMail
/mnt/Maildir/.MyFolders.Projects.Zivios
/mnt/Maildir/.MyFolders.Projects.Postfix
/mnt/Maildir/.MyFolders.Projects.Zivios.Devel
/mnt/Maildir/.MyFolders.OSSEC
/mnt/Maildir/.Tasks
/mnt/Maildir/.Journal
/mnt/Maildir/.Drafts
/mnt/Maildir/.Spam
/mnt/Maildir/.MyFolders.Projects
/mnt/Maildir/.Calendar
/mnt/Maildir/.Outbox
/mnt/Maildir/.test.name
Ready N/y
y
*
* Inbox
***********************
Using default Inbox
Processed Message 1
Processed Message 2
Processed Message 3
Processed Message 4
Processed Message 5
Processed Message 6
Processed Message 7
Processed Message 8
Processed Message 9
Processed Message 10
Processed Message 11
Processed Message 12
Processed Message 13
Processed Message 14
Processed Message 15
Processed Message 16
Processed Message 17
Processed Message 18
Processed Message 19
Processed Message 20
Processed Message 21
Processed Message 22
Processed Message 23
Processed Message 24
Processed Message 25
Processed Message 26
Processed Message 27
Processed Message 28
Processed Message 29
Processed Message 30
Processed Message 31
Processed Message 32
Processed Message 33
Processed Message 34
Processed Message 35
Processed Message 36
Processed Message 37
Processed Message 38
All Done!
*
* MyFolders/Feedback
***********************
Processed Message 1
Processed Message 2
Processed Message 3
All Done!
*
* Notes
***********************
Processed Message 1
All Done!
*
* MyFolders
***********************
Processed Message 1
All Done!
*
* RSS
***********************
No user specified
*
* Junk
***********************
Mail folder empty
*
* Deleted
***********************
No user specified
*
* Contacts
***********************
Processed Message 1
Processed Message 2
Processed Message 3
All Done!
*
* Sent
***********************
No user specified
*
* MyFolders/Projects/Zivios/Bug
***********************
Mail folder empty
*
* MyFolders/Projects/DBMail
***********************
Processed Message 1
Processed Message 2
Processed Message 3
Processed Message 4
Processed Message 5
Processed Message 6
Processed Message 7
Processed Message 8
Processed Message 9
Processed Message 10
Processed Message 11
Processed Message 12
Processed Message 13
Processed Message 14
Processed Message 15
Processed Message 16
All Done!
*
* MyFolders/Projects/Zivios
***********************
Processed Message 1
Processed Message 2
Processed Message 3
Processed Message 4
Processed Message 5
Processed Message 6
Processed Message 7
Processed Message 8
Processed Message 9
Processed Message 10
Processed Message 11
Processed Message 12
Processed Message 13
Processed Message 14
Processed Message 15
Processed Message 16
Processed Message 17
Processed Message 18
Processed Message 19
Processed Message 20
Processed Message 21
Processed Message 22
Processed Message 23
Processed Message 24
Processed Message 25
Processed Message 26
Processed Message 27
Processed Message 28
Processed Message 29
Processed Message 30
Processed Message 31
Processed Message 32
Processed Message 33
Processed Message 34
Processed Message 35
Processed Message 36
Processed Message 37
Processed Message 38
Processed Message 39
Processed Message 40
Processed Message 41
Processed Message 42
Processed Message 43
Processed Message 44
All Done!
*
* MyFolders/Projects/Postfix
***********************
Processed Message 1
Processed Message 2
Processed Message 3
Processed Message 4
Processed Message 5
Processed Message 6
Processed Message 7
Processed Message 8
Processed Message 9
Processed Message 10
Processed Message 11
Processed Message 12
Processed Message 13
Processed Message 14
Processed Message 15
Processed Message 16
Processed Message 17
Processed Message 18
Processed Message 19
Processed Message 20
Processed Message 21
Processed Message 22
Processed Message 23
Processed Message 24
Processed Message 25
Processed Message 26
Processed Message 27
Processed Message 28
Processed Message 29
Processed Message 30
Processed Message 31
All Done!
*
* MyFolders/Projects/Zivios/Devel
***********************
Processed Message 1
Processed Message 2
Processed Message 3
Processed Message 4
Processed Message 5
Processed Message 6
Processed Message 7
Processed Message 8
All Done!
*
* MyFolders/OSSEC
***********************
Mail folder empty
*
* Tasks
***********************
Processed Message 1
All Done!
*
* Journal
***********************
Processed Message 1
All Done!
*
* Drafts
***********************
Processed Message 1
Processed Message 2
Processed Message 3
Processed Message 4
Processed Message 5
Processed Message 6
Processed Message 7
Processed Message 8
Processed Message 9
Processed Message 10
Processed Message 11
Processed Message 12
All Done!
*
* Spam
***********************
Mail folder empty
*
* MyFolders/Projects
***********************
Mail folder empty
*
* Calendar
***********************
Processed Message 1
Processed Message 2
Processed Message 3
All Done!
*
* Outbox
***********************
Mail folder empty
r...@serapis:~ $
#/bin/sh
# By George Vieira (Emperor I.T. www.emperor-it.com)
MAILDIR="$1"
EMAIL=$2
MBOX2DBMAIL=./mailbox2dbmail
if [ ! "$2" ]; then
echo "Usage : $0 /mnt/Maildir [email protected]"
exit 2
fi
if [ ! -f $MBOX2DBMAIL ]; then
echo "Can't find mailbox2dbmail"
exit 2
fi
echo "Inbox" > /tmp/maildir.$$
find $MAILDIR -maxdepth 1 -type d -name \.\* >> /tmp/maildir.$$
cat /tmp/maildir.$$
echo "Ready N/y"
read input
if [ "$input" != "y" ] && [ "$input" != "Y" ]; then
echo "Aborting..."
exit 0
fi
while read DIRPATH
do
# DIRPATH=/mnt/Maildir/.MyFolder.Projects
MAILDIRFOLDER=`basename $DIRPATH`
# MAILDIRFOLDER=.MyFolder.Projects
CLIENTFOLDER=`echo "$MAILDIRFOLDER" | sed -e "s/^\.//" | sed -e
"s/\./\//g"`
# CLIENTFOLDER=MyFolder/Projects
echo "*"
echo "* $CLIENTFOLDER"
echo "***********************"
[ "$DIRPATH" = "Inbox" ] && DIRPATH="$MAILDIR"
if [ "`ls \"$DIRPATH/cur\"`" ] || [ "`ls \"$DIRPATH/new\"`" ]; then
$MBOX2DBMAIL -m $DIRPATH -b "$CLIENTFOLDER" -u $EMAIL -t maildir
else
echo "Mail folder empty"
fi
echo
done < /tmp/maildir.$$
rm /tmp/maildir.$$
_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail