[CentOS] Re: Kind of OT: internal imap server

Fri Sep 1 13:17:05 UTC 2006
Les Mikesell <lesmikesell at gmail.com>

On Fri, 2006-09-01 at 01:30, Feizhou wrote:
> > Sendmail chats on sockets with the milter process and thus
> > doesn't become any larger.  And the milters can be written
> > in any language.  Mimedefang uses a combination of C and
> > perl.  If you are going to run spamassassin you are stuck
> > with perl regardless and that's going to be your slow step
> > anyway so you might as well have it pre-loaded and use it
> > as the parser for your control steps.
> Hence why I have spamassassin used to filter after the mail is queued. 
> Do you make mimedefang run spamassassin on all your mails before queueing?

Inbound only, and after the other faster checks (virus, etc.) that
might cause rejection are done.  The advantage of scanning during
the SMTP conversation is that you can still reject with a
message that would find its way back to a legitimate sender
without having to construct the bounce yourself. 

> Okay, I get it. lotsa sendmail processes < (one socket per sendmail 
> process) > single milter process < ? > perl processes

Actually you can have multiple milter processes if you want, but
MimeDefang handles about everything.  Also, sendmail has separate
conversations with the milter(s) for each operation which
MimeDefang might hand off to different slaves.  The side effect
is that you don't block on some other long-running process unless
you are out of slaves but you also can't count on globals that
you set in one step (checking the sender or recipients) to be
available in later steps - but MimeDefang passes most of the
information you need each time and has dropped a complete
copy of the message broken out into its MIME components in
files where the programs can find them (hence the name and
the advantage of running multiple scanners under its control).

  Les Mikesell
   lesmikesell at gmail.com