emil(1) conversion filter for Internet messages


emil-s Sender ] [ -r Recipient ] [ -x Recipient_host ] [ -l Syslog_level ] [ -h Headerlog_level ] [ -f Syslog_facility ] [ -i Input_file ] [ -o Output_file ] [ -m Mailer ] [ -e Configuration_file ] [ -c Charsets_file ] [ -A Recipient_applefile_encoding ] [ -B Recipient_bin_encoding ] [ -C Recipient_charset ] [ -F Recipient_format ] [ -H Recipient_header_encoding ] [ -S Sender_charset ] [ -T Recipient_text_encoding ] [ -G Target_Group ] [ -n ] [ -p ] [ -g ] [ -d ] [ -u ] [ -v ]


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 or other programs for it's output. When used like this, emil does not close the connection with the calling sendmail until it returns an EX_OK from the called program, 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 /etc/emil.cf , by the Target_Group or as specified by the command line 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.
-f Syslog_facility
Pick one of: m - LOG_MAIL, d - LOG_DAEMON, 0-7 LOG_LOCAL[0-7].
-l Syslog_level
Log level is set by specifying a number 1-4. Log level becomes: 1 - LOG_ERR, 2 - LOG_NOTICE, 3 - LOG_INFO, 4 and more - LOG_DEBUG.
-m Mailer
Send output to the specified Mailer, where Mailer corresponds to a mailer definition in the configuration file emil.cf.
-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 /etc/emil.cf .
-c Charsets_file
Path to file for use as charsets file. Defaults to /usr/lib/emil/charsets.cpl

Beware, when applying any of the next five options, there is no recipient look up in the configuration file.
-A Recipient_applefile_encoding
Recipient applefile encoding. One of B(inhex), (apple)d(ouble) or (apple)s(ingle). This defaults to nothing, thus no applefile conversion if omitted unless gotten from 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, RFC822 or TRANSPARENT. Defaults to RFC822.
-H Recipient_header_encoding
Recipient header encoding. One of Se, 7bit, 8bit, BAse64 or Quoted-printable. See also emil.cf(5).
-T Recipient_text_encoding
Recipient text encoding. One of Se, 7bit, 8bit, BAse64, BInhex, Quoted-printable or Uuencode. See also emil.cf(5).
-G Target_Group
Use Target_Group to specify use of a conversion group, as declared in emil.cf. If Target_Group is specified Emil will not try to resolve conversion group using recipient, sender and recipient host, instead it performs a case sensitive match on the conversion groups as declared in emil.cf. See also emil.cf(5).

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 Headerlog_level
Log in message header. This is for testing, not for production use. Log level is specified by a number 1-4. Log level becomes: 1 - LOG_ERR, 2 - LOG_NOTICE, 3 - LOG_INFO, 4 and more - LOG_DEBUG.

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.
Prepends a unix from line first in the message/keeps the unix from line if provided in the incoming message. If not specified the unix from line will be removed/not prepended.
Test configuration file. Returns the matching group name based on the provided recipient, sender and recipient host.
-v Just prints version, then exits.
-d Enables debugging on stderr. Using this will create voluminous output.
-n Set up an SMTP connection to the host, as specified by the Recipient_host, and send output on that connection. This makes Emil act as an SMTP-client, and can be used as a replacement for the tcp mailer of sendmail.


To use emil as a simple filter:

%cat message.in | emil [OPTIONS] > message.out


%emil [OPTIONS] -i message.in -o message.out

See the other documentation for further information.


configuration file.

file containing the character set conversion tables.


Martin Wendel (Martin.Wendel@its.uu.se) and Torbjorn Wictorin ([email protected])