KMail/Tools

From KDE Wiki Sandbox
Outdated translations are marked like this.

KMail: Tools

Warning
Please understand that the software and documentation provided here is mostly not written by the KMail team, so they cannot provide support for it. In fact they often cannot even test these applications - use at your own risk. Some of these utilities are extremely old

Mail Import Tools

You should first try to import your old mail using KMail's File -> Import Messages... menu.

If you need to import mails and directory structure from Outlook, you can use Thunderbird (Windows version) to import Outlook data, then you can use the Kmail import from Thunderbird and point the directory where theThunderbird data has been saved.

If that doesn't work, the following programs might be helpful:

  • readpst, a utility for converting Microsoft Outlook mail files (personal folders) to standard UNIX mbox format, Added 2005-01-24
  • Outport, a program for exporting data from Outlook to Evolution, from which KMail can import messages, Added 2004-07-23
  • mozilla2kmail.pl, a simple bash script to convert mail from Mozilla to KMail, Added 2004-06-12
  • Sylpheed2Maildir, a simple bash script to convert a sylpheed mail box directory to maildir format. Added 2003-05-27
  • Eudora2Unix, a collection of Python scripts that together convert Qualcomm Eudora mail folders to mail directories for unix or Linux. Updated 2003-03-31
  • ol2mbox, Outlook Express to mbox converter (not maintained anymore). Added 2002-02-09
  • tb2kmail, a tool to export mail from The Bat to KMail. Added 2002-01-07
  • xfmail2mbox.sh, a shell script by Jörg Reinhardt <joeyhh(at)gmx.de> to convert xfmail folders to mbox (which is used by KMail). Requires awk. Updated 2001-02-12

Mail Export Tools

  • MHonArc, a mail-to-HTML converter. Added 2003-03-31
  • tKMailHonArc, a frontend for MHonArc to convert KMail email folders (mbox, maildir) to HTML. Added 2003-03-31
  • mbox2pdf, perl script for converting an email mbox to a hyperlinked pdf. Uses hypermail-2.2.0 and LaTeX. Added 2011-08-11.

Addressbook Import Tools

  • lookout, a small Python script that enables you to convert your Outlook 97 addressbook data to KAB. Added 2002-07-31
  • pineToKMail, a perl script to convert a pine addressbook to a KMail addressbook.

Development and Security

  • Mail client test file v0.5 (55kB): This mbox file triggers some bugs and has very long field values to trigger buffer overflows. You may use this to find possible security problems - not only in KMail, but in any mail client that supports mbox folders. Just copy this file to ~/Mail/ and start KMail.

Anti-Spam Tools

  • KMail and SpamOracle Mini HOWTO This is a description of how to configure KMail to filter spam using SpamOracle (Bayesian self-learning algorithm filtering for English and non-English messages) on IMAP and POP accounts without using procmail, Updated 2004-01-19
  • Startup script for SpamAssassin (Christian Banik <christian at buschaos.de>, 2002-07-11) This is a startup script for SpamAssassin in SuSE Linux 8.0. You can install SpamAssassin from the RPMs. You have to remove the old startup script /etc/rc.d/init.d/spamassassin and copy this script to /etc/init.d/spamd. cd to /etc/init.d and call insserv spamd. On the next bootup, SpamAssassin will be activated.

Other Tools and Patches

  • Lyris Filter, a script to repair broken IDs and In-Reply-To headers produced by the commercial listserve product Lyris, Updated 2005-01-16

Script to filter by header (by Marc Mutz)

This perl script can be used with a pipe through filter action after a remove header -> Reply-To action. It's useful for people who want to change certain headers based on the content of other headers. This is something KMail filters currently do not support, but is useful here and there.

This particular script replaces (if used in conjunction with the remove header -> Reply-To action) the Reply-To header of mails sent from a Debian-style bugtracking system with <bugno>@bugs.kde.org. This is useful if bug reports are delivered to developers through a mailinglist that overwrites the Reply-To header with its post address:

#!/usr/bin/perl
    $endOfHeader = 0;
    while (<>) {
        if ( $endOfHeader == 0 )
        {
            if ( /^(?i:Subject):\s+Bug\#(\d{4,5}):/ )
            {
                $_ = "Reply-To: $1\@bugs.kde.org\n".$_;
            }
            elsif ( /^$/ )
            {
                $endOfHeader = 1;
            }
        }
        print;
    };
  • uniqmail, a small bash/sed script that removes mail duplicates from mbox files.
  • Using KMail and Maildir (by Georg Lehner, jorge(at)toa.magma.com.ni):

qmail delivers (with standard Maildir setup) Mail into the subdirectories of ~/Maildir/, that means, personal mail never goes to a "public" directory (e.g. /var/spool/mail/) as is the case with traditional mail transport agents.

qmail provides a command: maildir2mbox, to re-"deliver" mail from ~/Maildir/ to this namely public directory, we wrap this command into a script: qmail2kmail.

KMail is set up to read mail from the "traditional" place, but qmail2kmail is run before checking mail via the precommand directive in the configuration, so it finds all incoming mail where it is supposed to find it in a traditional setup.

Setup: My qmail binaries reside in /var/qmail/bin, which is most probably not the "right" place to put them, so fix this on your system and in the qmail2kmail script.

I installed qmail2kmail in /usr/local/bin, I suppose it should be world executable, or at least by the qmail-groups, if you are concerned about security you should know how to figure out and rewrite these instructions.

In the KMail configuration you should have something similar to:

[Account 1]
  Folder=inbox
  Name=Mi correo en TOA
  Type=local
  check-exclude=false
  check-interval=0
  precommand=/usr/local/bin/qmail2kmail

and everything should work fine. Here comes qmail2kmail:

#!/bin/sh
  #
  # LEG06012001
  # Convert Mails in Maildir format in ~/Maildir/ to mbox format in ~/Mail/inbox
  #   as required by Kmail.

  MAILDIR=~/Maildir/
  MAILTMP=tmpdir
  MAIL=/var/mail/$USER
  export MAILDIR MAILTMP MAIL

/var/qmail/bin/maildir2mbox

Note that "tmpdir" is a scratchfile and will be overwritten, so if you happen to have a file tmpdir in the place where maildir2mbox wants to create it, you will get in trouble.

A solution would be to use the tempfile command, but it happens to not exist on every Unix, so a local solution will have to be found if necessary. If qmail2kmail doesn't run in the $USER's homedirectory (which I did not check out) I would strongly recommend to use at least:

MAILTMP=$USER/.qmailtemp

Note that I also successfully installed qmail-pop3d and fetched mail via POP3 from the local host, but it is slower and clumsier.