SIFT-MAIL(1)

NAME

sift-mail - User interface for easily creating Sift-Tcl configuration files for sift-tcl

SYNOPSIS

sift-mail [ sift-tcl-file ] [ -tk tk-file]

DESCRIPTION

Sift-mail is an X-Windows application for creating and editing Sift-Tcl programs to be run by the sift-tcl interpreter. The programs created are suited for searching, routing and filtering incoming e-mail. Or said in another way, it is an easy to use graphical user interface for setting up email filtering rules for use with the sift-tcl mail filterer.

In order for the sifting rules you set up with sift-mail to take effect you must set up your email account so all your new mail is processed by sift-tcl. Sift-tcl is a companion program that comes with sift-mail. To do this you must create a file called .forward in your home directory. See the sift-tcl man page for exact details on how to do this.

Sift-mail is usually invoked without any arguments (just give the command "sift-mail") and when it starts it presents a browser with a list of sifters. It is intended to be easy to use and to not require much documentation. The first time it starts it includes two example sifters. The user can then create new sifters for different filtering tasks, or old one can be modified or deleted. The user can also configure the report generation options, view reports, or configure reports to be mailed automatically.

In general the user need not be concerned with the actual Sift-Tcl program that is generated. It will be executed appropriately by the sift-tcl program as each new message arrives. For those interested in the details of the Sift-Tcl programs generated, it is described further on.

SIFTER TYPES

Each "sifter" that is created has a type and performs some sifting task. Each sifter can be activated or deactivated from the sifter sub-menu. Deactivating a sifter is a way of disabling it without deleting it. The current list of types is:

File mail by mailing list of origin

This sifter type allows the user to enter a mailing list address and folder name in which to save messages to that mailing list. The sifter automatically avoids filtering any messages that have the user's personal address in the To: or Cc: headers. This is to make sure the user sees any messages sent to him personally as well as a mailing list that is being automatically filtered.
Normally the sifter selects the correct headers to match a most common mailing lists, but some function differently and put the mailing list name in different headers. A set of extra options allow the user to pick the exact set of mail headers to match on to handle these cases. The type of pattern matching can also be selected and includes exact matches, sub string, wild cards, and regular expressions.

Send out-of-town notification

This sifter allows the user to enter the subject and text of a message to be sent in response to incoming messages for the purpose of notifying the sender that you are away an unable to answer your mail. It keeps track of who has sent you mail and only sends one response to them to avoid unnecessary responses to them, and more importantly to avoid mail loops.
The incoming messages which it responds to are carefully picked to avoid sending messages to mailing lists, and mailer daemons, and to avoid mail loops. Specifically, the message must be addressed directly to the user and must not match the characteristics for a message from a mailing list or a mailer daemon. It will also not respond to messages originated by sift-mail/sift-tcl, and will only send one copy to any given address. The last two checks are to avoid mail loops.
Under the extra options, the user can specify the dates to start and stop the out of town notification. The notification starts after midnight on the start date and stops after midnight on the stop date.

Automatic Reply

The automatic reply is used to create a mail message that will be sent in response to nearly every mail message received. This sifter is useful to set up a mail address as an auto-responder for distributing documents via e-mail, or for acknowledging the receipt of every message.
It will not respond to message sent to it by the postmaster or mailer daemons as these are usually delivery error reports. It also will not respond to a mail message it generated to prevent the most basic mail loops. It should be used cautiously and never for out-of-town notification as two such sifters responding to each other will respond to each other in a loop ad infinitum.

Filter Messages by Subject

This simple sifter matches message subjects for lines that contain the given subject and files the messages in the given folder.

Program a sifter directly in Sift-Tcl

This allows the user to program a sifter directly in Sift-Tcl. The user should be familiar with the Tcl language and the Sift-Tcl extensions. The man page for sift-tcl describes all the mail processing functions that are available. The code that is entered here is put in a procedure which is passed two parameters, first the open folder handle for the message to process and second, its message number. If the procedure returns Delete, the message will not be filed in the user's inbox. Otherwise it will be filed in the user's inbox.

LOCAL ADDRESSES

You may configure a list of addresses which are considered your own local or personal addresses. You simply add any address at which you get mail. This list of addresses is used to determine which addresses are directed to you personally and thus should not be filtered if you use mailing list sifters. It is also used to determine which addresses the out-of-town sifter will respond to.

MAILBOX FORMATS

Sift-mail and sift-tcl have the ability to work with many different mailbox formats, and thus different e-mail programs. For example it works with Pine, Elm, MH, mail on an IMAP server and others. Use this dialogue to pick the mail program you use and set additional configuration such as the IMAP server name or IP address.

This will be the default location for email folders that you specify with sift-mail. You can still give full path names in the dialogue boxes that prompt for folder names. See the sift-tcl man page for full details on how folders are named.

REPORTING OPTIONS

There are three options under the reports menu. First, it is possible to view the plain sifting log file directly. It contains an entry for each message processed. This is probably quite lengthy and uninteresting.

Second, it is possible to view a summary report of the sifting log. The report shows the number of messages filed into each folder, the number of out-of-town replies sent, and the number of messages left in the inbox. The number of days to include in the report may be specified. The report also shows the five most common subjects of the messages filed into each folder. This makes it possible to monitor the activity on several mailing list just from examining the report.

Last, there is an option to have the report generated and sent as a mail message.The number of days to include in the report, and the frequency of the report may be specified. The report sent via e-mail is the same format as the summary report available on the menu.

FILE STRUCTURE IMPOSED BY SIFT-MAIL

This section describes the file structure imposed by sift-mail for Sift-Tcl programs. The structure is embedded in the Tcl program comments in a similar way that page layout information is embedded in Postscript files with EPS. These comments contain lines that separate major sections, and the values of the parameters set by sift-mail. A description of the exact syntax is not included here. It is simple and can be inferred from looking at a generated file or the comments in the source code.

The four major sections include the preamble, which contains a warning and instructions to would-be direct editors of the file. The second section is the "header" and contains some initialization code. The third section contains a sub section for each sifter. The last section, the "trailer" contains the main program that is executed when sift-tcl starts.

By default a standard main sift-tcl program section is created. The standard main goes through the sifter procedures that were listed in the header and calls each one that is active. It passes the folder handle and the message number of the message to each sifter and then examines their return codes. If any one returns Delete the message is not filed in the inbox. All sifters are always executed. The default main reads only one message from the standard input and filters that.

This main program can be substituted with one that does many other things. There are essentially no constraints at all. It might down load mail from several places. It might not call any of the defined sifters at all, though in that case the sift-mail configuration program and file meta-syntax are probably of little use and the Sift-Tcl code should just be composed manually with a text editor.

By default the file created is .sift-tcl in the user's home directory. A different file may be created or edited by giving its name as an argument. Sift-mail always maintains back ups of files it edits with the suffixes "-1", "-2"... "-8". They are rotated automatically, never more than 8 are kept, and number 8 is the oldest one.

CAVEATS

The GUI interface is not highly polished, and is likely to have some bugs. There is also no on-line help text in this version.

FILES

$HOME/.sift-tcl
The default file for the Sift-Tcl configuration that is generated.
$HOME/.siftlog
The log file that can be viewed and from which the reports are generated.

SEE ALSO

sift-tcl(1)

AUTHOR

Copyright © 1995, 1996 by Laurence Lundblade <lgl@island-resort.com> and Virginia Polytechnic Institute and State University

SIFT-MAIL(1)