2006-08-06 [colin] 2.4.0cvs30
[claws.git] / manual / advanced.xml
blobc227c0a7fcc308e9f5e12433b374349d0545deba
1 <?xml version="1.0" encoding="utf-8"?>
2 <section id="ch_advanced">
3   <title>Advanced features</title>
4   <section id="adv_actions">
5     <title>Actions</title>
6     <para>
7     Actions allow you to use all the power of the Unix command-line with your emails. You can define various commands, taking parameters such as the current email file, a list of emails, the currently selected text, and so on. In this way, you'll be able to perform various tasks such as editing a raw mail in your text editor, "hide" what you mean using ROT-13, apply patches contained in emails directly, and so on. The only limit is your imagination. You can configure Actions via the Tools menu.
8     </para>
9     <blockquote>
10         <example><title>Simple <quote>Open With...</quote></title>
11                 <variablelist>
12                         <varlistentry><term>Menu name: <emphasis>Open with/kate</emphasis> Command Line: <emphasis>kate %p</emphasis></term>
13                                 <listitem><para>Opens the file of the selected decoded MIME part (<emphasis>%p</emphasis>) with the <emphasis>kate</emphasis> text editor.
14                                     </para></listitem>
15                     </varlistentry>
16                 </variablelist>
17         </example>
18         <example><title>Spam management using <ulink url="http://bogofilter.sourceforge.net/">Bogofilter</ulink></title>
19                 <variablelist>
20                         <varlistentry><term>Menu name: <emphasis>Bogofilter/Mark as Ham</emphasis> Command Line: <emphasis>bogofilter -n -v -B "%f"</emphasis></term>
21                                 <listitem><para>Marks the currently selected mails (<emphasis>%f</emphasis>) as 'not spam' using <emphasis>Bogofilter</emphasis>.
22                                     </para></listitem>
23                     </varlistentry>
24                     <varlistentry><term>Menu name: <emphasis>Bogofilter/Mark as Spam</emphasis> Command Line: <emphasis>bogofilter -s -v -B "%f"</emphasis></term>
25                             <listitem><para>Marks the currently selected mails (<emphasis>%f</emphasis>) as 'spam' using <emphasis>Bogofilter</emphasis>.
26                                     </para></listitem>
27                     </varlistentry>
28                 </variablelist>
29     </example>
30     <example><title>Search Google using an external script</title>
31             <variablelist>
32                     <varlistentry><term>Menu name: <emphasis>Search/Google</emphasis> Command Line: <emphasis>|/path/to/google_search.pl</emphasis></term>
33                             <listitem><para>Searches Google for the currently selected text (<emphasis>|</emphasis>) using the external script <emphasis><ulink url="http://www.sylpheed-claws.net/tools.php">google_search.pl</ulink></emphasis>.
34                                     </para></listitem>
35                     </varlistentry>
36             </variablelist>
37     </example>
38     </blockquote>
39   </section>
40   <section id="adv_templates">
41     <title>Templates</title>
42     <para>
43     Templates are used in composition windows, and act as a model for emails. Templates can be filled with static text and dynamic parts, such as the original sender's name ("Dear %N, ..."), the date, etc. When applying a template, the dynamic fields will be replaced with the relevant values. You can configure templates via the Tools menu.
44     </para>
45     <para>
46     When applying a template, you will be asked to <quote>Insert</quote> or <quote>Replace</quote>, the difference between replacing and inserting is only concerned with the message body. <quote>Replace</quote> will replace the current composition window message body with the body defined in the template, clearing it if the template body is empty. <quote>Insert</quote> will insert the template's body, if set, at the current cursor position.
47     </para>
48     <para>
49     Whether you choose to Insert or Replace, any To, Cc or Bcc field that is defined in the template will be appended to the compose window's recipients list. If it is defined, the template's Subject will always replace the compose window's Subject.
50     </para>
51     <para>
52     Symbols can be used in all parts of the templates and will be substituted with their respective dynamic value if possible, otherwise no value will be used. This often makes more sense if you apply a template when replying or forwarding, otherwise most of the symbols value will be undefined. There is no restriction on which symbols can be used in template parts, even if inserting the body (%M or %Q) may make no sense in common situations.
53     </para>
54     <para>
55     When applying a template, the body is processed first, then the To, Cc, Bcc and Subject fields follow.
56     </para>
57     <para>
58         Further information and examples of usage can be found in the user-contributed FAQ on the Sylpheed-Claws website <ulink url="http://www.sylpheed-claws.net/faq/">http://www.sylpheed-claws.net/faq/</ulink>.
59     </para>
60    </section>
61   <section id="adv_processing">
62     <title>Processing</title>
63     <para>
64     Processing rules are the same as Filtering rules, except that they are applied when entering a folder and apply only to this folder. You can use them to automatically move old mails into an archive folder, or for further dispatching of emails, and more. You can set each folder's Processing rules by right-clicking on it.
65     </para>
66     <para>
67     Processing rules are accompanied by Pre-processing and Post-processing rules. Like Processing rules, they apply only when opening a folder, but like Filtering rules, they are shared accross all folders. You can configure them from the Tools menu. Pre-processing rules are executed before the folder's specific Processing rules, while Post-processing rules are executed afterwards.
68     </para>
69   </section>
70   <section id="adv_colour_labels">
71   <title>Colour Labels</title>
72   <para>
73   Colour labels can be used to denote a message as having a particular significance. To set a colour label simply right-click a message in the Message List and use the <quote>Colour label</quote> submenu.
74   </para>
75   <para>
76   Colour labels are user-configurable. Both the colour and the label can be set by the user. Preferences can be found on the <quote>Configuration/Preferences/Display/Colours</quote> page.
77   </para>
78   </section>
79   <section id="adv_ml_support">
80   <title>Mailing-List support</title>
81   <para>
82   Sylpheed-Claws offers mailing-list support from the <quote>Message/Mailing-List/</quote> submenu. When you have a mailing-list message selected, the submenu allows you to quickly initiate subscribing, unsubscribing, posting, getting help, contacting the list owner, and viewing the list archive; either by opening a new Compose window with the appropriate address pre-filled, or by opening the URL in your web browser.
83   </para>
84   </section>
85   <section id="adv_plugins">
86     <title>Plugins</title>
87     <para>
88       Plugins are the mechanism for extending Sylpheed-Claws' capabilities. For example, imagine that you want to store your mails in a remote <acronym>SQL</acronym> database. In most mailers out there this is simply impossible without reworking the internals of the mailer. With Sylpheed-Claws you can simply write a plugin to achieve the task.
89     </para>
90     <para>
91             This is just an example of the possibilities. A good number of plugins developed for Sylpheed-Claws already exist, and more are to come. The <link linkend="ch_plugins">Extending Sylpheed-Claws section</link> gives details of them.
92     </para>
93   </section>
94   <section id="deploying">
95     <title>Deploying Sylpheed-Claws</title>
96     <para>
97     The initial configuration wizard tries to guess various fields using information gathered from the system, such as username, hostname, and more. As it is oriented towards general use, the default values often have to be fixed. However, this wizard is customisable, in a manner designed to allow system administrators to deploy Sylpheed-Claws easily over various users of one machine, or even over multiple machines installed via some replication tool.
98     </para>
99     <para>
100     The first part consists of creating a wizard configuration template and setting the various default parameters of a new Sylpheed-Claws installation.
101     </para>
102     <itemizedlist>
103       <listitem><para>Start with a new user who does not have a ~/.sylpheed-claws directory, ideally a new user.</para></listitem>
104       <listitem><para>Start Sylpheed-Claws and go through the wizard. The values you fill in will be of no use for the future deployment, so you can click next-next-next.</para></listitem>
105       <listitem><para>Once the wizard is finished and you have Sylpheed-Claws' main window opened, configure the various defaults you want to have in the master. You can load plugins, add people or LDAP servers in the addressbook, create filtering rules, and so on.</para></listitem>
106       <listitem><para>If needed, and if the deployed Sylpheed-Claws will use MH folders, you can create subdirectories in the mailbox.</para></listitem>
107       <listitem><para>Next, quit Sylpheed-Claws.</para></listitem>
108       <listitem><para>Now, edit the newly created wizard template file, ~/.sylpheed-claws/accountrc.tmpl. In this file, you will see different variables, corresponding to the wizard's fields. You can leave some commented, in which case the usual default will be used, or specify values or variables. Not all fields can contain variables; for example, smtpauth, smtpssl and recvssl are booleans, either 0 or 1, and recvtype is an integer value. The other fields, like name, email, or recvuser, are parsed by the wizard and the variables they contain are replaced by values. This allows you to specify everything as needed for your site, even if you have strange server names or server logins.</para></listitem>
109       <listitem><para>Save this file, and delete both ~/.sylpheed-claws/accountrc, (which contains your dummy account) and ~/.sylpheed-claws/folderlist.xml, (so that the folder tree will be correctly parsed for new users). Recursively copy .sylpheed-claws to /etc/skel/; if the deployed Sylpheed-Claws will use MH folders, also copy the created Mail directory. chown all of /etc/skel/.sylpheed-claws and /etc/skel/Mail to root:root for security reasons.</para></listitem>
110       <listitem><para>Test! Create a new user, login as that user, run Sylpheed-Claws. If you filled everything as you wanted, this user will just have to fill in his passwords.</para></listitem>
111       <listitem><para>Now, if you're creating a master for a site-wide deployment, you can continue with this process. If you were just doing it for one machine, you're done!</para></listitem>
112     </itemizedlist>
113     <para>
114     Here are the different variables of the accountrc.tmpl file:
115     </para>
116     <variablelist>
117      <varlistentry><term>domain</term>
118       <listitem><para>Your domain name (example.com). If not set, it'll be extracted from the hostname.</para></listitem></varlistentry>
119      <varlistentry><term>name</term>
120       <listitem><para>The user's name. If not set, it'll be extracted from Unix login information, which is usually ok.</para></listitem></varlistentry>
121      <varlistentry><term>email</term>
122       <listitem><para>The user's email. If not set, it'll be extracted from $name and $domain.</para></listitem></varlistentry>
123      <varlistentry><term>organization</term>
124       <listitem><para>Your organization. If not set, it'll be empty.</para></listitem></varlistentry>
125      <varlistentry><term>smtpserver</term>
126       <listitem><para>The smtp server to use. If not set, it'll be smtp.$domain</para></listitem></varlistentry>
127      <varlistentry><term>smtpauth</term>
128       <listitem><para>0 or 1. Whether to authenticate on the SMTP server. If not set, it'll be 0.</para></listitem></varlistentry>
129      <varlistentry><term>smtpuser</term>
130       <listitem><para>The login on the SMTP server. If not set, it'll be empty (same login as for reception)</para></listitem></varlistentry>
131      <varlistentry><term>smtppass</term>
132       <listitem><para>The password on the SMTP server. If not set, it'll be empty (if smtppass is empty but smtpuser is not, the user will be asked for the password).</para></listitem></varlistentry>
133      <varlistentry><term>recvtype</term>
134       <listitem><para>The type of server to receive from. 0 for POP3, 3 for IMAP4, 5 for a local MBOX file. If not set, it'll be 0 (POP3).</para></listitem></varlistentry>
135      <varlistentry><term>recvserver</term>
136       <listitem><para>The reception server. If not set, it'll be (pop|imap).$domain, depending on $recvtype.</para></listitem></varlistentry>
137      <varlistentry><term>recvuser</term>
138       <listitem><para>The login on the reception server. If not set, it'll be extracted from the Unix login information.</para></listitem></varlistentry>
139      <varlistentry><term>recvpass</term>
140       <listitem><para>The password on the reception server. If not set, it'll be empty (the user will be asked for it once per session).</para></listitem></varlistentry>
141      <varlistentry><term>imapdir</term>
142       <listitem><para>The IMAP subdirectory. If not set, it'll be empty, which is often sufficient.</para></listitem></varlistentry>
143      <varlistentry><term>mboxfile</term>
144       <listitem><para>The MBOX file to receive from if $recvtype is 5. If not set, /var/mail/$LOGIN.</para></listitem></varlistentry>
145      <varlistentry><term>mailbox</term>
146       <listitem><para>The MH mailbox to store mail in (for $recvtype 0 or 5). If not set, it'll be "Mail".</para></listitem></varlistentry>
147      <varlistentry><term>smtpssl</term>
148       <listitem><para>0 or 1. Whether to use SSL for sending mail. If not set, it'll be 0.</para></listitem></varlistentry>
149      <varlistentry><term>recvssl</term>
150       <listitem><para>0 or 1. Whether to use SSL for receiving mail. If not set, it'll be 0.</para></listitem></varlistentry>
151     </variablelist>
152     <para>
153     Here are the different variables you can use in the domain, name, email, organization, smtpserver, smtpuser, smtppass, recvserver, recvuser, recvpass, imapdir, mboxfile and mailbox fields:
154     </para>
155     <variablelist>
156      <varlistentry><term>$DEFAULTDOMAIN</term>
157       <listitem><para>The domain name as extracted from Unix hostname information. Often wrong.</para></listitem></varlistentry>
158      <varlistentry><term>$DOMAIN</term>
159       <listitem><para>The domain name as set in the domain variable, the first of the template file.</para></listitem></varlistentry>
160      <varlistentry><term>$USERNAME</term>
161       <listitem><para>The user's real name.</para></listitem></varlistentry>
162      <varlistentry><term>$LOGIN</term>
163       <listitem><para>The user's Unix login.</para></listitem></varlistentry>
164      <varlistentry><term>$NAME_MAIL</term>
165       <listitem><para>The user's real name as set in the name variable of the template field, in lowercase and with spaces replaced by dots. "Colin Leroy" becomes "colin.leroy".</para></listitem></varlistentry>
166      <varlistentry><term>$EMAIL</term>
167       <listitem><para>The email address as set in the email variable of the template field.</para></listitem></varlistentry>
168     </variablelist>
169     <para>
170     Be sure not to use a variable before defining it.
171     </para>
172   </section>
173   <section id="adv_hidden">
174     <title>Hidden preferences</title>
175     <para>
176     There are a number of hidden preferences in Sylpheed-Claws, preferences that some users who we wanted to please couldn't live without, but which did not have a place in the GUI in our opinion. You can find the following, and change them while Sylpheed-Claws is not running in ~/.sylpheed-claws/sylpheedrc.
177     </para>
178     <variablelist>
179             <varlistentry><term>bold_unread</term>
180                     <listitem><para>show unread messages using bold font in Message List</para></listitem>
181             </varlistentry>
182             <varlistentry><term>cache_max_mem_usage</term>
183                     <listitem><para>the maximum amount of memory to use to cache messages, in kB.</para></listitem>
184             </varlistentry>
185             <varlistentry><term>cache_min_keep_time</term>
186                     <listitem><para>the minimum time to keep a cache in memory, in minutes. Caches more recent than this time will not be freed, even if the memory usage is too high.</para></listitem>
187             </varlistentry>
188             <varlistentry><term>compose_no_markup</term>
189                     <listitem><para>don't use bold and italic text in Compose dialogue's account selector</para></listitem>
190             </varlistentry>
191             <varlistentry><term>enable_hscrollbar</term>
192                     <listitem><para>enables horizontal scrollbar in Message List</para></listitem>
193             </varlistentry>
194             <varlistentry><term>enable_rules_hint</term>
195                     <listitem><para>enable alternate lines in GtkTreeViews</para></listitem>
196             </varlistentry>
197             <varlistentry><term>enable_swap_from</term>
198                     <listitem><para>display sender's email address in To column in Sent folder instead of recipient's</para></listitem>
199             </varlistentry>
200             <varlistentry><term>folderview_vscrollbar_policy</term>
201                     <listitem><para>specify the policy of vertical scroll bar of folder view</para></listitem>
202             </varlistentry>
203             <varlistentry><term>hover_timeout</term>
204                     <listitem><para>time in milliseconds that will cause a folder tree to expand during drag 'n' drop when the mouse cursor is held over it</para></listitem>
205             </varlistentry>
206             <varlistentry><term>live_dangerously</term>
207                         <listitem><para>Don't ask for confirmation before definitive deletion of emails</para></listitem>
208             </varlistentry>
209             <varlistentry><term>log_error_color</term><term>log_in_color</term><term>log_msg_color</term><term>log_out_color</term><term>log_warn_color</term>
210                         <listitem><para>colours used in log window</para></listitem>
211             </varlistentry>
212             <varlistentry><term>mark_as_read_delay</term>
213                         <listitem><para>Seconds to wait before marking a mail as read</para></listitem>
214             </varlistentry>
215             <varlistentry><term>skip_ssl_cert_check</term>
216                     <listitem><para>Disables the verification of SSL certificates</para></listitem>
217             </varlistentry>
218             <varlistentry><term>statusbar_update_step</term>
219                     <listitem><para>update stepping in progress bars</para></listitem>
220             </varlistentry>
221             <varlistentry><term>textview_cursor_visible</term>
222                     <listitem><para>display the cursor in the message view</para></listitem>
223             </varlistentry>
224             <varlistentry><term>thread_by_subject_max_age</term>
225                     <listitem><para>number of days to include a message in a thread when using 'Thread using subject in addition to standard headers'</para></listitem>
226             </varlistentry>
227             <varlistentry><term>toolbar_detachable</term>
228                     <listitem><para>hide handles in the toolbars</para></listitem>
229             </varlistentry>
230             <varlistentry><term>utf8_instead_of_locale_for_broken_mail</term>
231                     <listitem><para>use UTF-8 encoding for broken mails instead of current locale</para></listitem>
232             </varlistentry>
233             <varlistentry><term>warn_dnd</term>
234                     <listitem><para>display a confirmation dialog on drag 'n' drop of folders</para></listitem>
235             </varlistentry>
236     </variablelist>
237   </section>
238 </section>