|
Informatik-Vollmer | |
I've written a small shell script transforming mails stored using the MH format to the MAILDIR, kmail and courier-imap format.
Informations about the maildir format may be found on the pages from D. J. Bernstein
Download the actual version (1.13 of 2006/05/03) of the script.
All my tools are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The programs are free software; you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version.
You should have received a copy of the GNU General Public License along with those programs; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
If you find this software useful, please send me a postcard from the place
where you are living:
Dr. Jürgen Vollmer
Am Rennbuckel 21
D-76185 Karlsruhe, Germany
usage: mh2maildir [options] old new [folder]
transform mails stored in MH format into MAILDIR format using procmail(1)
Options:
-a Abort, if procmail produces differences in the MH and MAILDIR
mail. Default: ask the user.
(Some minor diff's, like removing a second From: line)
are already ignored by default).
-A Your DIFF program does not know the -a (Treat all files as
text) flag. Default: it knows.
The -a flag is needed in order to avoid false positive binary.
-b char Replace a blank in a MH folder name by `char', default `_'.
To remove all dots use `-b ""'
-h Show help piped through more
-H Show help.
-d char Replace a dot in a MH folder name by `char', default `-'.
To remove all dots use `-d ""'
-D prog Use `prog' for presenting differences.
Default: diff(1) if no DISPLAY variable is set, else
a graphical diff-utility is searched.
-f Force overwriting the `new' directory.
Default: it should not exist and is created by mh2maildir.
-kmail Create subdirectory names as used by kmail.
Default: use same names as used by MH.
This implies -R.
-courier Create subdirectory names as used by courier-imap.
Default: use same names as used by MH.
This implies -R.
-q Be quiet.
-r Mark mails as read.
Default: mails are marked as unread.
-R Process recursively all subdirectories of `old'.
For each subdirectory of `old' a subdirectory in `new' with
the same name is created.
Default: only the MH files contained in `old' are processed.
-U Your DIFF program does not know the -u (Output NUM (default 3)
lines of unified context) flag.
DIFF is called with this flag only if differences between the
original and the processed file are found and if you don't
have the graphical diff-tools tkdiff, mgdiff or gvimdiff
installed.
-v Show version.
Arguments:
old The MH mail directory.
new The MAILDIR mail directory.
folder Store all mails below the `folder' of `new'.
Default: store them direct below `new'.
The integrity of the transformed mails is checked (using diff)
The timestamp of the new mail file is set to old one.
The MH mail files are not modified.
Important Notes:
It's also a good idea to shut down your incoming mail delivery while
you're doing this, or else your new messages will get into whatever
folder you happen to be converting at the moment.
You should not chose `new' to be equal `old'.
This is the initial release of mh2maildir, so if you encounter some
problems or if you have ideas for extensions, please drop me an email.
Example:
Transform all mails below the directory Mail and its subdirectories
and store them below the folder KMail/old. Mark all mails as read.
mh2maildir -kmail -r -R Mail KMail old
And the same thing to a courier-imap server
mh2maildir -courier -r -R Mail EMAIL old
From the KMAIL FAQ:
Can I configure the location of my mail directory?
Exit KMail, make a backup of ~/.kde/share/config/kmailrc, then open it
with an editor and add e.g. folders=/home/username/.mail to the "[General]"
section. Then move all your existing folders (including the hidden index
files) to the new location. The next time you start KMail it will use
/home/username/.mail instead of /home/username/Mail. Note that KMail
will lose its filters if you change the mail directory's location but
forget to move your existing folders.
Credits:
Thanks to Craig Dickson <crdic-at-yahoo.com> who gave me the hint using
procmail to do the job.
Thanks to Chris Wesseling <chris-at-araneum.nl>, Bruce C. Dillahunty
<bdillahu-at-peachbush.com>, Marco Molteni <molter-at-tin.it>,
Matthias Hessler <mail-at-mhessler.de>, Chris Horn
<chorn-at-alumni.brown.edu>, David Carrel <carrel-at-SailPix.com>,
T.Yoshida <deuce-at-metal.or.jp>, and "Vincent Untz" <vincent-at-vuntz.net>
who all send me improvements and bug fixes (see also Log-entry at the end
of this file).
Other information:
Informations about the MAILDIR format may be found on
the pages of D. J. Bernstein: http://cr.yp.to/proto/maildir.html
Version:
1.13 of 2006/05/03
Author:
Dr. Jürgen Vollmer <Juergen.Vollmer@informatik-vollmer.de>
If you find this software useful, I would be glad to receive a postcard
from you, showing the place where you're living.
Homepage:
http://www.informatik-vollmer.de/software/mh2maildir.html
Copyright:
(C) 2002 Dr. Jürgen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe, Germany
License:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
© Copyright 2005
Dr. Jürgen Vollmer (www.informatik-vollmer.de)