EMIL(8)

NAME
emil - conversion filter for Internet messages

SYNOPSIS
emil [ -s Sender ] [ -r Recipient ] [ -x Recipient_host ] [ -l Syslog_facility ] [ -i Input_file ] [ -o Output_file ] [ -e Configuration_file ] [ -c Charsets_file ] [ -B Recipient_bin_encoding ] [ -C Recipient_charset ] [ -F Recipient_format ] [ -H Recipient_header_encoding ] [ -S Sender_charset ] [ -T Recipient_text_encoding ] [ -h ] [ -f ] [ -p ] [ -g ]

DESCRIPTION
The message conversion filter emil is used to convert the encoding of enclosures and character set of an Internet message aswell as between the three message formats MIME, SUN Mailtool and plain old style RFC822. Emil loads the message and applies the changes in encoding and formatting in core. There is no spooling. Emil can be applied by sendmail, if specified as a delviery agent, and can also invoke sendmail for it's output. When used like this, as a loop back delivery agent, emil does not close the connection with the calling sendmail until it returns an EX_OK from the called sendmail, as a safety measure. Emil can also be used by a mail client program or as a prefix to a delivery agent like binmail when acting like a regular filter. Usage is mainly limited by your imagination. Conversion is controlled either by the combination of Sender, Recipient and Recipient_host as specified in the configuration file MAINCF or as specified by the command line options.

OPTIONS

Options may appear in any order.

    -s Sender
        Sender's mail address.

    -r Recipient
        Recipient's mail address.

    -x Recipient_host
        Name of the recipient host or relay.

    -l Syslog_facility
        Pick one of: m - LOG_MAIL, d - LOG_DAEMON, 0-7 LOG_LOCAL[0-7]. Log level can be increased by specifying more than once. Log level becomes: once - LOG_ERR, twice - LOG_NOTICE, three times - LOG_INFO, and more - LOG_DEBUG.

    -i Input_file
        Path to file for use as input. Defaults to standard input.

    -o Output_file
        Path to file for use as output. Defaults to standard output.

    -e Configuration_file
        Path to file for use as configuration file. Defaults to MAINCF .

    -c Charsets_file
        Path to file for use as charsets file. Defaults to CHARFILE
Beware, when applying any of the next five options, there is no recipient look up in the configuration file.

    -B Recipient_binary_encoding
        Recipient binary encoding. One of BAse64, BInhex or Uuencode. This defaults to nothing, thus no binary encoding conversion if omitted unless gotten from the configuration file.

    -C Recipient_charset
        Recipient charset according to RFC1345.

    -F Recipient_format
        Recipient format. One of MIME, MAILTOOL or RFC822. Defaults to RFC822.

    -H Recipient_header_encoding
        Recipient header encoding. One of 7bit, 8bit, BAse64 or Quoted-printable. See also emil.cf(8).

    -T Recipient_text_encoding
        Recipient text encoding. One of 7bit, 8bit, BAse64, BInhex, Quoted-printable or Uuencode.
Beware, when applying the Sender_charset option, there is no sender look up in the configuration file.

    -S Sender_charset
        Sender charset according to RFC1345.

    -h  Log in message header. This is for testing, not for production use. Log level can be increased by specifying more than once. Log level becomes: once - LOG_ERR, twice - LOG_NOTICE, three times - LOG_INFO, and more - LOG_DEBUG.

    -f  Don't put output on stdout, instead pipe data into a invoked sendmail.

    -p  Adds a pseudo route to sendmail when using the -f option. Instead of calling sendmail with the recipient's address, call with @EMIL:"recipient address". Used when sendmail is used to call emil, to catch the visit to emil of the message.

    -g  Test configuration file. Returns the matching group name based on the provided recipient, sender and recipient host.

EXAMPLES
To use emil as a simple filter:
    %cat message.in | emil [OPTIONS] > message.out or %emil [OPTIONS] -i message.in -o message.out
Using emil to call sendmail:
    %emil -s Sender -r Recipient [OPTIONS] -f
Using emil with sendmail as a loop back delivery agent:
    %emil -s Sender -r Recipient [OPTIONS] -f -p Start by defining a mailer in sendmail.cf called emil:
        Memil, P=emilpath, F=DFMhmur, A=emil -s $g -r $u -x $h -f -p
    where emilpath is the absolute path to the emil program. WARNING: Make sure that the sendmail invoked by emil will not invoke emil once again. If not, messages will loop. Do this by catching the route @EMIL in sendmail.cf. For example like this, in the beginning of ruleset 0 in sendmail.cf:
        CZEMIL
        R$*<@$~Z$*>$*    $#emil$@$2$3$:$1<@$2$3>$4
        R<@$=Z>:$*    $: $>3$2
    Make sure that class Z is not in use, if so change Z to an available class name.

FILES
MAINCF
    configuration file.
CHARFILE
    file containing the character set conversion tables.

AUTHOR
Martin Wendel (Martin.Wendel@udac.uu.se) and Torbjorn Wictorin (Torbjorn.Wicorin@udac.uu.se)

SEE ALSO
emil.cf(8)

BUGS
None?