The utility is inspired by the Insidious Big Brother Database (BBDB), which is a contact management utility for Emacs. If you use [X]Emacs as an email client, BBDB can watch incoming messages, and whenever a new email address is spotted, it automatically adds it to the contact list, maintained in its own database.
Similarly, whenever KBBDB is called upon, it extracts addresses from the message, creates a little vCard file, and invokes KAddressBook's DCOP interface to add the vCard entry to the KDE address book. KMail can then use these contacts for address completion while sending email.
To equip your KMail client with KBBDB, using a text editor, copy-paste the script into a plain file named kbbdb, place it under your home directory, and make it executable:
chmod +x ~/kbbdb
The script requires the Mail::Header and Mail::Address Perl modules. Under Debian, these are included in the libmailtools-perl package and can be obtained through apt-get:
apt-get install libmailtools-perl
Other distros with Perl installed can get them through Perl's CPAN repository:
perl -MCPAN -e 'install Mail::Header Mail::Address'
The script also requires KDE's KAddressBook be installed to append entries to. To check if everything's hunky-dory, run the script from the command line:
If the script runs silently without any errors, you're ready to integrate it with KMail. The steps to create an email filter under KMail are outlined in the KBBDB help file:
Once set up, KBBDB can also be used to extract contact addresses from existing messages.