This is a short guide on how to get started using Emil version 2.1. When refering to Emil below, it is really Emil version 2.1 that is meant.
Emil can be used as a standalone filter, converting messages on demand, however, if you need to do message conversion on a more regular basis the easiest method is to make your MTA use Emil. I will give you some hints on how to make sendmail use Emil and a few examples. If you use other MTA's than sendmail, my guess is that the procedure is similar (but don't ask me, I haven't tried).
Sendmail is controlled by it's configuration file sendmail.cf. The three ways to apply conversion, as seen from the sendmail side of the world, is on the input, inside sendmail or on the output.
Normally you do not want to change the way sendmail receives messages. Since sendmail often receives messages on it's SMTP-server you would need to replace the SMTP server of sendmail to do that. Emil does not provide an SMTP server so you would need to use another software.
With Emil version 1, you could recompile sendmail and link it with Emil. This is not possible with Emil version 2.1, and since the sendmail source is rapidly changing, Emil v1 is not supported with recent sendmails.
A more reasonable way of applying conversion is the modify the way sendmail distributes messages. This way, messages are processed by Emil when the message leaves sendmail. Sendmail distributes messages by using what is called mailers or delivery agents (I'll use both names in this text). Apart from SMTP delivery, sendmail calls external programs to do the delivery. It is quite easy to put Emil between sendmail and these deliver agents.
ITS Uppsala university