
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Sendmail
|
259
Sendmail Architecture
As I mentioned earlier, Sendmail is monolithic in that it does all its real work with
one executable, sendmail. sendmail has two modes of operation: it can be invoked as
needed, in which case it will process any queued mail and then quit, or it can be run
as a persistent background daemon.
Daemon mode is required only when Sendmail’s role is to receive mail from external
hosts; if you just use Sendmail to send mail, you shouldn’t run sendmail as a dae-
mon. In fact, you can probably stop reading now since sendmail doesn’t really need
any customization to do this, unless you wish to run it chrooted (see the section
“Configuring Sendmail to Run Semichrooted”).
The way sendmail works, then, depends on how it’s being run. If it’s running as a
daemon (i.e., with the
-bd flag), it listens for incoming SMTP connections on TCP
port 25 and periodically tries to send out any outbound messages in its queue direc-
tory, /var/spool/mqueue. If it’s being invoked on the fly, it attempts to deliver what-
ever outbound message it’s been invoked to send and/or checks /var/spool/mqueue
for other pending outbound messages.
A Disclaimer
I’m a Postfix fan myself. I run Postfix as my domain’s public SMTP gateway (though I
do use Sendmail on my private network for local mail delivery). ...