Difference between revisions of "Plugins"

From Claws Mail FAQ
Jump to navigationJump to search
m (Reverted edit of Shrillcoffin86, changed back to last version by Claws)
(36 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
=== What are plugins? ===
 
=== What are plugins? ===
  
Plugins are modules loaded (or unloaded) by Sylpheed-Claws at runtime. They provide a
+
Plugins are modules loaded (or unloaded) by Claws Mail at runtime. They provide a
way to extend Sylpheed-Claws with new capabilities you really need without having all of them wasting memory.
+
way to extend Claws Mail with new capabilities you really need without having all of them wasting memory.
  
 
=== Where are plugins located? ===
 
=== Where are plugins located? ===
  
Plugins are located in your <tt>$PREFIX/lib/sylpheed-claws/plugins</tt>. Typical locations are
+
Plugins are located in your <tt>$PREFIX/lib/claws-mail/plugins</tt>. Typical locations are
<tt>/usr/lib/sylpheed-claws/plugins</tt> if you installed a packaged plugin and <tt>/usr/local/lib/sylpheed-claws/plugins</tt> if you're installing from source. (plugins have
+
<tt>/usr/lib/claws-mail/plugins</tt> if you installed a packaged plugin and <tt>/usr/local/lib/claws-mail/plugins</tt> if you're installing from source. (plugins have
 
a suffix of '.so')
 
a suffix of '.so')
 
Note that in older versions of Sylpheed-Claws (=< 0.9.11) the directory name was sylpheed and not sylpheed-claws (i.e. <tt>$PREFIX/lib/sylpheed/plugins</tt>).
 
  
 
=== I have loaded plugin X but how can I configure it? ===
 
=== I have loaded plugin X but how can I configure it? ===
  
Plugin configuaration options can be found under '/Configuration/Preferences/Plugins/' and/or '/Configuration/[Account Preferences]/Plugins'.
+
Plugin configuration options can be found under '/Configuration/Preferences/Plugins/' and/or '/Configuration/[Account Preferences]/Plugins'.
  
 
Some plugins have a separate interface plugin which provides the
 
Some plugins have a separate interface plugin which provides the
Line 23: Line 21:
 
=== What plugins are currently available? ===
 
=== What plugins are currently available? ===
  
The following plugins are included in the Sylpheed-Claws release tarballs
+
The following plugins are included in the Claws Mail release tarballs
 +
 
 +
; Bogofilter
 +
: Enables the scanning of incoming mail received from a POP, IMAP or LOCAL account using bogofilter. It can optionally delete mail identified as spam or save it to a designated folder. Faster than Spamassassin.
 +
: Bogofilter is available from http://www.bogofilter.org/
  
 
; Clam AntiVirus
 
; Clam AntiVirus
Line 29: Line 31:
 
: Clam AntiVirus is available from http://clamav.sourceforge.net/
 
: Clam AntiVirus is available from http://clamav.sourceforge.net/
  
;Dillo HTML Viewer
+
; Dillo HTML Viewer
 
: Enables the viewing of html messages using the Dillo web browser, version 0.7.0 or newer. It uses Dillo's --local option by default for safe browsing. Preferences can be found in '/Configuration/Preferences/Plugins/Dillo Browser'.
 
: Enables the viewing of html messages using the Dillo web browser, version 0.7.0 or newer. It uses Dillo's --local option by default for safe browsing. Preferences can be found in '/Configuration/Preferences/Plugins/Dillo Browser'.
 
: Dillo is available from http://www.dillo.org/
 
: Dillo is available from http://www.dillo.org/
Line 44: Line 46:
 
: Handles PGP/MIME signed and/or encrypted mails. You can decrypt mails, verify signatures or sign and encrypt your own mails.
 
: Handles PGP/MIME signed and/or encrypted mails. You can decrypt mails, verify signatures or sign and encrypt your own mails.
 
: Uses GnuPG/GPGME, ftp://ftp.gnupg.org/gcrypt/gpgme/
 
: Uses GnuPG/GPGME, ftp://ftp.gnupg.org/gcrypt/gpgme/
 +
 +
; S/MIME
 +
: Handles S/MIME crypto (signing, encrypting, verifying signatures and decrypting). See [[S/MIME howto]] to get it working.
  
 
; SpamAssassin
 
; SpamAssassin
: Enables the scanning of incoming mail received from a POP, IMAP or LOCAL account using SpamAssassin. It can optionally delete mail identified as spam or save it to a designated folder. Preferences can be found in '/Configuration/ Preferences/Plugins/SpamAssassin'.
+
: Enables the scanning of incoming mail received from a POP, IMAP or LOCAL account using SpamAssassin. It can optionally delete mail identified as spam or save it to a designated folder. Preferences can be found in '/Configuration/ Preferences/Plugins/SpamAssassin'. More complete checks than Bogofilter.
 
: SpamAssassin is available from http://spamassassin.apache.org/
 
: SpamAssassin is available from http://spamassassin.apache.org/
  
Line 52: Line 57:
 
: Places an icon in the notification area that indicates whether you have any new mail. A tooltip also shows the current new, unread and total number of messages
 
: Places an icon in the notification area that indicates whether you have any new mail. A tooltip also shows the current new, unread and total number of messages
  
The following plugins are included in the External Plugins release tarballs
+
The following plugins are included in the Extra Plugins release tarballs and are also available from the [http://www.claws-mail.org/plugins.php Plugins] page
  
; acpi notifier
+
; AcpiNotifier
 
: Enables mail notification via LEDs on some laptops.
 
: Enables mail notification via LEDs on some laptops.
  
; CacheSaver
+
; AddressKeeper
: Saves the caches every 60 seconds (or user-defined period).
+
: Allows to save outgoing email addresses to the Address Book automatically.
 +
 
 +
; AttRemover
 +
: This plugin lets you remove attachments from emails.
 +
 
 +
; AttachWarner
 +
: Warns when the user composes a message mentioning an attachment in the message body without attaching any files to the message.
 +
 
 +
; BSfilter
 +
: Check all messages that are received from an IMAP, LOCAL or POP account for spam using Bsfilter.  
  
; etPan-Privacy
+
; Clamd
: Handles signature verification and decryption of encrypted messages in S/MIME, OpenPGP, and ascii-armored PGP formats.
+
: Allows message scanning for viruses using the ClamAV in daemon mode (clamd).
  
; fetchinfo
+
; Fancy
: Inserts headers containing some download information: UIDL, Sylpheed-Claws' account name, POP server, user ID and retrieval time.
+
: Renders HTML e-mail using the WebKit library.
  
; maildir
+
; Fetchinfo
: Provides direct support for Maildir++ mailboxes. With this plugin you can share your Maildir++ mailbox with other mailers or IMAP servers.
+
: Inserts headers containing some download information: UIDL, Claws Mail account name, POP server, user ID and retrieval time.
  
; mailmbox
+
; GeoLocation
 +
: This plugin provides GeoLocation functionality of the email sender.
 +
 
 +
; GtkHtml2 Viewer
 +
: Enables the viewing of html messages using libgtkhtml2. Fetches attached images, distant images (depending on the preferences), can cache the images.
 +
 
 +
; Mail Archiver
 +
: This plugin adds archiving features to Claws Mail.
 +
 
 +
; Mailmbox
 
: Handles mailboxes in mbox format.
 
: Handles mailboxes in mbox format.
  
; perl
+
; NewMail
: Intended to extend the filtering possibilities of Sylpheed-Claws. It provides a Perl interface to Sylpheed-Claws' filtering mechanism, allowing the use of full Perl power in email filters.
+
:This plugin writes a msg header summary to a log file, (Default: ~/Mail/NewLog), on arrival of new mail *after* sorting.
 +
 
 +
; Notification
 +
: This plugin provides various ways to notify the user of new and unread email.
 +
 
 +
; Perl
 +
: Intended to extend the filtering possibilities of Claws Mail. It provides a Perl interface to Claws Mail's filtering mechanism, allowing the use of full Perl power in email filters.
 +
 
 +
; Python
 +
: This plugin provides Python integration features.  
  
 
; RSSyl
 
; RSSyl
: Allows you to read your favorite newsfeeds in Sylpheed-Claws. RSS 1.0, 2.0 and Atom feeds are currently supported.
+
: Allows you to read your favorite newsfeeds in Claws Mail. RSS 1.0, 2.0 and Atom feeds are currently supported.
  
; SynCE
+
; SpamReport
: Assists in keeping the addressbook of a Windows CE device (Pocket PC/iPAQ, Smartphone etc) in sync with Sylpheed-Claws' addressbook, with respect to email addresses.
+
: Reports spam to various places.
 +
 
 +
; TNEF parse
 +
: This plugin enables reading application/ms-tnef attachments.
  
 
; vCalendar
 
; vCalendar
: Enables vCalendar message handling like that produced by Evolution or Outlook.
+
: Enables vCalendar message handling like that produced by Evolution or Outlook. It provides a personal calendar and public calendar import and export as well as Free/busy import and export to help planning meetings.
  
 
=== How do I configure SpamAssassin and the SpamAssassin plugin? ===
 
=== How do I configure SpamAssassin and the SpamAssassin plugin? ===
Line 88: Line 123:
 
There are many configurations possible, this answer applies when the spamassassin daemon spamd is running on your local computer.
 
There are many configurations possible, this answer applies when the spamassassin daemon spamd is running on your local computer.
  
If you have the dependencies installed, the SpamAssassin plugin will be built automatically when building Sylpheed-Claws.  When you start Sylpheed-Claws the plugin is NOT loaded or enabled.  Load the plugins: Configuration|Plugins|Load Plugins, browse to your plugin directory location as described above. Load <tt>spamassassin.so</tt>. You then need to configure it in: Configuration|Preferences|Plugins|Spamassassin.  There are six items to set correctly.
+
If you have the dependencies installed, the SpamAssassin plugin will be built automatically when building Claws Mail.  When you start Claws Mail the plugin is NOT loaded or enabled.  Load the plugins: Configuration|Plugins|Load Plugins, browse to your plugin directory location as described above. Load <tt>spamassassin.so</tt>. You then need to configure it in: Configuration|Preferences|Plugins|Spamassassin.  There are six items to set correctly.
 
# Transport:  For our configuration set this to Localhost.  If ever you want to turn spam checking off, set this to Disabled.
 
# Transport:  For our configuration set this to Localhost.  If ever you want to turn spam checking off, set this to Disabled.
 
# Spamd:  This should be set to the IP port number that spamd is listening on, it's normally 783.
 
# Spamd:  This should be set to the IP port number that spamd is listening on, it's normally 783.
# Save Spam: If cleared, this tickbox tells Sylpheed-Claws to delete mails that spamassassin thinks are spam.
+
# Save Spam: If cleared, this tickbox tells Claws Mail to delete mails that spamassassin thinks are spam.
# Save Folder: If Save Spam is set, this is the folder that Sylpheed-Claws will send spam to.
+
# Save Folder: If Save Spam is set, this is the folder that Claws Mail will send spam to.
 
# Maximum Size: Spam is usually small, so it's a waste of resources to spam check very large emails, this sets the size threshold in KBytes.
 
# Maximum Size: Spam is usually small, so it's a waste of resources to spam check very large emails, this sets the size threshold in KBytes.
# Timeout: This is the time that sylpheed will wait while spamd checks each message.  The default of 30 seconds is OK for most machines, but slow ones may need this increased.
+
# Timeout: This is the time that Claws Mail will wait while spamd checks each message.  The default of 30 seconds is OK for most machines, but slow ones may need this increased.
  
Now you need to test the installation. Send yourself some spam.  When you receive it, it should be placed into the spam folder that you configured.  To check that spamd is being called, put a tail on your sys.log (mine is in <tt>/var/log/sys.log</tt>, so <tt>tail -f /var/log/sys.log</tt> works) and see if spamd runs and what it says.  If it is not running for every mail message received then check carefully both the SpamAssassin and Sylpheed-Claws settings.  If it is running, but not detecting spam, then you may need to train the bayesian filter - see SpamAssassin's documentation for that.
+
Now you need to test the installation. Send yourself some spam.  When you receive it, it should be placed into the spam folder that you configured.  To check that spamd is being called, put a tail on your sys.log (mine is in <tt>/var/log/sys.log</tt>, so <tt>tail -f /var/log/sys.log</tt> works) and see if spamd runs and what it says.  If it is not running for every mail message received then check carefully both the SpamAssassin and Claws Mail settings.  If it is running, but not detecting spam, then you may need to train the bayesian filter - see SpamAssassin's documentation for that.
  
 
=== Does the SpamAssassin plugin change the email headers? ===
 
=== Does the SpamAssassin plugin change the email headers? ===
  
No, it only uses the return value from SpamAssassin, (SPAM/NOT SPAM). To use header changing ability of SpamAssassin you can either configure an [[Actions|Action]] (Report as SPAM: spamassassin -r < %f), or a [[Filtering and Processing of Messages|Filtering]] rule (test "!(spamc -c < %f)"), or setup fetchmail and procmail to filter emails into your Sylpheed-Claws mailbox instead of using the plugin.
+
No, it only uses the return value from SpamAssassin, (SPAM/NOT SPAM). To use header changing ability of SpamAssassin you can either configure an [[Actions|Action]] (Report as SPAM: spamassassin -r < %f), or a [[Filtering and Processing of Messages|Filtering]] rule (test "!(spamc -c < %f)"), or setup fetchmail and procmail to filter emails into your Claws Mail mailbox instead of using the plugin.
 +
 
 +
=== How do I configure the bogofilter plugin to run on a remote server? ===
 +
 
 +
When you are receiving lots of messages, or reading them from several machines, it might be convenient to run bogofilter on a remote server rather than on your own machine when Claws downloads the messages. Although the bogofilter plugin currently only supports running bogofilter locally, (because it passes it the name of local files to process), it can be made to work with a remote server.
 +
 
 +
There are three steps to configuring Claws in such a context:
 +
 
 +
; Set up .procmailrc on the remote server
 +
: See the bogofilter documentation on how to do that. Presumably, bogofilter is run, marks the message as spam or ham, and move it to a Junk folder when it is spam.
 +
 
 +
; Set up Claws filters to mark messages as spam
 +
: When it is run, by default bogofilter will insert X-Bogosity headers in the messages. However, Claws currently ignores those. You must therefore create a pre-processing rule, 'header "X-Bogosity" match "Spam" mark_as_spam'
 +
 
 +
; Set up the bogofilter plugin to run bogofilter remotely
 +
: When some spam or ham was incorrectly detected, you can change its status through the toolbar icon created by the bogofilter plugin. However, the latter can only run a program on the local machine. The solution is to create a shell script, and setup the preferences for bogofilter to use this script as the "Bogofilter call", (for example /usr/local/bin/remotebogofilter.sh).
 +
An example of such a script would be:
 +
 
 +
  #!/bin/sh
 +
  remote_host=host.domain.com
 +
  cmd=`echo "bogofilter $@" | sed -e 's/-b//' `
 +
  while read; do
 +
    cat $REPLY | ssh $remote_host "$cmd"
 +
  done
  
 
=== How do I configure gpg-agent and the PGP plugin? ===
 
=== How do I configure gpg-agent and the PGP plugin? ===
Line 106: Line 164:
 
Attempts to use your gpg key to sign/encrypt messages will fail with a 'Signature failed' message without even asking you for your password if:
 
Attempts to use your gpg key to sign/encrypt messages will fail with a 'Signature failed' message without even asking you for your password if:
 
# Your OS automatically starts the gpg-agent daemon AND
 
# Your OS automatically starts the gpg-agent daemon AND
 +
# GPGME is properly configured to use the right GnuPG version (see [[Installation_and_Configuration#How_do_I_enable_GPG_support_in_Claws_Mail.3F|How do I enable GPG support in Claws Mail?]]) AND
 
# you only have the CURSES based pinentry program installed AND
 
# you only have the CURSES based pinentry program installed AND
# you started sylpheed from a menu or icon
+
# you started claws-mail from a menu or icon
 
(Note: my Fedora Core 4 workstation install was configured this way).
 
(Note: my Fedora Core 4 workstation install was configured this way).
The solution is to make sure that you have the pinentry-gtk or pinentry-qt programs installed. Sylpheed-Claws will then present the pinentry dialog box to get your GPG passphrase.
+
The solution is to make sure that you have the pinentry-gtk or pinentry-qt programs installed. Claws Mail will then present the pinentry dialog box to get your GPG passphrase.
  
You can tell if this is working by the dialog box presented to you for your passphrase. The pinentry dialog is a little uglier than the Sylpheed-Claws version, and the window title is 'pinentry'.
+
You can tell if this is working by the dialog box presented to you for your passphrase. The pinentry dialog is a little uglier than the Claws Mail version, and the window title is 'pinentry'.
  
One advantage of using the gpg-agent over Sylpheed-Claws password dialog is that the password caching then works with other applications using the gpg-agent (eg the command line when you specify --use-agent).
+
One advantage of using the gpg-agent over Claws Mail password dialog is that the password caching then works with other applications using the gpg-agent (eg the command line when you specify --use-agent).
  
 
Note 2: If it still refuses to work you might want to try the following steps:
 
Note 2: If it still refuses to work you might want to try the following steps:
Line 129: Line 188:
 
<pre>eval "$(gpg-agent --daemon)"</pre>
 
<pre>eval "$(gpg-agent --daemon)"</pre>
  
 +
Note: If you make any changes to ''~/.gnupg/gpg-agent.conf'' while gpg-agent is running you will need to restart gpg-agent for the changes to take effect.
  
=== I love maildir format. Is there a usefull replacement in sylpheed, better than the maildir plugin ! ===
+
=== I love maildir format. Is there a useful replacement in Claws Mail, which is better than the maildir plugin ? ===
  
The maildir plugin works well in sylpheed claws. Nevertheless, if you plan to use tons of emails (i.e. X Go of mails), then the maildir plugin is not enough efficient to be usable (tested with 2Go of mails, folders with 30000 mails are long to display).
+
The maildir plugin used to work well, however it is currently '''unmaintained''', although you will probably be able to make it work with recent Claws Mail versions. The maildir plugin is not as efficient or as usable as the native MH format, (tested with 2GB of mails, folders with 30000 mails take a while to load), it lacks some important features and may well be buggy, so if you do use it, do so with caution. Also, if you plan to use it, please consider becoming the maintainer and bring it up to date. You can contact the [http://www.claws-mail.org/theteam.php Claws Mail Team] for that.
  
The good solution is to use the native format of Sylpheed: the MH format. You have to ways of doing this:
+
The good solution is to use the native format of Claws Mail: the MH format. You have two ways of doing this:
  
* Use a local account in MH format: you use the filters of sylpheed to drop the mails directly on your disk in MH format. Then searching, indexing is very very fast.
+
* Use a local account in MH format: you use the filters of Claws Mail to drop the mails directly on your disk in MH format. Then searching, indexing is very, very fast.
  
* Use an IMAP account: if doing this way, your emails remains on the IMAP server BUT, when displayed, your mails are downloaded and stored in MH format on your disk too. They are dropped in ~/.sylpheed-claws/imapcache/ and are synchronized with the server (see Synchronize folder in File menu).
+
* Use an IMAP account: if choosing this way, your emails remain on the IMAP server BUT, when displayed, your mails are downloaded and stored in MH format on your disk too. They are dropped in ~/.claws-mail/imapcache/ and are synchronized with the server (see Synchronize folder in File menu).
  
In the two cases, sylpheed use the mh format and you can browse your emails with an alternative mail client able to read MH.
+
In the two cases, Claws Mail uses the MH format and you can browse your emails with an alternative mail client able to read MH.

Revision as of 20:16, 8 October 2012

What are plugins?

Plugins are modules loaded (or unloaded) by Claws Mail at runtime. They provide a way to extend Claws Mail with new capabilities you really need without having all of them wasting memory.

Where are plugins located?

Plugins are located in your $PREFIX/lib/claws-mail/plugins. Typical locations are /usr/lib/claws-mail/plugins if you installed a packaged plugin and /usr/local/lib/claws-mail/plugins if you're installing from source. (plugins have a suffix of '.so')

I have loaded plugin X but how can I configure it?

Plugin configuration options can be found under '/Configuration/Preferences/Plugins/' and/or '/Configuration/[Account Preferences]/Plugins'.

Some plugins have a separate interface plugin which provides the configuration pane for the X plugin. If you have loaded plugin X.so typical name for the configuration plugin will be X_gtk.so, but this is not mandatory, read plugin's documentation in case of doubt.

What plugins are currently available?

The following plugins are included in the Claws Mail release tarballs

Bogofilter
Enables the scanning of incoming mail received from a POP, IMAP or LOCAL account using bogofilter. It can optionally delete mail identified as spam or save it to a designated folder. Faster than Spamassassin.
Bogofilter is available from http://www.bogofilter.org/
Clam AntiVirus
Enables the scanning of message attachments in mail received from a POP, IMAP or LOCAL account using Clam AntiVirus. It can optionally delete the mail or save it to a designated folder. Preferences can be found in '/Configuration/Preferences/Plugins/Clam AntiVirus'.
Clam AntiVirus is available from http://clamav.sourceforge.net/
Dillo HTML Viewer
Enables the viewing of html messages using the Dillo web browser, version 0.7.0 or newer. It uses Dillo's --local option by default for safe browsing. Preferences can be found in '/Configuration/Preferences/Plugins/Dillo Browser'.
Dillo is available from http://www.dillo.org/
PGP/Core
Handles core PGP functions and is required by the PGP/Inline and PGP/MIME plugins.
Uses GnuPG/GPGME, ftp://ftp.gnupg.org/gcrypt/gpgme/
PGP/inline
Handles inline PGP signed and/or encrypted mails. You can decrypt mails, verify signatures or sign and encrypt your own mails.
Uses GnuPG/GPGME, ftp://ftp.gnupg.org/gcrypt/gpgme/
PGP/MIME
Handles PGP/MIME signed and/or encrypted mails. You can decrypt mails, verify signatures or sign and encrypt your own mails.
Uses GnuPG/GPGME, ftp://ftp.gnupg.org/gcrypt/gpgme/
S/MIME
Handles S/MIME crypto (signing, encrypting, verifying signatures and decrypting). See S/MIME howto to get it working.
SpamAssassin
Enables the scanning of incoming mail received from a POP, IMAP or LOCAL account using SpamAssassin. It can optionally delete mail identified as spam or save it to a designated folder. Preferences can be found in '/Configuration/ Preferences/Plugins/SpamAssassin'. More complete checks than Bogofilter.
SpamAssassin is available from http://spamassassin.apache.org/
Trayicon
Places an icon in the notification area that indicates whether you have any new mail. A tooltip also shows the current new, unread and total number of messages

The following plugins are included in the Extra Plugins release tarballs and are also available from the Plugins page

AcpiNotifier
Enables mail notification via LEDs on some laptops.
AddressKeeper
Allows to save outgoing email addresses to the Address Book automatically.
AttRemover
This plugin lets you remove attachments from emails.
AttachWarner
Warns when the user composes a message mentioning an attachment in the message body without attaching any files to the message.
BSfilter
Check all messages that are received from an IMAP, LOCAL or POP account for spam using Bsfilter.
Clamd
Allows message scanning for viruses using the ClamAV in daemon mode (clamd).
Fancy
Renders HTML e-mail using the WebKit library.
Fetchinfo
Inserts headers containing some download information: UIDL, Claws Mail account name, POP server, user ID and retrieval time.
GeoLocation
This plugin provides GeoLocation functionality of the email sender.
GtkHtml2 Viewer
Enables the viewing of html messages using libgtkhtml2. Fetches attached images, distant images (depending on the preferences), can cache the images.
Mail Archiver
This plugin adds archiving features to Claws Mail.
Mailmbox
Handles mailboxes in mbox format.
NewMail
This plugin writes a msg header summary to a log file, (Default: ~/Mail/NewLog), on arrival of new mail *after* sorting.
Notification
This plugin provides various ways to notify the user of new and unread email.
Perl
Intended to extend the filtering possibilities of Claws Mail. It provides a Perl interface to Claws Mail's filtering mechanism, allowing the use of full Perl power in email filters.
Python
This plugin provides Python integration features.
RSSyl
Allows you to read your favorite newsfeeds in Claws Mail. RSS 1.0, 2.0 and Atom feeds are currently supported.
SpamReport
Reports spam to various places.
TNEF parse
This plugin enables reading application/ms-tnef attachments.
vCalendar
Enables vCalendar message handling like that produced by Evolution or Outlook. It provides a personal calendar and public calendar import and export as well as Free/busy import and export to help planning meetings.

How do I configure SpamAssassin and the SpamAssassin plugin?

There are many configurations possible, this answer applies when the spamassassin daemon spamd is running on your local computer.

If you have the dependencies installed, the SpamAssassin plugin will be built automatically when building Claws Mail. When you start Claws Mail the plugin is NOT loaded or enabled. Load the plugins: Configuration|Plugins|Load Plugins, browse to your plugin directory location as described above. Load spamassassin.so. You then need to configure it in: Configuration|Preferences|Plugins|Spamassassin. There are six items to set correctly.

  1. Transport: For our configuration set this to Localhost. If ever you want to turn spam checking off, set this to Disabled.
  2. Spamd: This should be set to the IP port number that spamd is listening on, it's normally 783.
  3. Save Spam: If cleared, this tickbox tells Claws Mail to delete mails that spamassassin thinks are spam.
  4. Save Folder: If Save Spam is set, this is the folder that Claws Mail will send spam to.
  5. Maximum Size: Spam is usually small, so it's a waste of resources to spam check very large emails, this sets the size threshold in KBytes.
  6. Timeout: This is the time that Claws Mail will wait while spamd checks each message. The default of 30 seconds is OK for most machines, but slow ones may need this increased.

Now you need to test the installation. Send yourself some spam. When you receive it, it should be placed into the spam folder that you configured. To check that spamd is being called, put a tail on your sys.log (mine is in /var/log/sys.log, so tail -f /var/log/sys.log works) and see if spamd runs and what it says. If it is not running for every mail message received then check carefully both the SpamAssassin and Claws Mail settings. If it is running, but not detecting spam, then you may need to train the bayesian filter - see SpamAssassin's documentation for that.

Does the SpamAssassin plugin change the email headers?

No, it only uses the return value from SpamAssassin, (SPAM/NOT SPAM). To use header changing ability of SpamAssassin you can either configure an Action (Report as SPAM: spamassassin -r < %f), or a Filtering rule (test "!(spamc -c < %f)"), or setup fetchmail and procmail to filter emails into your Claws Mail mailbox instead of using the plugin.

How do I configure the bogofilter plugin to run on a remote server?

When you are receiving lots of messages, or reading them from several machines, it might be convenient to run bogofilter on a remote server rather than on your own machine when Claws downloads the messages. Although the bogofilter plugin currently only supports running bogofilter locally, (because it passes it the name of local files to process), it can be made to work with a remote server.

There are three steps to configuring Claws in such a context:

Set up .procmailrc on the remote server
See the bogofilter documentation on how to do that. Presumably, bogofilter is run, marks the message as spam or ham, and move it to a Junk folder when it is spam.
Set up Claws filters to mark messages as spam
When it is run, by default bogofilter will insert X-Bogosity headers in the messages. However, Claws currently ignores those. You must therefore create a pre-processing rule, 'header "X-Bogosity" match "Spam" mark_as_spam'
Set up the bogofilter plugin to run bogofilter remotely
When some spam or ham was incorrectly detected, you can change its status through the toolbar icon created by the bogofilter plugin. However, the latter can only run a program on the local machine. The solution is to create a shell script, and setup the preferences for bogofilter to use this script as the "Bogofilter call", (for example /usr/local/bin/remotebogofilter.sh).

An example of such a script would be:

 #!/bin/sh
 remote_host=host.domain.com
 cmd=`echo "bogofilter $@" | sed -e 's/-b//' `
 while read; do
    cat $REPLY | ssh $remote_host "$cmd"
 done

How do I configure gpg-agent and the PGP plugin?

Attempts to use your gpg key to sign/encrypt messages will fail with a 'Signature failed' message without even asking you for your password if:

  1. Your OS automatically starts the gpg-agent daemon AND
  2. GPGME is properly configured to use the right GnuPG version (see How do I enable GPG support in Claws Mail?) AND
  3. you only have the CURSES based pinentry program installed AND
  4. you started claws-mail from a menu or icon

(Note: my Fedora Core 4 workstation install was configured this way). The solution is to make sure that you have the pinentry-gtk or pinentry-qt programs installed. Claws Mail will then present the pinentry dialog box to get your GPG passphrase.

You can tell if this is working by the dialog box presented to you for your passphrase. The pinentry dialog is a little uglier than the Claws Mail version, and the window title is 'pinentry'.

One advantage of using the gpg-agent over Claws Mail password dialog is that the password caching then works with other applications using the gpg-agent (eg the command line when you specify --use-agent).

Note 2: If it still refuses to work you might want to try the following steps:

  • Make sure your ~/.gnupg/gpg.conf contains the line

use-agent

  • Create a file ~/.gnupg/gpg-agent.conf with the following contents:

pinentry-program /usr/bin/pinentry-qt
no-grab
default-cache-ttl 1800

  • Add the following line to some startup script. (In case of KDE you could use ~/.kde/env/gpgagent.sh - The filename does not matter, the contents of ~/.kde/env/ is sourced by startkde)
eval "$(gpg-agent --daemon)"

Note: If you make any changes to ~/.gnupg/gpg-agent.conf while gpg-agent is running you will need to restart gpg-agent for the changes to take effect.

I love maildir format. Is there a useful replacement in Claws Mail, which is better than the maildir plugin ?

The maildir plugin used to work well, however it is currently unmaintained, although you will probably be able to make it work with recent Claws Mail versions. The maildir plugin is not as efficient or as usable as the native MH format, (tested with 2GB of mails, folders with 30000 mails take a while to load), it lacks some important features and may well be buggy, so if you do use it, do so with caution. Also, if you plan to use it, please consider becoming the maintainer and bring it up to date. You can contact the Claws Mail Team for that.

The good solution is to use the native format of Claws Mail: the MH format. You have two ways of doing this:

  • Use a local account in MH format: you use the filters of Claws Mail to drop the mails directly on your disk in MH format. Then searching, indexing is very, very fast.
  • Use an IMAP account: if choosing this way, your emails remain on the IMAP server BUT, when displayed, your mails are downloaded and stored in MH format on your disk too. They are dropped in ~/.claws-mail/imapcache/ and are synchronized with the server (see Synchronize folder in File menu).

In the two cases, Claws Mail uses the MH format and you can browse your emails with an alternative mail client able to read MH.