bump the year
[claws.git] / manual / en / plugins.xml
blob7ad5136fcb0527b6bd9eceeb5b176719bb1dd075
1 <?xml version="1.0" encoding="utf-8"?>
2 <section id="ch_plugins">
3 <title>Extending Claws Mail</title>
5   <section id="plugins_default">
6     <title>Plugins</title>
7     <para>
8         Claws Mail's capabilities are extended by plugins, which are
9         listed below.
10     </para><para>
11         Plugins are installed in <filename class="directory"
12         >$PREFIX/lib/claws-mail/plugins/</filename> and have a suffix of 
13         <quote>.so</quote>. To load a plugin go to 
14         <quote>Configuration/Plugins</quote> and click the 
15         <quote>Load Plugin</quote> button. Select the plugin that you want and 
16         click the <quote>Open</quote> button.
17     </para><para>
18         If you don't find the plugin you're looking for, it is possible that 
19         your Operating System distribution provides it in a separate package. 
20         In this case, search for the plugin in your package manager.
21     </para><para>
22         Some plugins provide the same functionality as others, (for example, the 
23         3 anti-Spam plugins). In this case you will have to choose which 
24         one to load, as Claws Mail will refuse to load more than one of
25         the same type.
26     </para>
27     <para>
28         There is a list of all plugins available at <ulink
29         url="https://www.claws-mail.org/plugins.php"
30         >www.claws-mail.org/plugins.php</ulink>.
31     </para>
32     <variablelist>
33       <varlistentry>
34         <term>ACPI Notifier</term>
35         <listitem>
36           <para>
37         Enables new mail notification via the LEDs found on some laptops like
38         Acer, Asus, Fujitsu and IBM laptops.
39         More information: <ulink
40         url="https://www.claws-mail.org/plugin.php?plugin=acpinotifier"
41         >www.claws-mail.org/plugin.php?plugin=acpinotifier</ulink>
42           </para>
43         </listitem>
44       </varlistentry>
45       <varlistentry>
46         <term>AddressKeeper</term>
47         <listitem>
48           <para>
49         Saves all unknown recipient addresses (<quote>To</quote>,
50         <quote>Cc</quote> and/or <quote>Bcc</quote>) to a designated
51         addressbook folder.
52           </para>
53         </listitem>
54       </varlistentry>
55       <varlistentry>
56         <term>AttachWarner</term>
57         <listitem>
58           <para>
59         Reminds you about possibly forgotten attachments. Checks for common
60         expressions found when attaching a file and warns you if no attachment
61         was added to the mail you're sending.
62         More information: <ulink
63         url="https://www.claws-mail.org/plugin.php?plugin=attachwarner"
64         >www.claws-mail.org/plugin.php?plugin=attachwarner</ulink>
65           </para>
66         </listitem>
67       </varlistentry>
68       <varlistentry>
69         <term>AttRemover</term>
70         <listitem>
71           <para>
72         Allows you to remove attachments from emails.
73           </para>
74         </listitem>
75       </varlistentry>
76       <varlistentry>
77         <term>Bogofilter</term>
78         <listitem>
79           <para>
80         The Bogofilter plugin comes with two major features:
81           </para><para>
82         The ability to scan incoming mail received from a POP, IMAP or LOCAL 
83         account using Bogofilter. It can optionally delete mail identified
84         as spam or save it to a designated folder. Mail scanning can be turned 
85         off.
86           </para><para>
87         The ability for users to teach Bogofilter to recognise spam or ham.
88         You can train Bogofilter by marking messages as spam or ham from the
89         Message List contextual menu, or using the relevant toolbar button in 
90         the main window or the message window (see 
91         <quote>Configuration/Preferences/Toolbars</quote>). Messages 
92         marked as spam are optionally saved to a designated folder.
93           </para><para>
94         Plugin preferences can be found in 
95         <quote>Configuration/Preferences/Plugins/Bogofilter</quote>.
96           </para><para>
97         Bogofilter's advantage over Spamassassin is its speed.
98           </para><para>
99         Bogofilter must be trained before it can filter messages. To train
100         it you will need to mark some spam as Spam, and some legitimate 
101         emails as Ham.
102           </para><para>
103         Bogofilter is available from <ulink
104         url="http://bogofilter.sourceforge.net/"
105         >bogofilter.sourceforge.net/</ulink>.
106           </para>
107         </listitem>
108       </varlistentry>
109       <varlistentry>
110         <term>BSFilter</term>
111         <listitem>
112           <para> 
113         BSFilter is a plugin that is very similar to the Bogofilter plugin
114         but uses the bsfilter (<ulink url="http://bsfilter.org/index-e.html"
115         >bsfilter.org/index-e.html</ulink>) bayesian spam filter as a backend.
116           </para><para>
117         Like Bogofilter, you have to train it with spam and ham
118         messages in order for bsfilter to start recognising spam.
119           </para><para>
120         Plugin preferences can be found in 
121         <quote>Configuration/Preferences/Plugins/BSFilter</quote>.
122           </para>
123         </listitem>
124       </varlistentry>
125       <varlistentry>
126         <term>Clamd</term>
127         <listitem>
128           <para>
129         Allows scanning all messages received from IMAP, POP or local accounts
130         using the clam daemon part of the ClamAV (AntiVirus) software (<ulink
131         url="http://www.clamav.net/">www.clamav.net/</ulink>).
132           </para>
133         </listitem>
134       </varlistentry>
135       <varlistentry>
136         <term>Fancy</term>
137         <listitem>
138           <para>
139         Enables the rendering of HTML messages using the GTK port of the
140         WebKit library. By default, no remote content is loaded.
141           </para><para>
142         Plugin preferences can be found in 
143         <quote>Configuration/Preferences/Plugins/Fancy</quote>.
144           </para>
145         </listitem>
146       </varlistentry>
147       <varlistentry>
148         <term>Fetchinfo</term>
149         <listitem>
150           <para>
151         Inserts headers containing some download information, like UIDL, 
152         Claws Mail' account name, POP server, user ID and retrieval time.
153           </para>
154         </listitem>
155       </varlistentry>
156       <varlistentry>
157         <term>GData</term>
158         <listitem>
159           <para>
160         Provides an interface to Google services using the gdata library.
161         Currently, the only implemented functionality is to include Google
162         Contacts in the Tab-address completion.
163           </para>
164         </listitem>
165       </varlistentry>
166       <varlistentry>
167         <term>Keyword Warner</term>
168         <listitem>
169           <para>
170         Shows a warning when sending or queueing a message and a reference
171         to one or more keywords is found in the message text.
172           </para>
173         </listitem>
174       </varlistentry>
175       <varlistentry>
176         <term>Libravatar</term>
177         <listitem>
178           <para>
179         Enables the display of avatar images associated with user profiles at
180         libravatar.org or the user's avatar enabled domains.
181         More information: <ulink
182         url="https://www.claws-mail.org/plugin.php?plugin=libravatar"
183         >www.claws-mail.org/plugin.php?plugin=libravatar</ulink>
184           </para>
185         </listitem>
186       </varlistentry>
187       <varlistentry>
188         <term>Mail Archiver</term>
189         <listitem>
190           <para>
191         Enables folders and subfolders to be archived in several different
192         formats.
193           </para>
194         </listitem>
195       </varlistentry>
196       <varlistentry>
197         <term>mailMBOX</term>
198         <listitem>
199           <para>
200         Handles mailboxes in MBox format.
201           </para>
202         </listitem>
203       </varlistentry>
204       <varlistentry>
205         <term>NewMail</term>
206         <listitem>
207           <para>
208         Writes a message header summary to a log file, (Default:
209         <filename>~/Mail/NewLog</filename>), on arrival of new mail
210         <emphasis>after</emphasis> sorting.
211           </para>
212         </listitem>
213       </varlistentry>
214       <varlistentry>
215         <term>Notification</term>
216         <listitem>
217           <para>
218         Provides various ways to notify the user of new and unread email.
219         More information: <ulink
220         url="https://www.claws-mail.org/plugin.php?plugin=notification"
221         >www.claws-mail.org/plugin.php?plugin=notification</ulink>
222           </para>
223         </listitem>
224       </varlistentry>
225       <varlistentry>
226         <term>PDF Viewer</term>
227         <listitem>
228           <para>
229         Allows rendering of PDF and PostScript attachments using the Poppler
230         library and GhostScript external program.
231         More information: <ulink
232         url="https://www.claws-mail.org/plugin.php?plugin=pdf_viewer"
233         >www.claws-mail.org/plugin.php?plugin=pdf_viewer</ulink>
234           </para>
235         </listitem>
236       </varlistentry>
237       <varlistentry>
238         <term>Perl</term>
239         <listitem>
240           <para>
241         Intended to extend the filtering possibilities of Claws Mail. It 
242         provides a Perl interface to Claws Mail' filtering mechanism, 
243         allowing the use of full Perl power in email filters.
244           </para>
245         </listitem>
246       </varlistentry>
247       <varlistentry>
248         <term>PGP/Core, PGP/Inline and PGP/MIME</term>
249         <listitem>
250           <para>
251         Handles PGP signed and/or encrypted mails. You can decrypt mails,
252         verify signatures or sign and encrypt your own mails. Uses GnuPG/GPGME,
253         <ulink url="https://www.gnupg.org/software/gpgme/"
254         >www.gnupg.org/software/gpgme/</ulink>.
255         More information: <ulink
256         url="https://www.claws-mail.org/plugin.php?plugin=gpg"
257         >www.claws-mail.org/plugin.php?plugin=gpg</ulink>
258           </para>
259         </listitem>
260       </varlistentry>
261       <varlistentry>
262         <term>Python</term>
263         <listitem>
264           <para>
265         This plugin provides Python integration features.
266         More information: <ulink
267         url="http://www.claws-mail.org/plugin.php?plugin=python"
268         >www.claws-mail.org/plugin.php?plugin=python</ulink>
269           </para>
270         </listitem>
271       </varlistentry>
272       <varlistentry>
273         <term>RSSyl</term>
274         <listitem>
275           <para>
276         Allows you to read your favorite newsfeeds in Claws. RSS 1.0, 2.0 and 
277         Atom feeds are currently supported.
278         More information: <ulink
279         url="https://www.claws-mail.org/plugin.php?plugin=rssyl"
280         >www.claws-mail.org/plugin.php?plugin=rssyl</ulink>
281           </para>
282         </listitem>
283       </varlistentry>
284       <varlistentry>
285         <term>S/MIME</term>
286         <listitem>
287           <para>
288         Handles S/MIME signed and/or encrypted mails. You can decrypt mails,
289         verify signatures or sign and encrypt your own mails. Uses GnuPG/GPGME
290         and GpgSM, <ulink url="ftp://ftp.gnupg.org/gcrypt/gpgme/"
291         >ftp://ftp.gnupg.org/gcrypt/gpgme/</ulink>.
292           </para>
293         </listitem>
294       </varlistentry>
295       <varlistentry>
296         <term>SpamAssassin</term>
297         <listitem>
298           <para>
299         The SpamAssassin plugin comes with two major features:
300           </para><para>
301         The ability to scan incoming mail received from a POP, IMAP or LOCAL
302         account using SpamAssassin. It can optionally delete mail identified
303         as spam or save it to a designated folder. Mail scanning can be turned
304         off, which is useful if your email is scanned on your server.
305           </para><para>
306         The ability for users to teach SpamAssassin to recognise spam or ham.
307         You can train SpamAssassin by marking messages as spam or ham from the
308         Message List contextual menu, or using the relevant toolbar button in
309         the main window or the message window (see
310         <quote>Configuration/Preferences/Toolbars</quote>). Messages
311         marked as spam are optionally saved to a designated folder.
312           </para><para>
313         Plugin preferences can be found in
314         <quote>Configuration/Preferences/Plugins/SpamAssassin</quote>.
315           </para><para>
316         SpamAssassin's advantage over Bogofilter is that it's not only a
317         bayesian filter, but it also performs various local and network tests
318         to determine spaminess.
319           </para><para>
320         SpamAssassin is available from <ulink
321         url="http://spamassassin.apache.org/"
322         >spamassassin.apache.org/</ulink>. Version 3.1.x or higher is
323         required to use the learning feature in TCP mode.
324           </para>
325         </listitem>
326       </varlistentry>
327       <varlistentry>
328         <term>SpamReport</term>
329         <listitem>
330           <para>
331         This plugin reports spam to various places.
332         Currently the sites <ulink url="http://spam-signal.fr"
333         >spam-signal.fr</ulink> and <ulink url="http://spamcop.net"
334         >spamcop.net</ulink> are supported, and the <ulink
335         url="http://lists.debian.org">Debian lists (lists.debian.org)</ulink>
336         spam nomination system.
337           </para>
338         </listitem>
339       </varlistentry>
340       <varlistentry>
341         <term>TNEF parse</term>
342         <listitem>
343           <para>
344         This plugin enables reading <literal>application/ms-tnef</literal> attachments.
345         More information: <ulink
346         url="https://www.claws-mail.org/plugin.php?plugin=tnef_parser"
347         >www.claws-mail.org/plugin.php?plugin=tnef_parser</ulink>
348           </para>
349         </listitem>
350       </varlistentry>
351       <varlistentry>
352         <term>vCalendar</term>
353         <listitem>
354           <para>
355         Enables vCalendar message handling like that produced by Evolution or 
356         Outlook, and Webcal subscriptions.
357         More information: <ulink
358         url="https://www.claws-mail.org/plugin.php?plugin=vcalendar"
359         >www.claws-mail.org/plugin.php?plugin=vcalendar</ulink>
360           </para>
361         </listitem>
362       </varlistentry>
363     </variablelist>
364     <para>
365         If you're a developer, writing a plugin to extend Claws Mail's
366         capabilities is probably the best and easiest solution. We will 
367         provide hosting to your code, and will be glad to answer your questions
368         in the mailing-list or on the IRC channel,
369         <literal>#claws</literal> on <ulink url="https://libera.chat">Libera.chat</ulink>.
370     </para>
371   </section>
373   <section id="plugins_network">
374     <title>Network access from the plugins</title>
375     <para>
376         Some of the external plugins, for example RSSyl, vCalendar, Libravatar
377         or Fancy, need Internet access for their operations (retrieving feeds in
378         the case of RSSyl or vCalendar, and fetching images in the case of
379         Libravatar or Fancy). These plugins use the Curl library. Hence, if your
380         Internet access is restricted by a proxy, you will need to tell libCurl
381         to use this proxy. This is done by setting an environment variable,
382         <literal>http_proxy</literal>. For example, 
383         <literal>http_proxy=http://user:passwd@myproxy.example.com:8080</literal>
384         will tell libCurl to connect to port 8080 of the machine
385         myproxy.example.com, with the user <quote>user</quote> and password
386         <quote>passwd</quote> to connect to the Internet.
387     </para><para>
388         You can either set this variable before starting Claws Mail by
389         using, for example,
390         <command>http_proxy=http://user:passwd@myproxy.example.com:8080
391         claws-mail</command>, or you can set it in your
392         <filename>~/.bashrc</filename> file (or your shell equivalent), by
393         adding the following line<footnote><para>Other shells may have
394         diferent syntaxes, check your shell's manual page.</para></footnote>:
395         <command
396         >export http_proxy=http://user:passwd@myproxy.example.com:8080</command>
397         (you'll have to reconnect to have it taken into account).
398     </para>
399   </section>
401   <section id="plugin_path_config">
402     <title>Plugin path configuration</title>
403     <para>
404     By default, when loading a plugin, its full path is saved in
405     <filename>~/.claws-mail/clawsrc</filename>.
406     </para><para>
407     As most users have only one copy of Claws Mail installed and always
408     use the same installation method, this is not a problem.
409     </para><para>
410     However, if you have multiple copies of Claws Mail installed
411     and want to share the same configuration among them, this may not
412     work, particularly when using different versions of Claws Mail.
413     </para><para>
414     A second installed copy will try to load the plugins installed by
415     the first and, if the versions differ, the plugins will be rejected.
416     </para><para>
417     In order to avoid this problem you can manually edit the plugins
418     section in the <filename>clawsrc</filename> file, replacing the full
419     path with just the plugin file name of those you want to load
420     relative to the copy of Claws Mail being run.
421     </para><para>
422     In so doing, each copy of Claws Mail will try to load those plugins
423     from its own plugin directory, rather than a fixed location.
424     </para>
425   </section>
427 </section>