-------------------------------------------------------------------------------- Contents of the tools directory: -------------------------------------------------------------------------------- Action scripts: cm-reparent.pl Fix thread parenting for two or more messages cm-break.pl Remove thread parenting for one or more messages ddg_search.pl Search DuckDuckGo for selected text google_msgid.pl Search groups.google.com for selected message-id multiwebsearch.pl Search any search engine for the selected text textviewer.sh Attempt to view an attachment as plain text uudec Decode and display uuencoded images uuooffice Decode uuencoded attachments and open them with OpenOffice Addressbook conversion: csv2addressbook.pl Import Becky, Thunderbird, Kmail, Gmail and Fox Mail address books eud2gc.py Convert Eudora address book to Gnomecard kmail2claws-mail.pl Import a Kmail address book (KDE2) kmail2claws-mail_v2.pl Import a Kmail address book (KDE3) mew2claws-mail.pl Import a Mew address book outlook2claws-mail.pl Import an Outlook generated contact list tb2claws-mail Import The Bat! address books vcard2xml.py Import an Evolution vCard Mailbox conversion: calypso_convert.pl Import mbox files with attachments from Calypso convert_mbox.pl Import mbox files kmail-mailbox2claws-mail.pl Convert a kmail mailbox to a Claws Mail mailbox tbird2claws.py Integrate a Thunderbird folder tree into Claws Other tools: acroread2claws-mail.pl Send PDFs from Adobe Reader 7 claws-mail-compose-insert-files.pl Insert files into a new Compose window filter_conv_new.pl Convert new-style Sylpheed filters to filtering filter_conv.pl Convert old-style Sylpheed filters to filtering fix-date.sh Replace/Add a message's Date field mairix.sh A wrapper to mairix, to enable global searches in mail folders nautilus2claws-mail.sh Send files from Nautilus popfile-link.sh Open messages in POPFile control center to edit their status textviewer.pl Display various attachments as text thunderbird-filters-convertor.pl Convert Thunderbird filtering rules Extra tools: gif2xface.pl Convert a 48x48 GIF file to an X-Face header update-po Update the .po files named on the command line. -------------------------------------------------------------------------------- Detailed Descriptions: -------------------------------------------------------------------------------- Action scripts -------------- * cm-reparent.pl WORKS ON: selected messages (two or more) COMMAND: cm-reparent.pl %F Thread the selected messages based on date, old to new * cm-break.pl WORKS ON: selected messages (one or more) COMMAND: cm-break.pl %F Break thread references for the selected messages * ddg_search.pl WORKS ON: selection COMMAND: |ddg_search.pl Search duckduckgo.com for selected text using the default Claws Mail browser * google_msgid.pl WORKS ON: selection COMMAND: |google_msgid.pl Lookup selected message-id in google using mozilla. Edit the script to use different browsers. * multiwebsearch.pl WORKS ON: selection see further down for details * textviewer.sh WORKS ON: current message part COMMAND: textviewer.sh %p | Attempt to view an attachment as plain text * uudec WORKS ON: current message (or part of multipart message) COMMAND: uudec %f& Decode and display uuencoded images using uudecode. * uuooffice WORKS ON: current message (or part of multipart message) COMMAND: uuooffice %f& Decode uuencoded attachments and open them with OpenOffice * More action examples can be found at the Claws Mail FAQ http://www.claws-mail.org/faq/index.php/Actions ** multiwebsearch.pl ** WHAT IT DOES This is an Actions script that allows you to search websites for the selected text. It uses the default Claws Mail browser as configured through Claws Mail's GUI and specified in ~/.claws-mail/clawsrc, and a configuration file called multiwebsearch.conf. CONFIGURATION The configuration file takes the following format: ALIAS|URL PART|URL PART ALIAS is a user-defined name; the first URL PART is the url before the search term; the second URL PART is optional and contains the remaining part of the url which comes after the search term. A sample configuration file is included. HOW TO USE IT Copy 'multiwebsearch.conf' to ~/.claws-mail/ Configure an Action: a) pre-configured website Command: multiwebsearch.pl --where="ddg" --what="%s" b) dynamic Command: multiwebsearch.pl --where="%u" --what="%s" In type a) "ddg" refers to one of the configured aliases, this Action will always search the website referred to by the alias "ddg". In type b) you will be presented with a dialog box into which you type one of your configured aliases Contact: Paul Mangan -------------------------------------------------------------------------------- Address book conversion ----------------------- * csv2addressbook.pl WHAT IT DOES This perl script will import a Becky, Thunderbird, Kmail, Gmail and Fox Mail address book. HOW TO USE IT (You must run claws-mail at least once before running this script.) Becky >= 2.41 ------------- In Becky you need to do a CSV full export with titles of your address book. Run the script with the following options: perl csv2addressbook.pl --type=becky --csv=/full/path/to/file.csv Addtionally you can use the option '--name="My address book"', if you don't use this option the new Claws address book will be called 'Becky address book'. Thunderbird >= 2.0.0.6 ---------------------- In Thunderbird you need to export your address book as 'comma separated'. Run the script with the following options: perl csv2addressbook.pl --type=thunderbird --csv=/full/path/to/file.csv Addtionally you can use the option '--name="My address book"', if you don't use this option the new Claws address book will be called 'Thunderbird address book'. Kmail >= 1.9.7 / Kaddressbook >= 3.5.7 -------------------------------------- In Kaddressbook you need to export your address book as 'CSV List'. Run the script with the following options: perl csv2addressbook.pl --type=kmail --csv=/full/path/to/file.csv Addtionally you can use the option '--name="My address book"', if you don't use this option the new Claws address book will be called 'Kmail address book'. WARNING: Kmail/Kaddressbook has a bug whereby it exports badly formatted CSV if the values are quoted. Gmail ----- In the Gmail web interface you need to export your address book as Outlook CSV format. Run the script with the following options: perl csv2addressbook.pl --type=gmail --csv=/full/path/to/file.csv Addtionally you can use the option '--name="My address book"', if you don't use this option the new Claws address book will be called 'gmail address book'. Fox Mail -------- Export your Fox Mail address book as CSV with all possible headers. Run the script with the following options: perl csv2addressbook.pl --type=foxmail --csv=/full/path/to/file.csv Addtionally you can use the option '--name="My address book"', if you don't use this option the new Claws address book will be called 'foxmail address book'. You can also run the script with '--help' to get a brief usage message. Contact: Paul Mangan * eud2gc.py WHAT IT DOES This python-script is a quick hack to convert an Eudora (v.3?) addressbook to vCard (GnomeCard) format. HOW TO USE IT You may do whatever you want with it! (Also regarding copying) However, the script is intended to use like this: eud2gc.py Be careful not to overwrite your original GnomeCard.gcrd! (But of course you might want to add the converted stuff to it) Contact: Jeroen Versteeg * kmail2claws-mail.pl WHAT IT DOES This perl script will convert an exported Kmail addressbook into a Claws Mail addressbook. If your version of Kmail is 1.37 or greater and/or your version of KAddressBook is 3.1beta1 or greater, or this script mixes up your definitions and their related data, use 'kmail2claws-mail_v2.pl' instead. HOW TO USE IT (You must run claws-mail at least once before running this script.) In Kmail's Address book choose '/File/Export List'. This will export your Kmail address book data to a *.csv file. If Claws Mail is running, close it. From the command line, execute the following: perl kmail2claws-mail.pl --kmailfile=/path/to/addressbook.csv Your Kmail address book data will now be contained in Claws Mail' address book, under the name 'Kmail Address Book'. Contact: Paul Mangan * kmail2claws-mail_v2.pl This script has been tested with Kmail 1.4.7 and KAddressBook 3.1beta1 WHAT IT DOES This perl script will convert a Kmail address book that has been exported in csv format into a Claws Mail address book. HOW TO USE IT (You must run claws-mail at least once before running this script.) Open Kmail's Addressbook, /File/Address Book In Kmail's Addressbook choose '/File/Export/Export List...'. This will allow you to export your Kmail addressbook data to a *.csv file. If Claws Mail is running, close it. From the command line, execute the following: perl kmail2claws-mail_v2.pl --kmailfile=/path/to/addressbook.csv You can also use --help to see usage instructions. Your Kmail addressbook data will now be contained in Claws Mail' addressbook, under the name 'Kmail address book'. Contact: Paul Mangan * mew2claws-mail.pl WHAT IT DOES This perl script will convert a Mew address book into a Claws Mail address book. HOW TO USE IT (You must run claws-mail at least once before running this script.) If Claws Mail is running, close it. From the command line, execute the following: perl mew2claws-mail.pl --mew-addressbook=/path/to/mew/addressbook You can also use --help to see usage instructions. Your Mew addressbook data will now be contained in Claws Mail's addressbook, under the name 'Mew Address Book'. Contact: Jérôme Lelong * outlook2claws-mail.pl WHAT IT DOES This perl script converts an Outlook generated contact list into a Claws Mail XML address book. HOW TO USE IT For text files: -------------- You must export Outlook Express contact list as TXT file, choosing only "Name" and "Address" fields to export. You must exit Claws Mail before converting the contact list. From the command line, execute the following: outlook2claws-mail.pl fullpathname For csv files: ------------- You must export Outlook contact list as CSV file, choosing ALL the fields available for exporting. You must exit Claws Mail before converting the contact list. From the command line, execute the following: outlook2claws-mail.pl --csv fullpathname LIMITATIONS For text files only works with fields described above. If you have more complex examples send them to me, and I'll try to enhance the script. For csv files you must export all fields (but only non empty fields are added to the created Claws Mail address book) and the number of fields expected is harcoded. Look for the $nboffields variable in the script and change its value if you are sure you exported all fields and script gives the 'unknown csv file format' error. Contact: Ricardo Mones * tb2claws-mail WHAT IT DOES This perl script will convert an address book exported from The Bat! into a Claws Mail address book. HOW TO USE IT (You must run claws-mail at least once before running this script.) If Claws Mail is running, close it. Export The Bat! Address Book to CSV file format with all fields selected to YES and then start: tb2claws-mail --tbfile=/full/path/to/thebat/addressbook.csv The Bat! addressbook data will now be contained in Claws Mail' addressbook, under the name 'The Bat! Address Book'. Contact: Urke MMI * vcard2xml.py WHAT IT DOES This python script will convert an Evolution vCard into a Claws Mail address book. HOW TO USE IT (You must run claws-mail at least once before running this script.) If Claws Mail is running, close it. From the command line, execute the following: vcard2xml.py source_file [destination_file] When only is specified it will overwrite (and create a backup of) the existing addressbook. When both arguments are suplied it will create a new additional addressbook named as . If the script encounters an error it will attempt to roll back the changes and restore the original files. Contact: Bogdan Sumanariu -------------------------------------------------------------------------------- Mailbox conversion ------------------ * calypso_convert.pl WHAT IT DOES This perl script imports mbox files that are exported by Calypso. It recreates the folder structure by scanning the "X-CalypsoFolder" header and reincludes the attachments referenced in the "X-CalypsoHtmlBody" "X-CalypsoAccount" "X-Attachment" headers. HOW TO USE IT Export the Calypso mailbox by selecting "Save to archive" and check the "Save attachments" box. Edit the script to set following variables (at the top of the file): $mboxdir : path to the exported mbox, e.g. 'Archive' or '.' $mboxfile : name of exported mbox, e.g. 'mail.txt' $outdir : name of the MH folder to create, e.g. 'Calypso' Run the script using perl calypso_convert.pl Finally, import that folder by either selecting "New mailbox" or moving it into your existing directory and recreate the folder structure manually (contentmenu from folderview). Contact: Thorsten Maerz * convert_mbox.pl WHAT IT DOES This perl script converts an mbox directory's contents into Claws Mail' MH format. HOW TO USE IT Run the script using: perl convert_mbox.pl MBOX MH_DIR Move the outputted MH_DIR and its contents into your Claws Mail Mail folder; in Claws Mail right-click the top-level folder and choose 'Rebuild folder tree' from the popup menu. Contact: Fred Marton * kmail-mailbox2claws-mail.pl WHAT IT DOES This perl script converts a kmail mailbox into Claws Mail' mailbox. HOW TO USE IT Exit Claws Mail if running. Run the script using: kmail-mailbox2claws-mail.pl --kmaildir=/full/path/to/kmail/mailbox Start Claws Mail and right-click the toplevel mailbox, i.e "Mailbox (MH)", and select 'Rebuild folder tree'. You may also need to run '/File/Folder/Check for new messages in all folders' Additional options: --debug debug mode --dry-run test mode, nothing is actually written --help brief usage info Contact: Paul Mangan * tbird2claws.py WHAT IT DOES This python script integrates a Thunderbird folder tree into Claws Mail. HOW TO USE IT The script receives two parameters from command-line: The best way to use it is to go to inside your Thunderbird root mailfolder directory and invoke it as: \python2.4 \tbird2claws.py . \Mail Contact: Aleksandar Urosevic aka Urke MMI -------------------------------------------------------------------------------- Other tools ----------- * acroread2claws-mail.pl WHAT IT DOES This perl script enables Adobe Reader 7 to send documents to Claws Mail as attachments. HOW TO USE IT Make sure that the script is executable (chmod +x acroread2claws-mail.pl) Start up Adobe Reader 7 (acroread) Go to /Edit/Preferences/SendMail Select any email client except 'System Mail (mail)' Enter the path to this script in the alternate location box You can then use 'File/Email' or the Email toolbar button to launch claws-mail (if not already launched) and open a new compose window with the PDF attached. Contact: Paul Mangan * claws-mail-compose-insert-files.pl WHAT IT DOES This script enables inserting files into the message body of a new Claws Mail Compose window from the command line. Additionally To, Cc, Bcc, Subject and files to attach to the message can be specified. HOW TO USE IT claws-mail-compose-insert-files.pl [options] Options: --help -h --to "Person One " --cc "Person One " --bcc "Person One " --subject "My subject" --attach FILE --insert FILE For multiple recipients separate the addresses with ',' e.g. --to "Person One ,Person Two " --attach and --insert can be used multiple times Contact: Paul Mangan * filter_conv_new.pl WHAT IT DOES This perl script provides easy conversion of your filtering rules from sylpheed's new filter system (>= 0.9.99) to the filtering system used in Claws Mail. It reads '~/.sylpheed-2.0/filter.xml' or '~/.sylpheed/filter.xml' and writes '~/[CLAWS CONFIG DIR]/matcherrc' HOW TO USE IT Issue the following command from the 'tools' directory: perl filter_conv_new.pl That's it, the claws' filtering system is now implemented with your previous rules applied. REQUIREMENTS XML::SimpleObject Contact: Paul Mangan * filter_conv.pl WHAT IT DOES This perl script provides easy conversion of your filtering rules from sylpheed's old filter system (< 0.9.99) to the filtering system used in Claws Mail. It reads '~/.sylpheed/filterrc' and writes '~/.claws-mail/matcherrc' HOW TO USE IT Issue the following command from the 'tools' directory: perl filter_conv.pl That's it, the new filtering system is now implemented with your previous rules applied. Contact: Paul Mangan * fix_date.sh WHAT IT DOES Add a 'Date:' header to the selected email(s) when such header is missing. The correct date is guessed from other headers that contain timestamp information (preferred: Fetchinfo header if found) or from the file or system date as a fallback. The order or preference for the date value replacement can be changed by editing the script. This script can be used to fix messages that show non RFC-compliant Date headers as well. X-Original-Date is always added too if not already existing (if so, it's left untouched), to keep track of the original value if any. An existing Date: header is not overwritten unless you use the --force switch. Non RFC-compliant dates can be overwritten using the --rfc switch. Use --strict to use strict RFC matching patterns for date values in other headers. HOW TO USE IT First you have to create an action with the following command: fix_date.sh %F On main window's message list, select the messages to be fixed and invoke the created action. Contact: wwp * mairix.sh WHAT IT DOES It's a wrapper to mairix, a tool that makes indexed searches and shows search results in a virtual folder. Maildir, MH and mbox formats are supported, see: http://www.rpcurnow.force9.co.uk/mairix/ HOW TO USE IT mairix.sh mairix.sh [..] For instance: mairix.sh ~/.mairixrc s:word1,word2 Contact: wwp * nautilus2claws-mail.sh WHAT IT DOES This script will recursively attach a number of selected files/directories from Nautilus to a new blank e-mail. HOW TO USE IT Copy the script to $HOME/.gnome2/nautilus-scripts, chmod u+x, and restart nautilus (killall -9 nautilus). You will now have a right-click menu item: '/Scripts/nautilus2claws-mail.sh' Contact: Reza Pakdel * popfile-link.sh WHAT IT DOES Open selected messages in POPFile control center to edit their status. Requires that POPFile is running and that the messages have been processed by it (X-POPFile-Link: header is expected). POPFile control center opens with the web browser set in Claws Mail prefs. HOW TO USE IT popfile-link.sh [..] Contact: wwp * textviewer.pl WHAT IT DOES This script tries to recognise an attachment by using the 'file' command and/or the file extension and then uses the available utilities to make an effort to display it as text. $ textview.pl --list will show available conversion, the top: .awk cat .bin strings .bz2 bzip2 -d < %f | strings .c cat .cc cat .csv xlscat -L If there are multiple alternatives available, they are listed in the ordder they are tried, like for .xls: .xls xlscat -L .xls catdoc -x -dutf-8 .xls wvText HOW TO USE IT Go to /Configuration/Message View/External Programs and enter the path to the script in the "Command for 'Display as text'" box. Now when you right-click an attachment and choose 'Display as text' this script will be invoked. xlscat comes with the perl module Spreadsheet::Read, which is a wrapper module over several parsers and supports ods, sxc, csv, xls, xlsx, and sq. See https://metacpan.org/release/Spreadsheet-Read Contact: H.Merijn Brand * thunderbird-filters-convertor.pl WHAT IT DOES This perl script converts Thunderbird filtering rules into Claws Mail filtering rules. It can be run several times, once for each filter configuration file in Thunderbird. HOW TO USE IT The script takes 3 arguments: --tbird-file=PATH TO FILE The full path to the file to be converted --mailbox-name=NAME The name of the Claws Mail mailbox --account-name=NAME The name of the account to be used (optional) --tbird-file must point to the Thunderbird filter file (msgFilterRules.dat) that you want to convert, it must contain the full path to the file. --mailbox-name should be given the name of your mailbox in Claws Mail, e.g. if the top-level folder is 'Mailbox (MH)' then this option should be 'Mailbox'. --account-name is optional, only needed if you are creating account-specific rules. This is the name of your account in Claws Mail, which should correspond to an account that you had in Thunderbird, e.g. the acount whose rules you are converting. This script presumes that your folder hierarchy in Claws Mail matches the one that you had in Thunderbird. If you used the tbird2claws.py script to convert your Thunderbird mailbox, then the folder hierarchy should match. If the Claws Mail filtering configuration file (matcherrc) does not exist, the script will create it; if it does exist, the newly converted rules will be appended to it. REQUIREMENTS Getopt::Long URI::Escape Contact: Paul Mangan -------------------------------------------------------------------------------- Extra tools ----------- * gif2xface.pl WHAT IT DOES This perl script converts a monochrome (1 bit) 48x48 pixels GIF file into an X-Face graphic suitable for inclusion into custom headers of Claws Mail. An X-Face allows to quickly identify (or be identified as) the sender of a mail message in a xface-capable MUA (like Claws Mail). HOW TO USE IT After obtaining the desired image for your X-Face you should: * scale it to 48x48 pixels (Image->Scale image on Gimp) * down color depth to b/w (Image->Mode->Indexed selecting "Use Black/White palette" and the desired dithering options (prior to indexing doing Image->Colors->Threshold allows you to select the b/w level if you don't want a dithered (dotty) image)) * save file as non-interlaced GIF Then do: ./gif2xface < filename.gif > filename.xface In filename.xface will be the X-Face header ready to use. You can add a custom header in Claws Mail through Configuration-> Preferences per account, "Send" tab, check "Add user-defined header" then "Edit..." if you want to add it via the Claws Mail interface, or do echo "0:" `cat filename.xface` > ~/.claws-mail/customheaderrc if you want to create the custom headers file yourself (Warning: this method is valid only if you don't have any other custom header set or they will be lost!). Contact: Ricardo Mones * update-po WHAT IT DOES This script is a message catalog translator's tool, it updates the .po files named on the command line. HOW TO USE IT This script needs to be copied to and run from the 'po' directory. ./update-po lang.po lang2.po ... to update one or more .po files from the sourcecode files named in POTFILES.in. The old .po file is save in a .po.old file. For example, when you want to update fr.po, run ./update-po fr.po, then edit fr.po to update your translation. Contact: Wilbert Berendsen or the Claws Mail Team -------------------------------------------------------------------------------- This file is Copyright 1999-2014 by the Claws Mail team. See accompanying COPYING file for license details. See each included script for copyright and license details. * cm-reparent.pl WHAT IT DOES This script tries to fix thread parenting for two or more messages HOW TO USE IT Define an action as Menu name: Reparent (fix threading) Command: cm-reparent.pl %F Then select from the message list all files that should be re-parented Then invoke the action MORE INFORMATION $ perldoc cm-reparent.pl REQUIREMENTS Date::Parse Getopt::Long Contact: H.Merijn Brand * cm-break.pl WHAT IT DOES This script tries to break thread parenting for one or more messages HOW TO USE IT Define an action as Menu name: Unthread (break threading) Command: cm-break.pl %F Then select from the message list all files that should be un-threaded Then invoke the action MORE INFORMATION $ perldoc cm-break.pl REQUIREMENTS Date::Parse Getopt::Long Contact: H.Merijn Brand