EMIL(8)

πŸ“¦ version 2.1.0beta9, in opensuse-leap 16.0

πŸ’Œ emil(8) β€” the conversion filter for Internet messages πŸ’Œ

okay bestie, so this is the manual page for emil from the System Manager's Manual, and honestly? it's giving "quietly iconic workhorse" ✨ it converts encodings and character sets and formats, and it does NOT get enough credit. let me walk you through it 🫢


🌸 NAME 🌸

emil β€” a conversion filter for Internet messages. that's literally her whole job, and she ate πŸ’…


✨ SYNOPSIS ✨

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 ]

look at all those flags. she's got range πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

so the message conversion filter emil is here to convert the encoding of enclosures and the character set of an Internet message, and also to convert between the three message formats MIME, SUN Mailtool and plain old style RFC822. she loads the message and applies the changes in encoding and formatting in core. there is no spooling. lowkey efficient of her honestly ✨

emil can be applied by sendmail, if you specify her as a delviery agent (yes, that's how the page spells it, don't come for me πŸ™ˆ), and she can also invoke sendmail or other programs for it's output. when you use her like that, emil does not close the connection with the calling sendmail until it returns an EX_OK from the called program. that's a safety measure, bestie β€” she's not letting go until she gets the good answer 🫢

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 🌈 (their words!! and honestly? slay.)

conversion is controlled either by the combination of Sender, Recipient and Recipient_host as specified in the configuration file /usr/lib64/emil.cf, by the Target_Group, or as specified by the command line options. pick your fighter πŸ’…


πŸ”₯ OPTIONS πŸ”₯

options may appear in any order. no rules, just vibes ✨

  • -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]. choose your facility babes πŸŽ€
  • -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. chaos mode starts at 4 tbh πŸ’€
  • -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 /usr/lib64/emil.cf.
  • -c Charsets_file β€” path to file for use as charsets file. defaults to /usr/lib64/charsets.cpl.
⚠️ beware, when applying any of the next five options, there is no recipient look up in the configuration file. it's giving "you're on your own bestie" 😭
  • -A Recipient_applefile_encoding β€” recipient applefile encoding. one of B(inhex), (apple)d(ouble) or (apple)s(ingle). this defaults to nothing, so no applefile conversion if omitted β€” unless it got gotten from the configuration file πŸ“
  • -B Recipient_binary_encoding β€” recipient binary encoding. one of BAse64, BInhex or Uuencode. this defaults to nothing, so no binary encoding conversion if omitted β€” unless it got 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(8).
  • -T Recipient_text_encoding β€” recipient text encoding. one of Se, 7bit, 8bit, BAse64, BInhex, Quoted-printable or Uuencode. see also emil.cf(8).
  • -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 the conversion group using recipient, sender and recipient host. instead she performs a case sensitive match on the conversion groups as declared in emil.cf. see also emil.cf(8). case sensitive fr fr, don't test her πŸ™ˆ
⚠️ beware, when applying the Sender_charset option, there is no sender look up in the configuration file. again β€” solo mission, bestie πŸ’€
  • -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. cute for debugging, terrible for real life πŸŽ€
  • -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 πŸ‘‘
  • -u β€” 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. she's either keeping it or she's not, no in-between πŸ’…
  • -g β€” test configuration file. returns the matching group name based on the provided recipient, sender and recipient host. vibe check for your config ✨
  • -v β€” just prints version, then exits. short and sweet, we respect it 🌸
  • -d β€” enables debugging on stderr. using this will create voluminous output. like, VOLUMINOUS. you've been warned 😭
  • -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. main character energy fr πŸ”₯

🧚 EXAMPLES 🧚

to use emil as a simple filter:

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

or

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

see the other documentation for further information 🫢


πŸŽ€ FILES πŸŽ€

  • /usr/lib64/emil.cf β€” configuration file.
  • /usr/lib64/charsets.cpl β€” file containing the character set conversion tables.

πŸ‘‘ AUTHOR πŸ‘‘

Martin Wendel (Martin.Wendel@its.uu.se) and Torbjorn Wictorin (Torbjorn.Wictorin@its.uu.se) β€” legends, honestly πŸ’–


🌈 SEE ALSO 🌈

emil.cf(8)


πŸ’€ BUGS πŸ’€

None? (her words, not mine. iconic confidence. periodt πŸ’…)


and that's the whole page, bestie!! source and version vibes are from the System Manager's Manual, dated 19 December 1994 β€” a whole vintage queen πŸ‘‘ go forth and convert those messages βœ¨πŸ¦‹πŸ’–

πŸ“¦ where this page comes from