1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
4 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
5 <TITLE>Sylpheed User's Manual: Filters, actions and templates</TITLE>
6 <LINK HREF="sylpheed-14.html" REL=next>
7 <LINK HREF="sylpheed-12.html" REL=previous>
8 <LINK HREF="sylpheed.html#toc13" REL=contents>
11 <A HREF="sylpheed-14.html">Next</A>
12 <A HREF="sylpheed-12.html">Previous</A>
13 <A HREF="sylpheed.html#toc13">Contents</A>
15 <H2><A NAME="s13">13.</A> <A HREF="sylpheed.html#toc13">Filters, actions and templates</A></H2>
17 <P>Sylpheed offers three powerfull tools to help you automatically
18 and efficently manage you mails. These tools are:</P>
21 <LI>The <I>filters</I>, that let you sort you incoming messages and move
22 them into your folders based on their sender, their content,
23 using regular expressions.</LI>
24 <LI>The <I>actions</I> feature is a convenient way for the user to launch
25 external commands to process a complete message file including
26 headers and body or just one of its parts.
27 It allows also the use of an external command to filter the whole
28 text or just a selected part in the message window or in the
30 <LI>The <I>templates</I> that let you pre-define complete messages
31 leaving placeholders in the text to be filled at composition time.</LI>
37 <H2><A NAME="ss13.1">13.1</A> <A HREF="sylpheed.html#toc13.1">Filters</A>
40 <P>Written by Nick Selby (sylpheed@nickselby.com)</P>
41 <P>Sylpheed provides powerful filters to allow users to automatically
42 pre-sort incoming mail based on a set of rules that the user defines.
43 As a most simple example, let's say you work at the Acme Grommet Company,
44 and you want all e-mail from your co-workers to be placed in one mailbox.
45 To accomplish this, you would set up a filter that would place all mail
46 whose "From" header includes the phrase "acmegrommet.com" into a specific
48 <P>Sylpheed allows you much more control than just that simple setup;
49 you may create filters based on several variables, including an
50 "If this AND that" or "If the message contains this OR does NOT contain that"
51 etc. It's very cool.</P>
53 <H3>Finding The Filter Setting Dialog</H3>
55 <P>The filter settings dialog is located in the <I>Configuration</I> menu,
56 under the title "Filter Setting" or from the <I>Tools</I> menu, under in
57 the <I>Create filter rules</I> sub menu. You may also use establish a
58 keyboard shortcut (see Keyboard Shortcuts).</P>
63 <H3>Setting Up Filters</H3>
65 <P>Operator(s) and Processing instructions combine to create a Filter Rule.</P>
67 The dialog's first setting option establishes the Operator, the variable
68 that will tell the filter what specific text to look for to trigger a
69 filter. Each Filter Rule may have up to two operator sets.</P>
70 <P>Each Operator variable contains three sections: <I>Header</I>,
71 <I>Keyword</I> and <I>Predicate</I>.</P>
72 <P>Header is a drop-down box which defines in which message header
73 Sylpheed's filter will search. Choices range from <I>Subject</I>
74 to <I>X-Mailer</I>. </P>
75 <P><I>Keyword</I> is a a text box in which you may enter the text
76 for which the filter will search. </P>
77 <P>Predicate allows you to choose to filter based on whether the operator
78 contains, or does not contain, the text you enter in the Keyword field.</P>
79 <P>Example: Create an Operator in which the X-Mailer field of an incoming
80 message contains the word 'Eudora'.</P>
83 <LI>Step 1. Under the <I>Header</I> drop-down box, select
85 <LI>Step 2. In the <I>Keyword</I> text box, type 'eudora'
86 (case insensitive)</LI>
87 <LI>Step 3. Determine appropriate Predicate setting. Default
88 is <I>Contains</I>.</LI>
91 <P>The second Operator setting, which is set identically to the
92 first, also allows the user to select an AND/OR setting
93 declaring the relationship between the two operators. </P>
94 <P>Example: Create an Operator set which will process mail with
95 a <I>From</I> header of bob@acmegrommet.com AND a subject
96 of "2001 Spring Grommet Collection"</P>
99 <LI>Step 1. Under the first Operator set's Header drop-down
100 box, select <I>From</I>.</LI>
101 <LI>Step 2. In the <I>Keyword</I> text box, type
102 'bob@acmegrommet.com' (case insensitive).</LI>
103 <LI>Step 3. Leave <I>Predicate</I> setting on default,
105 <LI>Step 4. Leave <I>AND/OR</I> box on default setting, <I>and</I>.</LI>
106 <LI>Step 5. Under the second Operator set's <I>Header</I>
107 drop-down box, select <I>Subject</I>.</LI>
108 <LI>Step 6. In the <I>Keyword</I> text box, type
109 '2001 spring grommet collection' (case insensitive).</LI>
110 <LI>Step 7. Leave <I>Predicate</I> setting on default,
111 <I>Contains</I>.</LI>
115 <H3>Message Processing</H3>
117 <P>Once you've established the Operator(s) that will define
118 which messages will be processed, it's time to tell
119 Sylpheed what to do with messages that match the operator(s).
120 You may choose between two radio button-selected settings:
121 <I>Destination</I> and <I>Don't Receive</I>.</P>
122 <P>Selecting <I>Destinations</I> will enable you to route
123 the mail into a mailbox which you specify.</P>
124 <P>Selecting <I>Don't Receive</I> will instruct Sylpheed
125 to not download messages with that operator. Note that with
126 <I>Don't Receive</I>, Sylpheed merely leaves the message
127 on your mailserver - it does not delete it. </P>
128 <P>To specify a mailbox to which you want the message transfered,
129 click on the radio button to the left of the word <I>Destination</I>
130 in the dialog. (Currently, in order to specify a mailbox you
131 must have created that mailbox prior to activating the Filter
132 Setting dialog.) Clicking the <I>Select</I> button will open
133 a pop-up window containing all mail folders currently active
134 in your copy of Sylpheed. Select the mailbox you wish by either </P>
137 <LI>(a) double clicking on the mail folder name or </LI>
138 <LI>(b) clicking the mail folder name and then clicking <I>OK</I>. </LI>
142 <P>To specify that the message not be retrieved, and left
143 on your mail server, click the radio button to the left
144 of the words <I>Don't Receive</I>.</P>
146 <H3>Filter Registration</H3>
148 <P>Now that you have set the Operator and the Processing Rule,
149 all that's left to do is tell Sylpheed to save the entire
150 Filter Rule. <B>If you skip this step, the filter won't work</B>.</P>
151 <P>The <I>Register Rules</I> configuration has three options:
152 <I>Register</I>, <I>Substitute</I> and <I>Delete</I>. </P>
155 <LI><I>Register</I> saves the Filter Rule.</LI>
156 <LI><I>Substitute</I> modifies an existing registered
158 <LI><I>Delete</I> will remove a previously registered
162 <P>Example of Registering A Filter Rule: Create a Filter Rule
163 that moves all mail with the subject of "Sylpheed Manual"
164 into the (previously created) mail folder "Sylpheed Manual Mail".</P>
167 <LI>Step 1. Under the first Operator set's <I>Header</I>
168 drop-down box, select <I>Subject</I>.</LI>
169 <LI>Step 2. In the <I>Keyword</I> text box, type
170 'sylpheed manual' (case insensitive).</LI>
171 <LI>Step 3. Leave <I>Predicate</I> setting on default,
172 <I>Contains</I>. Leave second Operator set empty.</LI>
173 <LI>Step 4. Click <I>Destinations</I> radio button;
174 select "Sylpheed Manual Mail" folder.</LI>
175 <LI>Step 5. Click <I>Register</I>.</LI>
176 <LI>Step 6. Click <I>OK</I>.</LI>
179 <P>Example of Substituting A Filter Rule: Modify a previously
180 created Filter Rule that moves all mail with the subject
181 of "Sylpheed Manual" to sort mail not to the mail folder
182 "Sylpheed Manual Mail" but rather the mail folder "Sylpheed Questions" </P>
185 <LI>Step 1. Under the first Operator set's <I>Header</I>
186 drop-down box, select <I>Subject</I>.</LI>
187 <LI>Step 2. In the <I>Keyword</I> text box, type
188 'sylpheed manual' (case insensitive).</LI>
189 <LI>Step 3. Leave <I>Predicate</I> setting on default,
190 <I>Contains</I>. Leave second Operator set empty.</LI>
191 <LI>Step 4. Click <I>Destinations</I> radio button;
192 select "Sylpheed Questions" folder.</LI>
193 <LI>Step 5. Click <I>Substitute</I>.</LI>
194 <LI>Step 6. Click <I>OK</I>.</LI>
197 <P>Example of Deleting a Filter Rule: Remove the previously
198 created Filter Rule which refers to Subject:Sylpheed Questions.</P>
201 <LI>Step 1. In the <I>Registered Rules</I> select box,
202 highlight the filter entitled
203 "<I>Subject:Sylpheed Manual: :::Sylpheed Questions:1:1:m</I>"</LI>
204 <LI>Step 2. Click the <I>Delete</I> Button.</LI>
205 <LI>Step 3. Confirm the deletion by clicking <I>Yes</I> in the
206 confirmation pop-up that asks,
207 <I>Do you really want to delete this rule?</I></LI>
208 <LI>Step 4. Click <I>OK</I>.</LI>
212 <H3>Registered Rule Order</H3>
214 <P>One caveat about all this: the order in which Filter Rules
215 are created could adversely affect your intended message sorting,
216 and one needs to consider this when creating or updating Filter Rules. </P>
217 <P>For example, a Filter Rule saying, "Move anything containing 'ABC'
218 to Mailbox X" listed above another Filter Rule saying "Move anything
219 containing 'ABCDEF' to Mailbox Y" will cause the latter of these
220 filters not to process. </P>
221 <P>Think about the way Sylpheed goes down its list: first, it would say..
222 "Hmm, any messages with ABC? Ah, there's one! Move it".
223 Then it would think, "Okay, any messages with ABCDEF?"
224 To which the answer would be "no" - that ABCDEF was already
225 filtered because it contained "ABC".</P>
227 <P>In order to avoid this, you must ensure that the more complex
228 Filter Rule is processed first, by placing it higher than a
229 similar, conflicting Filter Rule. </P>
230 <P>To move a Registered Rule higher or lower within the Registered
231 Rule box, select the rule you would like to move, and click on
232 the <I>Up</I> or <I>Down</I> buttons. This will "move" the
233 rule up or down, above or below a potentially conflicting Filter Rule. </P>
235 <H2><A NAME="ss13.2">13.2</A> <A HREF="sylpheed.html#toc13.2">How to Filter Messages</A>
238 <P>Filtering messages can be done in several ways:</P>
241 <LI>Sylpheed automatically filters incoming mail from
243 <LI>If you incorporate mail from a unix mailbox, then
244 in the <I>Common preferences</I> (<I>Configuration</I> menu),
245 you need to check the box called <I>Filter on incorporation</I>.
246 You find this box in the <I>Receive</I> tab in the space
247 <I>Local spool</I>.</LI>
248 <LI>You can also select the option <I>Filter messages</I>
249 from the Summary menu.</LI>
252 <P>Please note that, at time of writing, Sylpheed does -NOT YET-
253 has filtering of IMAP messages enabled.</P>
255 <H2><A NAME="ss13.3">13.3</A> <A HREF="sylpheed.html#toc13.3">Filtering mail with Procmail</A>
258 <P>If you feel that Sylpheed has not enough options to perform
259 filtering for you, then you can look at Sylpheed Claws which
260 has more options for filtering. You can find the Claws version
261 (the cutting edge, experimental version of Sylpheed)
262 sylpheed-claws.sourceforge.net.</P>
263 <P>Another option, if you do not want to work with an experimental
264 version of Sylpheed, is Procmail. Procmail is a powerful mail
265 filtering program that is triggered from the Mail Transport
266 Agent (i.e. Sendmail, Postfix, Qmail). Procmail is called by
267 default from these programs after receiving e-mail.</P>
268 <P>The trick to procmail is to tell it that mail has to be filtered
269 into MH mail folders. This is not difficult though.</P>
270 <P>Normally procmail moves mail into MBOX format, this is one large
271 file containing all mails in a folder. MH uses separate files
272 for each e-mail. All you need to do is point the destination
273 of a procmail rule to <destination folder>/.
274 It is the "slash dot" that does the trick.</P>
277 <H2><A NAME="ss13.4">13.4</A> <A HREF="sylpheed.html#toc13.4">Actions</A>
280 <P>The following section is a copy of
281 <A HREF="http://melvin.hadasht.free.fr/home/sylpheed/actions/index.html">Melvin's page</A>.</P>
283 <P>The "actions" feature is a convenient way for the user to
284 launch external commands to process a complete message file
285 including headers and body or just one of its parts.
286 It allows also the use of an external command to filter the
287 whole text or just a selected part in the message window or
288 in the compose window. This is a generic tool that allows
289 to do any uncommon actions on the messages, and thus extends
290 the possibilities of Sylpheed. For example, Sylpheed does not
291 include the rot13 cyphering algorithm popular in some
292 newsgroups. It does not support natively armored encryption
293 or clear signing. It does not support uuencoded messages.
294 As all these features can be handled by external programs,
295 the actions provide a convenient way to use them from the menu bar.</P>
299 <P>To create a new action, go to the <I>Configuration</I> menu,
300 select the <I>Actions...</I> entry. The <I>Actions setting</I>
301 dialog offers to enter the Menu name that will trigger the command.
302 The created menu will be found in the <I>Tools -> Actions</I> submenu.
303 By inserting a slash / in the menu name, you create a submenu.</P>
304 <P>The command is entered in the Command line entry. Note that
305 Sylpheed stores every single email in a separate file. This allows
306 to use the following syntax for the command:</P>
309 <LI><I>%f</I> denotes the file name of the selected message.
310 If you selected more than one, then the command will be
311 launched for each message with the appropriate file name.</LI>
312 <LI><I>%F</I> denotes the list of the file names of the
313 selected message. If only one message is selected,
314 this amounts to <I>%f</I>, but if more messages are
315 selected, then the command will be launched only once
316 with the list of the file names. (You can use both
317 <I>%f</I> and <I>%F</I> in one command: then the
318 command will be launched for each selected message
319 with the name of this message and with the list of
320 all selected messages. I did not find a practical
321 example for this.).</LI>
322 <LI><I>%p</I> denotes the current selected message part
323 of a multipart message. The part is decoded accordingly.
324 If the message is not a multipart message, it denotes
325 the message body.</LI>
326 <LI>Prepending <I>></I>: this will allow you to send
327 to the command's standard input a text that you will
328 enter in a dialog window.</LI>
329 <LI>Prepending <I>*</I>: this will allow you to send to
330 the command's standard input a text that you will enter
331 in a dialog window. But in contrast to prepending
332 <I>></I>, the entered text is hidden
333 (useful when entering passwords).</LI>
334 <LI>Appending an ampersand <I>&</I>: this will run
335 the command asynchronously. That means "fire and forget".
336 Sylpheed won't wait for the command to finish, nor will
337 it catch its output or its error messages.</LI>
338 <LI>Prepending the vertical bar <I>|</I> (pipe-in):
339 this will send the current displayed text or the current
340 selected text from the message view or the compose
341 window to the command standard input. The command will
342 silently fail if more than one message is selected.</LI>
343 <LI>Appending the vertical bar <I>|</I> (pipe-out): this
344 will replace the current displayed text or the current
345 selected text from the message window or the compose
346 window with the command standard output. The command
347 will silently fail if more than one message is selected.</LI>
348 <LI>Appending the "greater than" sign <I>></I> will
349 insert the command output in the message. The difference
350 between the trailing <I>|</I> is that no text will be
351 deleted or replaced. Most used when composing mails to
355 <P><B>Note</B>: It is not possible to use actions containing
356 <I>%f</I>, <I>%F</I> or <I>%p</I> from the compose window.</P>
357 <P>When a command is run, and unless it is run asynchronously,
358 Sylpheed will be insensitive to any interaction and it will wait
359 for the command to finish. If the command takes too long
360 (5 seconds), it will popup a dialog window allowing to stop it.
361 This dialog will also be displayed as soon as the command has
362 some output: error messages or even its standard output when
363 the command is not a "pipe-out" command. When multiple commands
364 are being run, they are run in parallel and each command output
365 is separated from the outputs of the others.</P>
369 <P>Here are some examples that are listed in the same syntax
370 as used for storing the actions list. You can copy and past
371 the definition in your <I> /.sylpheed/actionsrc</I> file
372 (exit Sylpheed before). The syntax is very simple: one line
373 per action, each action contains the menu name and the command
374 line separated by a colon and a space ": ".
375 Alternatively, you can use <I>Configuration -> Actions...</I>
376 and for each example enter a menu name and copy&paste the
377 text after the colon and space ": " in the command definition.</P>
381 <TABLE BORDER><TR><TD>
382 <B>Purpose</B></TD><TD><B>Definition</B></TD><TD><B>Details</B></TD></TR><TR><TD>
383 Decoding uuencoded messages</TD><TD>UUdeview: xdeview %F&</TD><TD>xdeview comes with uudeview. If an encoded file is splitin multiple messages, just select them all and run the command.</TD></TR><TR><TD>
384 Display uuencoded image</TD><TD>Display uuencoded: uudec %f&</TD><TD>Displays uuencoded files. The uudec script is to be found here.</TD></TR><TR><TD>
385 rot13 cyphering</TD><TD>Rot13: |tr a-zA-Z n-za-mN-ZA-M|</TD><TD>This will apply the rot13 cyphering algorithm to the (selected)text in the message/compose view.</TD></TR><TR><TD>
386 Save MS TNEF parts</TD><TD>Save TNEF part: xterm -e tnef-claws %p</TD><TD>Select the TNEF message part then use this action to extractthe attachment.</TD></TR><TR><TD>
387 Alter messages</TD><TD>Edit message: gvim -f %F</TD><TD>Allows to edit any received message. Can be used to removeunneeded message parts etc.</TD></TR><TR><TD>
388 Pretty format</TD><TD>Par: |par 72Tbgjqw74bEe B=._A_a 72bgi|</TD><TD>par is a utility that can pretty format any text. It does avery good job in indenting quoted messages, and justify text.Used when composing a message</TD></TR><TR><TD>
389 Browse</TD><TD>Part/Dillo: dillo %p&</TD><TD>Browse the selected message part in Dillo.</TD></TR><TR><TD>
390 Clear Sign</TD><TD>GnuPG/Clear Sign: |gpg-sign-syl|</TD><TD>Clear sign a message. The gpg-sign-syl script is responsiblefor asking the passphrase and for running gnupg. Make surethat you wrap your message correctly before signing, and thatthe resultant text will not be wrapped when sent (by disabling'wrap on send')</TD></TR><TR><TD>
391 Verify Clear Signed</TD><TD>GnuPG/Verify: |gpg --no-tty --verify</TD><TD>Verify clear signed messages. The result is displayed in theactions output dialog.</TD></TR><TR><TD>
392 Encrypt ASCII Armored</TD><TD>GnuPG/Encrypt: | gpg-enc-syl|</TD><TD>Encrypt message to ASCII armored. The recipient will be askedin a xterm.</TD></TR><TR><TD>
393 Decrypt ASCII Armored</TD><TD>GnuPG/Decrypt: *gpg --no-tty --command-fd 0 --passphrase-fd 0 --decrypt %f|</TD><TD>Decrypt ASCII armored messages. The passphrase is to be enteredin the opened action's input dialog.</TD></TR><TR><TD>
394 Receive key from server</TD><TD>GnuPG/Receive Selected Key: |gpg --recv-key `cat`</TD><TD>Select a key ID in the message view then call this action toimport it from a key server. GnuPG option file must contain areference to a keyserver. (Suggested by Bob Forsman)</TD></TR><TR><TD>
395 Import key from mail</TD><TD>GnuPG/Import Key From Mail: gpg --import %p</TD><TD>Select the message part where the public key is then importit with this action.</TD></TR><TR><TD>
396 Insert public key in message</TD><TD>GnuPG/Insert My Public Key: gpg --export -a MYKEYID></TD><TD>Insert your public key in the message your are composing.Replace MYKEYID with your key id. Needs 0.8.6claws66 or newer.</TD></TR><TR><TD>
397 Reporting SPAM</TD><TD>Report as SPAM: spamassassin -r > %f</TD><TD>Use spamassassin to report mail as spam. Redirection (>)is possible only with version 0.7.7.</TD></TR><TR><TD>
398 Check spelling</TD><TD>Check spelling: |T=`mktemp $HOME/.sXXXXXX`; cat - > $T;xterm -e ispell $T;cat $T;rm $T|</TD><TD>Open a terminal and check the spelling with ispell</TD></TR><TR><TD>
399 Google for message id</TD><TD>Google Msg ID: |google msgid.pl</TD><TD>Search the web for the selected message ID. Needs thegoogle msgid.pl script.</TD></TR><TR><TD>
404 <P>The gpg-enc-syl script is to be found
405 <A HREF="http://melvin.hadasht.free.fr/home/sylpheed/actions/gpg-enc-syl">here (gpg-enc-syl)</A>.
406 It calls gpg with the --yes command line option that you may want
407 to remove it. See gpg manual page for info.</P>
408 <P>The gpg-sign-syl script is to be found
409 <A HREF="http://melvin.hadasht.free.fr/home/sylpheed/actions/gpg-sign-syl">here (gpg-sign-syl)</A>.
410 It needs the ssh-askpass utility found in OpenSSH. It can be
411 replaced by any X11 tool that asks some (hidden) text which
412 is then sent to standard output. Another version that uses
413 an xterm is to be found
414 <A HREF="http://melvin.hadasht.free.fr/home/sylpheed/actions/gpg-sign-syl-xterm">here (gpg-sign-syl-xterm)</A>.</P>
415 <P>The uudec script is to be found
416 <A HREF="http://melvin.hadasht.free.fr/home/sylpheed/actions/uudec">here (uudec)</A>.
417 It needs uudecode and ImageMagick's display. The latter can be
418 replaced by any image viewer that can get input from standard
419 input. The script could also be modified to use temporary
420 files instead of standard input.</P>
421 <P>The google_msgid.pl script is to be found
422 <A HREF="http://melvin.hadasht.free.fr/home/sylpheed/actions/google_msgid.pl">here (google_msgid.pl)</A>.
423 Example and script by Thorsten Maerz. Edit the script to change
424 the browser (default is mozilla).</P>
425 <P>The tnef-claws bash script was written by Shawn Lamson and is
427 <A HREF="http://melvin.hadasht.free.fr/home/sylpheed/actions/tnef-claws">here</A>.
428 The script is well commented. You need to have the tnef package
429 already installed.</P>
431 <H2><A NAME="ss13.5">13.5</A> <A HREF="sylpheed.html#toc13.5">Templates</A>
434 <P>With Sylpheed you can define mail templates to use when replying
435 to messages. A template can contain raw text (that will be inserted
436 in the composed mail without any change), and placeholders that are
437 replaced at composition time by the actual value of the selected
438 fields from the original message.</P>
439 <P>A typical use of the template could be to define the legal notice
440 to be appended to your messages (the usual notice that contains a
441 text like: "here are my own words and not those of my company, my
442 boss is not liable for them, bla, bla, bla").</P>
443 <P>To define a new template, in the <I>Configuration</I> menu select
444 the <I>Templates</I> entry and fill the form:</P>
449 <P>The name parameter is used to identify each template, this name
450 will then appear in the <I>Tools/Templates</I> menu in the
452 The content of the <I>To</I> field will be appended to the original
453 content of the corresponding field in the message you are composing.
454 The content of the <I>Subject</I> field will replace the orignal subject
455 of the message you are composing.</P>
456 <P>In the upper pane, type in the text you want to put in the template,
457 use the <I>Symbols</I> button to open a help window that contains
458 the description of all the placeholders you can use in a template
459 (there is one for the sender, one for the date, one for the message
460 ID, ...), then use the <I>Register</I> button to validate the
461 template. If you do not register the template, when leaving the form
462 the template will be canceled. To modify an existing template, select
463 it in the lower pane, modify its text, then use the <I>Substitute</I>
464 button. As you may guess, the <I>Delete</I> button removes the selected
465 template. Finally validate your changes with the <I>OK</I> button.
466 If you use the <I>Cancel</I> button, the form is closed and your changes
467 are lost (deleted templates are back, added templates are lost).</P>
469 <P>To use a template, open the composition window and select the template
470 from the <I>Tools/Templates</I> menu. You can then choose to insert
471 the template into your message or to completely replace the text of the
472 message by the template. This only affects the body of the message.
473 If you choose to insert the template, its text will be inserted at the
475 <P>The placeholders are taken from the source message when replying, so
476 they have no meaning when composing a new message.</P>
479 <A HREF="sylpheed-14.html">Next</A>
480 <A HREF="sylpheed-12.html">Previous</A>
481 <A HREF="sylpheed.html#toc13">Contents</A>