SMTPd SMTPd NAME SMTPd - SMTP Daemon for AS-225 release 2 and AmiTCP 2.2+ SYNOPSIS SMTPd DESCRIPTION SMTPd is designed to be fully compatible with RFC-821 and process most addresses accepted by RFC-822. It is an active daemon, in that it listens to its port (normally 25), and is *not* initiated by the INet daemon when an SMTP port open request occurs. SMTPd accepts messages destined for the local host and delivers them to the local mailbox. SMTPd will regularly (every two minutes) retry previously failed mail which is present in the SMTP Spool Directory (to avoid system thrashing, SMTPd will only allow one retry to be active at a time). SMTPd requires one external program to be present for its operation, SMTPpost. SMTPpost *must* be in the program search path for SMTPd when SMTPd is initiated. SMTPd requires three environment variables to be assigned, or for the variables to be defined in the configuration file (named S:UUConfig or UULib:Config, in that order). The variables are: SMTPSpoolDir SMTPMailDir SMTPSmarterHost SMTPMailDir points to where MailBoxes/Folders are located. It may be shared with UUCP MailBoxes and Folders (they are the same format). SMTPSpoolDir is the directory where SMTP spool files are to be located. If SMTPpost cannot locate a destination host, it places the articles in this directory, and retries sending the messages on a regular basis. It *may not* be shared with UUSpool. The batch files are a different format. SMTPSmarterHost is the SMTP host where mail is sent if a named destination host is not reachable. It is presumed to be an Internet host which has better routing information than does the host running this SMTPd. The environment variables may be defined as: Set SMTPMailDir UUMail: Set SMTPSpoolDir UUStuff:SMTPSpoolDir/ Set SMTPSmarterHost Mail.SmarterHost.COM INSTALLATION Simply install the binaries for SMTPd and SMTPpost where-ever you wish. Do note that SMTPpost *must* be in the path of SMTPd, whenever SMTPd is started. A sample script (StartSMTPd) for executing SMTPd is included in the INetUtils archive. DIAGNOSTICS SMTPd always returns success, except when initialization fails. If initialization fails, SMTPd returns a program value of thirty (30). Various problem conditions, as well as success conditions, are logged to the standard INetUtils logfile (INet:Logfile). NOTES SMTPd delivered messages have been tested with AmigaUUCP, GMail, AmigaElm, Unix Elm and BBX. SMTPd is fully compatible with AmigaUUCP 1.16 and above. The mailbox folders may be shared (that is, SMTPMailDir may point to UUMail:). The environment variables (or configuration variable) SMTPRMail may be specified to indicate a special program to be used to deliver incoming mail (AmigaUUCP does this with RMAIL). If specified, SMTPd will start the program as follows: SMTPRMAIL user@host nil: -r for aliases to have any hopes of working properly. If SMTPd does the filing itself, a command indicated by the MAILREADYCMD environment variable will be executed. The format of the command is: MAILREADYCMD -x T:MailRdy SMTPd will also send a signal to a program who has a message port named "T:MailRdy" made public. By default, SMTPd scans the SMTPSpoolDir every 2 minutes (120 seconds). SMTPd will *not* try to send a file until it is at least twice that amount of time old (4 minutes). It will try to resend files in the spool at 4 minute intervals. You may adjust the scan time by using the SMTPDelay configuration variable. It is settable in seconds. For example: SetEnv SMTPDelay 30 will cause SMTPd to scan the spool every 30 seconds, and retry files at one minute intervals. The configuration variable SMTPRoute controls how SMTPd tries to send mail. It may be set to either of "SMTP" or "SMARTERHOST". When set to SmarterHost, all email is routed to the SmarterHost specified (as described above). When set to SMTP, then SMTPd will try to send to the host specified first, then to he SmarterHost. BUGS/TODO Lots yet on the TODO list. No bugs known. WARNING WILL ROBINSON! One AmiTCP beta tester reported data loss. I cannot reproduce it. BE CAREFUL. You have been warned.