Installation:

1)	Pick a user and group that smtpd/smtpfwdd will run as. These 
MUST NOT BE ROOT, but should be specified as a user that can run 
"sendmail -f" to specify the sender of a mail message. "uucp" or "daemon"
might be a good choice. If you are running sendmail, check the /etc/sendmail.cf
file for a section like:
-------------------------8<--------------------------------------
#####################
#   Trusted users   #
#####################

Troot
Tdaemon
Tuucp
Tmajordom
-------------------------8<--------------------------------------
	Be sure your user is one of those trusted by sendmail. Add the user
to the cf file if they aren't there. 

2)	Pick a directory where smtpd will store incoming mail before 
forwarding it. The default location is "/usr/spool/smtpd". Create this
directory, and change it so that it is owned by the user you chose, and
is readable, writable and accessable ONLY to that user (i.e. mode 700). 

3) Edit the makefile to reflect your choices for the user and
directory above, as well as anything else that tickles your fancy,
such as the install location, rules checking, etc.

***IMPORTANT*** If you *DO NOT* have the Juniper firewall toolkit
installed, you must change JUNIPER_SUPPORT=1 to JUNIPER_SUPPORT=0
in the makefile or smtpd probably won't build.

***IMPORTANT*** be sure to uncomment your choice of operating system
at the bottom of the makefile.

4)  	Type "make" to build the daemons.

5) 	Type "make install" to install them. This will barf horribly
if you're on a machine with a broken (i.e. System V :) "install" program. 
If it does, install by hand, or get a copy of gnu install.  

6) 	Make an "etc" directory in /usr/spool/smtpd (or whatever you picked).
and copy your /etc/resolv.conf file to /usr/spool/smtpd/etc/resolv.conf. You
will need this since smtpd checks hostnames while being chrooted to the spool
directory, so it needs a copy of /etc/resolv.conf to find your nameserver.
On Solaris you need other stuff too. It's detailed in the file INSTALL.SOLARIS

7) Make a copy of your timezone configuration file to the appropriate
place under /usr/spool/smtpd (or whatever you picked). i.e. if your
file is /etc/localtime, copy it to /usr/spool/smtpd/etc/localtime.  if
it is /usr/lib/timezone/localtime, copy to
/usr/spool/smtpd/usr/lib/timezone/localtime, etc. The location of these
files will vary by OS. (Or even from distribution to distribution in the 
case of Linux)
Again, since smtpd is chrooted to this directory, you need a copy of the
timezone file, or your syslog messages will show up in GMT time. (If they
do, you didn't get the right file :-)

8) 	Kill off your old mail transport daemon if you are running one. 	
9) 	Edit /etc/inetd.conf and add a line like:

smtp    stream tcp nowait root /usr/local/sbin/smtpd    smptd 

	Or, if you're using juniper, edit /etc/juniperd.conf and 
	make sure you have a definition like:

proxy smtpd tcp
        port smtp
        username root
        options trusted-ident untrusted-ident acct
        captured-proxy NONE
        trusted-daemon /usr/local/sbin/smtpd smtpd
        untrusted-daemon /usr/local/sbin/smtpd smtpd
end-proxy


10)	For inetd, restart inetd, (usually with a "kill -HUP"), for juniper, 
	restart with "/usr/local/juniper/bin/jc restart".

11) 	Start the forwarding daemon. (As root, run /usr/local/sbin/smtpfwdd)

12) 	Edit your system startup files so that smtpfwdd is started 
        INSTEAD of sendmail, or anything you were running before.

13)	Check your /etc/syslog.conf file. Many systems (such as many linux
        distribs) come with notoriously lame /etc/syslog.conf setups. 
        smtpd generates lots of logs which will be onerous if you don't
        have your syslogs set up nice. I personally prefer a line such as

mail.debug	/var/log/mail.log

	to catch all smtpd/smtpfwdd/sendmail logs to one file, which I
        then rotate frequently, but your mileage may vary depending on 
	your system and your preferences.

14) 	If you are using sendmail, you may need to ensure sendmail gets 
	invoked to process any queued messages periodically. You can do this
	with a cron job that runs "sendmail -q" periodically (such as 
	every 20 minutes or so). I.E. (in root's crontab):

# Flush sendmail queues every 20 mins
14,34,54 * * * * /usr/sbin/sendmail -q

	Sendmail also has an option that will allow it to run
	persistently, checking the queue periodically but not listening on 
	the network. You may choose to use this instead of a cron job,
	but beware that this feature was broken until recent sendmail
	releases.
