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

Reply via email to