Sylpheed offers three powerfull tools to help you automatically and efficently manage you mails. These tools are:
The filters
, that let you sort you incoming messages and move
them into your folders based on their sender, their content,
using regular expressions.
The actions
feature is a convenient way for the user to launch
external commands to process a complete message file including
headers and body or just one of its parts.
It allows also the use of an external command to filter the whole
text or just a selected part in the message window or in the
compose window.
The templates
that let you pre-define complete messages
leaving placeholders in the text to be filled at composition time.
Written by Nick Selby (sylpheed@nickselby.com)
Sylpheed provides powerful filters to allow users to automatically pre-sort incoming mail based on a set of rules that the user defines. As a most simple example, let's say you work at the Acme Grommet Company, and you want all e-mail from your co-workers to be placed in one mailbox. To accomplish this, you would set up a filter that would place all mail whose "From" header includes the phrase "acmegrommet.com" into a specific mailbox.
Sylpheed allows you much more control than just that simple setup; you may create filters based on several variables, including an "If this AND that" or "If the message contains this OR does NOT contain that" etc. It's very cool.
The filter settings dialog is located in the Configuration
menu,
under the title "Filter Setting" or from the Tools
menu, under in
the Create filter rules
sub menu. You may also use establish a
keyboard shortcut (see Keyboard Shortcuts).
Operator(s) and Processing instructions combine to create a Filter Rule. * Operators The dialog's first setting option establishes the Operator, the variable that will tell the filter what specific text to look for to trigger a filter. Each Filter Rule may have up to two operator sets.
Each Operator variable contains three sections: Header
,
Keyword
and Predicate
.
Header is a drop-down box which defines in which message header
Sylpheed's filter will search. Choices range from Subject
to X-Mailer
.
Keyword
is a a text box in which you may enter the text
for which the filter will search.
Predicate allows you to choose to filter based on whether the operator contains, or does not contain, the text you enter in the Keyword field.
Example: Create an Operator in which the X-Mailer field of an incoming message contains the word 'Eudora'.
Step 1. Under the Header
drop-down box, select
X-Mailer
.
Step 2. In the Keyword
text box, type 'eudora'
(case insensitive)
Step 3. Determine appropriate Predicate setting. Default
is Contains
.
The second Operator setting, which is set identically to the first, also allows the user to select an AND/OR setting declaring the relationship between the two operators.
Example: Create an Operator set which will process mail with
a From
header of bob@acmegrommet.com AND a subject
of "2001 Spring Grommet Collection"
Step 1. Under the first Operator set's Header drop-down
box, select From
.
Step 2. In the Keyword
text box, type
'bob@acmegrommet.com' (case insensitive).
Step 3. Leave Predicate
setting on default,
Contains
Step 4. Leave AND/OR
box on default setting, and
.
Step 5. Under the second Operator set's Header
drop-down box, select Subject
.
Step 6. In the Keyword
text box, type
'2001 spring grommet collection' (case insensitive).
Step 7. Leave Predicate
setting on default,
Contains
.
Once you've established the Operator(s) that will define
which messages will be processed, it's time to tell
Sylpheed what to do with messages that match the operator(s).
You may choose between two radio button-selected settings:
Destination
and Don't Receive
.
Selecting Destinations
will enable you to route
the mail into a mailbox which you specify.
Selecting Don't Receive
will instruct Sylpheed
to not download messages with that operator. Note that with
Don't Receive
, Sylpheed merely leaves the message
on your mailserver - it does not delete it.
To specify a mailbox to which you want the message transfered,
click on the radio button to the left of the word Destination
in the dialog. (Currently, in order to specify a mailbox you
must have created that mailbox prior to activating the Filter
Setting dialog.) Clicking the Select
button will open
a pop-up window containing all mail folders currently active
in your copy of Sylpheed. Select the mailbox you wish by either
(a) double clicking on the mail folder name or
(b) clicking the mail folder name and then clicking OK
.
To specify that the message not be retrieved, and left
on your mail server, click the radio button to the left
of the words Don't Receive
.
Now that you have set the Operator and the Processing Rule, all that's left to do is tell Sylpheed to save the entire Filter Rule. If you skip this step, the filter won't work.
The Register Rules
configuration has three options:
Register
, Substitute
and Delete
.
Register
saves the Filter Rule.
Substitute
modifies an existing registered
Filter Rule.
Delete
will remove a previously registered
Filter Rule.
Example of Registering A Filter Rule: Create a Filter Rule that moves all mail with the subject of "Sylpheed Manual" into the (previously created) mail folder "Sylpheed Manual Mail".
Step 1. Under the first Operator set's Header
drop-down box, select Subject
.
Step 2. In the Keyword
text box, type
'sylpheed manual' (case insensitive).
Step 3. Leave Predicate
setting on default,
Contains
. Leave second Operator set empty.
Step 4. Click Destinations
radio button;
select "Sylpheed Manual Mail" folder.
Step 5. Click Register
.
Step 6. Click OK
.
Example of Substituting A Filter Rule: Modify a previously created Filter Rule that moves all mail with the subject of "Sylpheed Manual" to sort mail not to the mail folder "Sylpheed Manual Mail" but rather the mail folder "Sylpheed Questions"
Step 1. Under the first Operator set's Header
drop-down box, select Subject
.
Step 2. In the Keyword
text box, type
'sylpheed manual' (case insensitive).
Step 3. Leave Predicate
setting on default,
Contains
. Leave second Operator set empty.
Step 4. Click Destinations
radio button;
select "Sylpheed Questions" folder.
Step 5. Click Substitute
.
Step 6. Click OK
.
Example of Deleting a Filter Rule: Remove the previously created Filter Rule which refers to Subject:Sylpheed Questions.
Step 1. In the Registered Rules
select box,
highlight the filter entitled
"Subject:Sylpheed Manual: :::Sylpheed Questions:1:1:m
"
Step 2. Click the Delete
Button.
Step 3. Confirm the deletion by clicking Yes
in the
confirmation pop-up that asks,
Do you really want to delete this rule?
Step 4. Click OK
.
One caveat about all this: the order in which Filter Rules are created could adversely affect your intended message sorting, and one needs to consider this when creating or updating Filter Rules.
For example, a Filter Rule saying, "Move anything containing 'ABC' to Mailbox X" listed above another Filter Rule saying "Move anything containing 'ABCDEF' to Mailbox Y" will cause the latter of these filters not to process.
Think about the way Sylpheed goes down its list: first, it would say.. "Hmm, any messages with ABC? Ah, there's one! Move it". Then it would think, "Okay, any messages with ABCDEF?" To which the answer would be "no" - that ABCDEF was already filtered because it contained "ABC".
Bummer.
In order to avoid this, you must ensure that the more complex Filter Rule is processed first, by placing it higher than a similar, conflicting Filter Rule.
To move a Registered Rule higher or lower within the Registered
Rule box, select the rule you would like to move, and click on
the Up
or Down
buttons. This will "move" the
rule up or down, above or below a potentially conflicting Filter Rule.
Filtering messages can be done in several ways:
Sylpheed automatically filters incoming mail from POP servers.
If you incorporate mail from a unix mailbox, then
in the Common preferences
(Configuration
menu),
you need to check the box called Filter on incorporation
.
You find this box in the Receive
tab in the space
Local spool
.
You can also select the option Filter messages
from the Summary menu.
Please note that, at time of writing, Sylpheed does -NOT YET- has filtering of IMAP messages enabled.
If you feel that Sylpheed has not enough options to perform filtering for you, then you can look at Sylpheed Claws which has more options for filtering. You can find the Claws version (the cutting edge, experimental version of Sylpheed) sylpheed-claws.sourceforge.net.
Another option, if you do not want to work with an experimental version of Sylpheed, is Procmail. Procmail is a powerful mail filtering program that is triggered from the Mail Transport Agent (i.e. Sendmail, Postfix, Qmail). Procmail is called by default from these programs after receiving e-mail.
The trick to procmail is to tell it that mail has to be filtered into MH mail folders. This is not difficult though.
Normally procmail moves mail into MBOX format, this is one large file containing all mails in a folder. MH uses separate files for each e-mail. All you need to do is point the destination of a procmail rule to <destination folder>/. It is the "slash dot" that does the trick.
The following section is a copy of Melvin's page.
The "actions" feature is a convenient way for the user to launch external commands to process a complete message file including headers and body or just one of its parts. It allows also the use of an external command to filter the whole text or just a selected part in the message window or in the compose window. This is a generic tool that allows to do any uncommon actions on the messages, and thus extends the possibilities of Sylpheed. For example, Sylpheed does not include the rot13 cyphering algorithm popular in some newsgroups. It does not support natively armored encryption or clear signing. It does not support uuencoded messages. As all these features can be handled by external programs, the actions provide a convenient way to use them from the menu bar.
To create a new action, go to the Configuration
menu,
select the Actions...
entry. The Actions setting
dialog offers to enter the Menu name that will trigger the command.
The created menu will be found in the Tools -> Actions
submenu.
By inserting a slash / in the menu name, you create a submenu.
The command is entered in the Command line entry. Note that Sylpheed stores every single email in a separate file. This allows to use the following syntax for the command:
%f
denotes the file name of the selected message.
If you selected more than one, then the command will be
launched for each message with the appropriate file name.
%F
denotes the list of the file names of the
selected message. If only one message is selected,
this amounts to %f
, but if more messages are
selected, then the command will be launched only once
with the list of the file names. (You can use both
%f
and %F
in one command: then the
command will be launched for each selected message
with the name of this message and with the list of
all selected messages. I did not find a practical
example for this.).
%p
denotes the current selected message part
of a multipart message. The part is decoded accordingly.
If the message is not a multipart message, it denotes
the message body.
Prepending >
: this will allow you to send
to the command's standard input a text that you will
enter in a dialog window.
Prepending *
: this will allow you to send to
the command's standard input a text that you will enter
in a dialog window. But in contrast to prepending
>
, the entered text is hidden
(useful when entering passwords).
Appending an ampersand &
: this will run
the command asynchronously. That means "fire and forget".
Sylpheed won't wait for the command to finish, nor will
it catch its output or its error messages.
Prepending the vertical bar |
(pipe-in):
this will send the current displayed text or the current
selected text from the message view or the compose
window to the command standard input. The command will
silently fail if more than one message is selected.
Appending the vertical bar |
(pipe-out): this
will replace the current displayed text or the current
selected text from the message window or the compose
window with the command standard output. The command
will silently fail if more than one message is selected.
Appending the "greater than" sign >
will
insert the command output in the message. The difference
between the trailing |
is that no text will be
deleted or replaced. Most used when composing mails to
insert text.
Note: It is not possible to use actions containing
%f
, %F
or %p
from the compose window.
When a command is run, and unless it is run asynchronously, Sylpheed will be insensitive to any interaction and it will wait for the command to finish. If the command takes too long (5 seconds), it will popup a dialog window allowing to stop it. This dialog will also be displayed as soon as the command has some output: error messages or even its standard output when the command is not a "pipe-out" command. When multiple commands are being run, they are run in parallel and each command output is separated from the outputs of the others.
Here are some examples that are listed in the same syntax
as used for storing the actions list. You can copy and past
the definition in your ~/.sylpheed/actionsrc
file
(exit Sylpheed before). The syntax is very simple: one line
per action, each action contains the menu name and the command
line separated by a colon and a space ": ".
Alternatively, you can use Configuration -> Actions...
and for each example enter a menu name and copy&paste the
text after the colon and space ": " in the command definition.
The gpg-enc-syl script is to be found here (gpg-enc-syl). It calls gpg with the --yes command line option that you may want to remove it. See gpg manual page for info.
The gpg-sign-syl script is to be found here (gpg-sign-syl). It needs the ssh-askpass utility found in OpenSSH. It can be replaced by any X11 tool that asks some (hidden) text which is then sent to standard output. Another version that uses an xterm is to be found here (gpg-sign-syl-xterm).
The uudec script is to be found here (uudec). It needs uudecode and ImageMagick's display. The latter can be replaced by any image viewer that can get input from standard input. The script could also be modified to use temporary files instead of standard input.
The google_msgid.pl script is to be found here (google_msgid.pl) Example and script by Thorsten Maerz. Edit the script to change the browser (default is mozilla).
The tnef-claws bash script was written by Shawn Lamson and is to be found here. The script is well commented. You need to have the tnef package already installed.
With Sylpheed you can define mail templates to use when replying to messages. A template can contain raw text (that will be inserted in the composed mail without any change), and placeholders that are replaced at composition time by the actual value of the selected fields from the original message.
A typical use of the template could be to define the legal notice to be appended to your messages (the usual notice that contains a text like: "here are my own words and not those of my company, my boss is not liable for them, bla, bla, bla").
To define a new template, in the Configuration
menu select
the Templates
entry and fill the form:
The name parameter is used to identify each template, this name
will then appear in the Tools/Templates
menu in the
composition window.
The content of the To
field will be appended to the original
content of the corresponding field in the message you are composing.
The content of the Subject
field will replace the orignal subject
of the message you are composing.
In the upper pane, type in the text you want to put in the template,
use the Symbols
button to open a help window that contains
the description of all the placeholders you can use in a template
(there is one for the sender, one for the date, one for the message
ID, ...), then use the Register
button to validate the
template. If you do not register the template, when leaving the form
the template will be canceled. To modify an existing template, select
it in the lower pane, modify its text, then use the Substitute
button. As you may guess, the Delete
button removes the selected
template. Finally validate your changes with the OK
button.
If you use the Cancel
button, the form is closed and your changes
are lost (deleted templates are back, added templates are lost).
To use a template, open the composition window and select the template
from the Tools/Templates
menu. You can then choose to insert
the template into your message or to completely replace the text of the
message by the template. This only affects the body of the message.
If you choose to insert the template, its text will be inserted at the
cursor location.
The placeholders are taken from the source message when replying, so they have no meaning when composing a new message.