Reorder send_message's port selection logic, paving the
[claws.git] / manual / plugins.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <section id="ch_plugins">
3 <title>Extending Claws Mail</title>
4
5   <section id="plugins_default">
6     <title>Provided plugins</title>
7     <para>
8         Claws Mail' capabilities are extended by plugins. It comes with 
9         the plugins listed below included, all of which are built automatically
10         if the required libraries are present.
11     </para><para>
12         Plugins are installed in <filename class="directory"
13         >$PREFIX/lib/claws-mail/plugins/</filename> and have a suffix of 
14         <quote>.so</quote>. To load a plugin go to 
15         <quote>Configuration/Plugins</quote> and click the 
16         <quote>Load Plugin</quote> button. Select the plugin that you want and 
17         click <quote>Open</quote> button.
18     </para><para>
19         If you don't find the plugin you're looking for, it is possible that 
20         your Operating System distribution provides it in a separate package. 
21         In this case, search for the plugin in your package manager.
22     </para><para>
23         Some plugins provide the same functionality as others, (for example, the 
24         three HTML message viewers). In this case you will have to choose which 
25         one to load, as Claws Mail will refuse to load more than one of
26         the same type.
27     </para>
28     <variablelist>
29       <varlistentry>
30         <term>Bogofilter</term>
31         <listitem>
32           <para>
33         The Bogofilter plugin comes with two major features:
34           </para><para>
35         The ability to scan incoming mail received from a POP, IMAP or LOCAL 
36         account using Bogofilter. It can optionally delete mail identified 
37         as spam or save it to a designated folder. Mail scanning can be turned 
38         off.
39           </para><para>
40         The ability for users to teach Bogofilter to recognise spam or ham. 
41         You can train Bogofilter by marking messages as spam or ham from the 
42         Message List contextual menu, or using the relevant toolbar button in 
43         the main window or the message window (see 
44         <quote>Configuration/Preferences/Toolbars</quote>). Messages 
45         marked as spam are optionally saved to a designated folder.
46           </para><para>
47         Plugin preferences can be found in 
48         <quote>Configuration/Preferences/Plugins/Bogofilter</quote>.
49           </para><para>
50         Bogofilter's advantage over Spamassassin is its speed.
51           </para><para>
52         Bogofilter is available from <ulink 
53         url="http://bogofilter.sourceforge.net/"
54         >http://bogofilter.sourceforge.net/</ulink>. 
55           </para>
56         </listitem>
57       </varlistentry>
58       <varlistentry>
59         <term>Dillo HTML Viewer</term>
60         <listitem>
61           <para>
62         Enables the viewing of HTML messages using the Dillo web browser, 
63         version 0.7.0 or newer. It uses Dillo's <literal>--local</literal> 
64         option by default for safe browsing. Preferences can be found in 
65         <quote>/Configuration/Preferences/Plugins/Dillo Browser</quote>. 
66         Dillo is available from <ulink url="http://www.dillo.org/"
67         >http://www.dillo.org/</ulink>.
68           </para>
69         </listitem>
70       </varlistentry>
71       <varlistentry>
72         <term>PGP/Core, PGP/Inline and PGP/MIME</term>
73         <listitem>
74           <para>
75         Handles PGP signed and/or encrypted mails. You can decrypt mails, 
76         verify signatures or sign and encrypt your own mails. Uses GnuPG/GPGME,
77         <ulink url="ftp://ftp.gnupg.org/gcrypt/gpgme/"
78         >ftp://ftp.gnupg.org/gcrypt/gpgme/</ulink>.
79           </para>
80         </listitem>
81       </varlistentry>
82       <varlistentry>
83         <term>S/MIME</term>
84         <listitem>
85           <para>
86         Handles S/MIME signed and/or encrypted mails. You can decrypt mails, 
87         verify signatures or sign and encrypt your own mails. Uses GnuPG/GPGME 
88         and GpgSM, <ulink url="ftp://ftp.gnupg.org/gcrypt/gpgme/"
89         >ftp://ftp.gnupg.org/gcrypt/gpgme/</ulink>.
90           </para>
91         </listitem>
92       </varlistentry>
93       <varlistentry>
94         <term>SpamAssassin</term>
95         <listitem>
96           <para>
97         The SpamAssassin plugin comes with two major features:
98           </para><para>
99         The ability to scan incoming mail received from a POP, IMAP or LOCAL 
100         account using SpamAssassin. It can optionally delete mail identified 
101         as spam or save it to a designated folder. Mail scanning can be turned 
102         off, which is useful if your email is scanned on your server.
103           </para><para>
104         The ability for users to teach SpamAssassin to recognise spam or ham. 
105         You can train SpamAssassin by marking messages as spam or ham from the 
106         Message List contextual menu, or using the relevant toolbar button in 
107         the main window or the message window (see 
108         <quote>Configuration/Preferences/Toolbars</quote>). Messages 
109         marked as spam are optionally saved to a designated folder.
110           </para><para>
111         Plugin preferences can be found in 
112         <quote>Configuration/Preferences/Plugins/SpamAssassin</quote>.
113           </para><para>
114         SpamAssassin's advantage over Bogofilter is that it's not only a bayesian
115         filter, but it also performs various local and network tests to
116         determine spaminess.
117           </para><para>
118         SpamAssassin is available from <ulink 
119         url="http://spamassassin.apache.org/"
120         >http://spamassassin.apache.org/</ulink>. Version 3.1.x or higher is 
121         required to use the learning feature in TCP mode.
122           </para>
123         </listitem>
124       </varlistentry>
125       <varlistentry>
126         <term>Trayicon</term>
127         <listitem>
128           <para>
129         Places an icon in the system tray that indicates whether you have any 
130         new mail. A tooltip also shows the current new, unread and total number
131         of messages.
132           </para>
133         </listitem>
134       </varlistentry>
135     </variablelist>
136   </section>
137
138   <section id="plugins_external">
139     <title>More plugins</title>
140     <para>
141         Other plugins have been written too, which are available as separate 
142         downloads. At the time of this writing, there are a number of plugins 
143         available at <ulink url="http://www.claws-mail.org/plugins.php"
144         >http://www.claws-mail.org/plugins.php</ulink>:
145     </para>
146     <variablelist>
147       <varlistentry>
148         <term>Acpi Notifier</term>
149         <listitem>
150           <para>
151         Enables new mail notification via the LEDs found on some laptops like 
152         Acer, Asus, Fujitsu and IBM laptops.
153         More information: <ulink url="http://www.claws-mail.org/plugin.php?plugin=acpinotifier">
154         www.claws-mail.org/plugin.php?plugin=acpinotifier</ulink>
155           </para>
156         </listitem>
157       </varlistentry>
158       <varlistentry>
159         <term>AttachWarner</term>
160         <listitem>
161           <para> 
162         Reminds you about possibly forgotten attachments. Checks for common
163         expressions found when attaching a file and warns you if no attachment
164         was added to the mail you're sending.
165         More information: <ulink url="http://www.claws-mail.org/plugin.php?plugin=attachwarner">
166         www.claws-mail.org/plugin.php?plugin=attachwarner</ulink>
167           </para>
168         </listitem>
169       </varlistentry>
170       <varlistentry>
171         <term>AttRemover</term>
172         <listitem>
173           <para> 
174         Allows you to remove attachments from emails.
175           </para>
176         </listitem>
177       </varlistentry>
178       <varlistentry>
179         <term>BSFilter</term>
180         <listitem>
181           <para> 
182         BSFilter is a plugin that is very similar to the Bogofilter plugin but uses
183         the bsfilter (<ulink url="http://bsfilter.org/index-e.html">bsfilter.org/index-e.html</ulink>)
184         bayesian spam filter as a backend. 
185           </para><para>
186         Like Bogofilter, you have to train it with spam and ham
187         messages in order for bsfilter to start recognising spam.
188           </para><para>
189         Plugin preferences can be found in 
190         <quote>Configuration/Preferences/Plugins/BSFilter</quote>.
191           </para>
192         </listitem>
193       </varlistentry>
194       <varlistentry>
195         <term>CacheSaver</term>
196         <listitem>
197           <para>
198         Saves the caches every 60 seconds (or user-defined period). It helps 
199         avoiding the loss of metadata if your computer (<emphasis>or 
200         Claws Mail!</emphasis>) crashes. (NOTE: using this plugin can slow
201         down Claws Mail.)
202           </para>
203         </listitem>
204       </varlistentry>
205       <varlistentry>
206         <term>Fancy</term>
207         <listitem>
208           <para>
209         Enables the display of HTML messages using the GTK+ port of the
210         WebKit library.
211           </para>
212         </listitem>
213       </varlistentry>
214       <varlistentry>
215         <term>Fetchinfo</term>
216         <listitem>
217           <para>
218         Inserts headers containing some download information, like UIDL, 
219         Claws Mail' account name, POP server, user ID and retrieval time.
220           </para>
221         </listitem>
222       </varlistentry>
223       <varlistentry>
224         <term>GtkHtml2 Viewer</term>
225         <listitem>
226           <para>
227         Like Dillo, enables the viewing of HTML messages, but in a nicer way 
228         (antialiased fonts).
229         More information: <ulink url="http://www.claws-mail.org/plugin.php?plugin=gtkhtml2">
230         www.claws-mail.org/plugin.php?plugin=gtkhtml2</ulink>
231           </para>
232         </listitem>
233       </varlistentry>
234       <varlistentry>
235         <term>Mail Archiver</term>
236         <listitem>
237           <para>
238         Enables folders and subfolders to be archived in several different
239         formats.
240           </para>
241         </listitem>
242       </varlistentry>
243       <varlistentry>
244         <term>mailMBOX</term>
245         <listitem>
246           <para>
247         Handles mailboxes in MBox format.
248           </para>
249         </listitem>
250       </varlistentry>
251       <varlistentry>
252         <term>NewMail</term>
253         <listitem>
254           <para>
255         Writes a msg header summary to a log file, (Default: 
256         <filename>~/Mail/NewLog</filename>), on arrival of new mail 
257         <emphasis>after</emphasis> sorting. 
258           </para>
259         </listitem>
260       </varlistentry>
261       <varlistentry>
262         <term>Notification</term>
263         <listitem>
264           <para>
265         Provides various ways to notify the user of new and unread email.
266         More information: <ulink url="http://www.claws-mail.org/plugin.php?plugin=notification">
267         www.claws-mail.org/plugin.php?plugin=notification</ulink>
268           </para>
269         </listitem>
270       </varlistentry>
271       <varlistentry>
272         <term>Perl</term>
273         <listitem>
274           <para>
275         Intended to extend the filtering possibilities of Claws Mail. It 
276         provides a Perl interface to Claws Mail' filtering mechanism, 
277         allowing the use of full Perl power in email filters.
278           </para>
279         </listitem>
280       </varlistentry>
281       <varlistentry>
282         <term>Python</term>
283         <listitem>
284           <para>
285         This plugin provides Python integration features.
286         More information: <ulink url="http://www.claws-mail.org/plugin.php?plugin=python">
287         www.claws-mail.org/plugin.php?plugin=python</ulink>
288           </para>
289         </listitem>
290       </varlistentry>
291       <varlistentry>
292         <term>RSSyl</term>
293         <listitem>
294           <para>
295         Allows you to read your favorite newsfeeds in Claws. RSS 1.0, 2.0 and 
296         Atom feeds are currently supported.
297         More information: <ulink url="http://www.claws-mail.org/plugin.php?plugin=rssyl">
298         www.claws-mail.org/plugin.php?plugin=rssyl</ulink>
299           </para>
300         </listitem>
301       </varlistentry>
302       <varlistentry>
303         <term>SpamReport</term>
304         <listitem>
305           <para>
306         This plugin reports spam to various places.
307         Currently the sites <ulink url="http://spam-signal.fr"
308         >spam-signal.fr</ulink> and <ulink url="http://spamcop.net"
309         >spamcop.net</ulink> are supported, and the <ulink
310         url="http://lists.debian.org">Debian lists (lists.debian.org)</ulink>
311         spam nomination system.
312           </para>
313         </listitem>
314       </varlistentry>
315       <varlistentry>
316         <term>SynCE</term>
317         <listitem>
318           <para>
319         Assists in keeping the address book of a Windows CE device (Pocket 
320         PC, iPAQ, Smartphone, etc.) in sync with Claws Mail' address book, 
321         with respect to email addresses.
322           </para>
323         </listitem>
324       </varlistentry>
325       <varlistentry>
326         <term>TNEF parse</term>
327         <listitem>
328           <para>
329         This plugin enables reading <literal>application/ms-tnef attachments</literal>.
330         More information: <ulink url="http://www.claws-mail.org/plugin.php?plugin=tnef_parser">
331         www.claws-mail.org/plugin.php?plugin=tnef_parser</ulink>
332           </para>
333         </listitem>
334       </varlistentry>
335       <varlistentry>
336         <term>vCalendar</term>
337         <listitem>
338           <para>
339         Enables vCalendar message handling like that produced by Evolution or 
340         Outlook, and Webcal subscriptions.
341         More information: <ulink url="http://www.claws-mail.org/plugin.php?plugin=vcalendar">
342         www.claws-mail.org/plugin.php?plugin=vcalendar</ulink>
343           </para>
344         </listitem>
345       </varlistentry>
346     </variablelist>
347     <para>
348         If you're a developer, writing a plugin to extend Claws Mail' 
349         capabilities is probably the best and easiest solution. We will 
350         provide hosting to your code, and will be glad to answer your questions
351         in the mailing-list or on the IRC channels, 
352         <literal>#claws</literal> on Freenode or IRCnet.
353     </para>
354   </section>
355   <section id="plugins_network">
356     <title>Network access from the plugins</title>
357     <para>
358         Some of the external plugins, for example RSSyl, vCalendar or GtkHtml 
359         Viewer, need Internet access for their operations (retrieving feeds in 
360         the case of RSSyl or vCalendar, and fetching images in the case of 
361         GtkHtml Viewer). These plugins use the Curl library. Hence, if your 
362         Internet access is restricted by a proxy, you will need to tell libCurl
363         to use this proxy. This is done by setting an environment variable, 
364         <literal>http_proxy</literal>. For example, 
365 <literal>http_proxy=http://user:passwd@myproxy.example.com:8080</literal> 
366         will tell libCurl to connect to port 8080 of the machine 
367         myproxy.example.com, with the user <quote>user</quote> and password 
368         <quote>passwd</quote> to connect to the Internet. 
369     </para><para>
370         You can either set this variable before starting Claws Mail, by 
371         using for example 
372         <command>http_proxy=http://user:passwd@myproxy.example.com:8080 
373         claws-mail</command>, or set it in your 
374         <filename>~/.bashrc</filename> file (or your shell equivalent), by 
375         adding the following line<footnote><para>Other shells may have 
376         diferent syntaxes, check your shell's manual page.</para></footnote>: 
377 <command>export http_proxy=http://user:passwd@myproxy.example.com:8080</command>
378         (you'll have to reconnect to have it taken into account).
379     </para>
380   </section>
381 </section>
382