1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
<HEAD>
<TITLE>EMIL version 2 TUTORIAL</TITLE>
</HEAD>
<BODY>
<H1>TUTORIAL FOR EMIL VERSION 2.1
</H1>
<EM>Written by Martin Wendel, ITS, Uppsala university.
Martin.Wendel@its.uu.se
</EM>
<HR>
<A HREF=design-top.html><IMG ALIGN=MIDDLE SRC=arrow_right3.gif></A><A HREF=main.html><IMG ALIGN=MIDDLE SRC=arrow_up2.gif></A><A HREF=configuration.html><IMG ALIGN=MIDDLE SRC=arrow_left3.gif></A>
<H2>EMIL DETAILS</H2>
<P>
Emil has no mechanisms for handling spooling and message delivery errors.
Instead it relies on what is supplied by other programs, for example
sendmail, when it comes to handling these matters.
Normally Emil is setup as such that an originating process calls Emil and
sends a message to the stdin of Emil. After processing the message, Emil
sends the output either to another process, called by Emil, or to a file or
an SMTP stream. If sent to another process, and provided that the
conversion is otherwise successful, the return code of that process will be
returned by Emil to the originating process. If sent to a file or an SMTP
stream, the return code sent to the originating process will be that of the
conversion and output process made by Emil. In either case, the
originiating process will not get a return code from Emil until all further
processing and delivery, under control by Emil, is completed. This is to
make sure that the originating process will never receive a "delivery
successful" return code unless indicated successful by the subsequent
process or by Emil.
<P>
Emil is designed to be transparent when it comes to delivery failures. A
side effect of this is that a spooled copy of a message (for example by
sendmail) will not be unlinked until either control is successfully handed
over to another process (for example sendmail) or the message is safely
delivered to a file or SMTP stream. This is how Emil can keep the working
copy of a message in volatile memory without risking loss of messages.
There is a negative bieffect of this as well; if you manage to construct a
loop of sendmail-emil-sendmail-emil-sendmail your spool area will fill up
almost instantly nomatter how small message you sent.
<hr size="4" noshade>
<ADDRESS>
<table WIDTH="95%">
<td>
March 1996<p>
<B>ITS Uppsala university</B><BR>
Box 887<BR>
751 08 Uppsala<BR>
SWEDEN<P>
</td>
<td ALIGN="right" VALIGN="middle">
<a href="mailto:Martin.Wendel@its.uu.se">Martin Wendel</a>
</td>
<td ALIGN="left" VALIGN="middle">
<a href="mailto:Martin.Wendel@its.uu.se">
<IMG border="0" SRC="binpobox.gif" ALT="E-Mail: "></a>
</td>
</table>
</ADDRESS>
</body>
</html>
|