Home Documentation Contribution |
Next Previous Contents13. Filters, actions and templatesSylpheed offers three powerfull tools to help you automatically and efficently manage you mails. These tools are:
13.1 FiltersWritten 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. Finding The Filter Setting DialogThe 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). Setting Up FiltersOperator(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'.
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"
Message ProcessingOnce 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
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. Filter RegistrationNow 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.
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".
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"
Example of Deleting a Filter Rule: Remove the previously created Filter Rule which refers to Subject:Sylpheed Questions.
Registered Rule OrderOne 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. 13.2 How to Filter MessagesFiltering messages can be done in several ways:
Please note that, at time of writing, Sylpheed does -NOT YET- has filtering of IMAP messages enabled. 13.3 Filtering mail with ProcmailIf 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. 13.4 ActionsThe 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. UsageTo 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:
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. ExamplesHere 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. 13.5 TemplatesWith 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.
Next Previous Contents |