The sendmail daemon can be run in either of two
ways. One way is to have to have it run from the inetd
daemon; the alternative, and more commonly used method is to run
sendmail as a standalone daemon. It is also common for
mailer programs to invoke sendmail as a user command
to accept locally generated mail for delivery.
When running sendmail in standalone mode, place the command
in an rc file so it starts at boot time. The syntax
used is commonly:
/usr/sbin/sendmail -bd -q10m |
The
-bd argument tells
sendmail to run
as a daemon. It will fork and run in the background. The
-q10m argument tells
sendmail
to check its queue every ten minutes. You may choose to use a different queue to check time.
To run sendmail from the inetd network
daemon, you'd use an entry like:
smtp stream tcp nowait nobody /usr/sbin/sendmail -bs |
The
-bs argument here tells
sendmail
to use the SMTP protocol on stdin/stdout, which is required for use with
inetd.
The runq command is usually a symlink to the
sendmail binary and is a more convenient form of:
When sendmail is invoked this way, it processes any mail
waiting in the queue to be transmitted. When running
sendmail from inetd you must also create
a cron job that runs the runq command
periodically to ensure that the mail spool is serviced periodically.
A suitable cron table entry would be similar to:
# Run the mail spool every fifteen minutes
0,15,30,45 * * * * /usr/bin/runq |
In most installations sendmail processes the queue
every 15 minutes as shown in our crontab example,
attempting to transmit any messages there.