From: Ben Spencer
Date: 2007-04-17 10:08:58 -0400
Subject: Re: Sendmail's processing of milters
More information..: http://www.milter.info/#Support
> A milter is a single process, multithreaded with one thread per SMTP
> connection. Sendmail will init. all the milters in order defined in
> .mc/.cf, once for each new connection. It will then pass mail to them
> sequential order allowing each a chance to reject/discard the
> connection. See a copy of the milter documentation here, in particular
> the Control Flow section:
Ahh...that kind of matches what I had previously understood also. I was
really aware that data wasn't passed to the milter if a previous milter
decided it shouldn't proceed. I just didn't connect that dot this time
> > then checks the results of the milters in the order in which the
> > are listed in the mc/cf. If a failure or delay response happens,
> > sendmail aborts any outstanding milters and responds with the
> > the milter which caused the exception.
> > As a result of this process, it is common for milters to actually
> > before they have completed their processing (due to milters above
> > responding with a delay or reject) and I shouldn't be concerned
> > abort type of messages in the logs?
> Correct. A SMTP rejection or broken connection, will result in the
> handler being called, which does not necessarily imply an error. Most
> my milters do not use the abort handler, with exception of
> milter-report, and milter-cli. The first two will be sensitive to
> execution order when doing their work.
Thanks for addressing the generals as well as your specific milters. As
I was looking around for temporary solutions, so many milters
documentation. Your complete delivery is very much appreciated and I
hope to fulfill "wish lists" soon (I know, you have heard that before. I
haven't forgotten, I just need to pry people's ands off of a little
Copyright 2009, 2012 by SnertSoft. All rights reserved.