jsms: sendmail must die completes itself

Jonathan Walther krooger@debian.org
Thu, 8 Jul 1999 00:26:17 -0700 (PDT)


None of the current mailers support multihoming, and virtual domain support
is rather kludgy to configure in.

Ivan, I appreciate your comments, but I can't help but wonder how serious
you are, when you didn't even look at that which you commented on.  Do you
use a Windows box for your work?  I can't imagine anyone having problems
with viewing what I have because its in a .tgz file.

> On Mon, Jul 05, 1999 at 02:56:40AM -0700, Jonathan Walther wrote:
> Far be it from me to say you shouldn't work on whatever project you
> desire.  But your main criticism is the configuration step, and you've
> been stressing that you are a user interface designre, and that elegance,
> security and efficiancy are secondary goals.  I was suggesting, perhaps,
> that you work on that specifically, and backend to a known elegent, secure
> and efficient mailer.  *shrug*

The elegant simplicity of the interface will inspire the elegant simplicity
of the code architecture.  I do have an architecture in mind which will
minimize the routing algorithm to something both fast, efficient, and
reliable.  Its modularity is like this:

One module to recieve a message via SMTP.
Another to send a message with SMTP.
One to "route" the message, where to local box or not.
An initialization module, which parses the config files and stores the
  state of the program in some specialized structs, whose interface will
  be solidified and open to use.
A reentrant routine to reread the config files on a kill -HUP
Clean shutdown routine, in case of kill -9
Finally, a routine to bind to the various IP's and attach a "context" struct
  to each of them.

Message enters at port 25, goes through routing.  The routing basically does
matching against the "state" structs.   Falling water analogy appropriate
there.  The message either gets local, or uses sending routine to go back
out of the machine again.  Its that simple.

As a final reason, its to "scratch an itch".  None of the current mailers
fit my multihoming needs, or are simple enough to easily handle all my
virtual domains as well as system mail plus a bunch of mailing lists,
relays, etc.  By "being able to handle", I mean, are understandable enough
to me that I can make them do those things.  I know that Sendmail can do
ANYTHING.  But like the automatic driver who can't drive a stick shift,  
that means I can't even go from 0 to 30, let alone 60 to 100.  Later.