EMIL version 2 TUTORIAL

# TUTORIAL FOR EMIL VERSION 2.1

Written by Martin Wendel, ITS, Uppsala university. Martin.Wendel@its.uu.se

## THE CONFIGURATION FILE EMIL.CF

Emil uses a configuration file for multiple purposes. One purpose is to retreive the conversion profile for the specified message addresses. Another purpose is to retreive information about file type marking among other things.

The configuration file consists of four parts or functions:

1. group - Specifies a conversion profile.
2. mailer - Defines a mailer (program) with arguments.
3. match - Specifies file type information.
4. member - Binds addresses to a conversion profile.

### group

The group command is used to define a conversion profile, a named method for conversion. The conversion profile contains a specification of what format, charset and encodings to be used and when Emil has selected a conversion profile, the information within that will be used when undertaking conversion.

The syntax of the group command is the group keyword followed by a name, a colon and a comma separeted list of options, as follows:

> group Group_name : [charset=CHARSET] [format=FORMAT] [bin=ENCODING] [textenc=ENCODING] [henc=ENCODING] ;
> - Group_name - The name of the group.
> - CHARSET - The charset to use for text, according to RFC1345.
> - FORMAT - The message format, pick one of MIME, MAILTOOL, RFC822 or TRANSPARENT.
> - bin - The encoding to use for binary attachments. Choose one of BAse64, BInHex or Uuencode.
> - textenc - Specifies the encoding to be used for text. Pick one of BAse64, BInhex, Uuencode, Quoted-printable, 8bit or 7bit. 7bit is default. When 7bit is chosen the text is first converted to ISO-8859-1 and then the 8bit characters are replaced by the appropriate characters as specified by some national variants of ISO-646. This special conversion is suited to work in Sweden but works probably also for other european languages.
> - henc - Specifies the encoding to be used for header lines. Pick one of BAse64, Quoted-printable, 8bit or 7bit. 7bit is default. If BAse64 or Quoted-Printable is selected headers are converted according to RFC1522 (MIME-II). If 7bit is selected headers are first converted to ISO-8859-1 and then 8bit characters are converted to the US-ASCII characters of closest resemblance.

> ### mailer

> The mailer command is used to define a mailer, or program, to be used as an execv vector that will be forked off and will receive the output of the conversion. The mailer name is referred when using the "-m" command line flag and will thus result in the execv specified by the mailer definition will be executed in a child and the output of the conversion will be sent to the stdin of the child.

> The syntax of the mailer command is as follows:

> > mailer Mailer_name : PATH, PROGRAM, ARGUMENTS, ... ;

> - Mailer_name - Name of the mailer.
> - Path - Path of the program.
> - Program - Name of the program.
> - Arguments - A list of each command line argument to use when invoking the program. To be suitable for mail programs you can specify variables representing sender and recipient. These are specified by $s and $r respectively.

> ### match

> The match command is used to define file type information such as X-Sun-Data-Type of Sun Mailtool messages, Content-Type of MIME messages, file name extensions for UUencoded files and Type&Creator for Applefiles. What kind of type information is specified by the CONTEXT

> The syntax of the match command is as follows:

> > match CONTEXT Match_String OUT ;

> - CONTEXT - One of MAILTOOL, MIME, BINHEX or UUENCODE.
> - Match_String - A quoted string that corresponds to the Context of the field. For MIME Match_String - defines the content-type to be used. For UUENCODE Match_String defines the file name extension to be used. For BINHEX Match_String defines the merged two 4byte strings Type and Auth info.
> - OUT - The generic type of the field

> ### member

> The member command is used to bind the address information, given as command line arguments to Emil, to a conversion profile. Address information is given as the triple of Recipient, Sender, and Recipient_host. Several triples may be bound to one conversion profile, in wich case the triples are specified as a comma separated list.

> The syntax of the member command is as follows:

> > member Group_name : Recipient Sender Recipient_host, ... ;