![]() |
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)