Man Linux: Main Page and Category List


       smtpfront - SMTP Front Ends




       The  code  for  SMTP is divided internally into two sections: front-end
       and back-end code.  The front-end code handles the low-level details of
       the  protocol.   The  back-end code handles the validation and delivery
       details in a protocol-independant fashion.


       The following features are common to all SMTP front-ends:

       o Validates  senders  and   recipients   according   to   ‘‘mailrules’’

       o If  $RELAYCLIENT is set, all recipient addresses not rejected by mail
         rules are allowed, and its contents are appended  to  each  recipient
         address.  Back-end validation is omitted.

       o Handles  RFC  2554  SMTP  authentication.   After  authentication all
         recipients not rejected by  mail  rules  are  allowed,  and  back-end
         validation is omitted.

       o Automatically  handles either bare NL or RFC 821/2821 compliant CR/NL
         end-of-line conventions.

       o Rejects messages that exceed $DATABYTES bytes in the body.

       o Times out connections after $TIMEOUT seconds of inactivity  (defaults
         to 1200 seconds or 20 minutes), or $SESSION_TIMEOUT seconds after the
         connection was established (defaults to 86400 seconds or 24 hours).

       o Counts the number of "Received:"  and  "Delivered-To:"  headers,  and
         rejects  the  message  if  more  than  $MAXHOPS  of  either  are seen
         (defaults to 100).

       o All error responses are logged.

       o Handles (ignores) RFC 1869 extended parameters on  the  ‘‘RCPT  TO:’’
         and ‘‘MAIL FROM:’’ commands.

       o Initial greeting message is configureable by $SMTPGREETING.

       o Rejects bounce messages (messages with an empty envelope sender) that
         attempt to deliver to multiple recipients.

       o Optionally adds a  fixup  "Received:"  header  for  hosts  that  have
         different    incoming   and   outgoing   hostnames   or   IPs.    Set
         $FIXUP_RECEIVED_HOST and $FIXUP_RECEIVED_IP if you want  this  header


              Uses  the  echo  backend  to  simply  echo  back  the sender and
              recipient parameters, and the size of the data to the client.

              Uses the ‘‘qmail validation features’’  to  validate  addresses,
              and the ‘‘qmail backend’’ to deliver messages.

              If  $SMTPREJECT is set, all SMTP commands are rejected with this
              message.  If the message starts with a "-",  a  permanent  error
              number  is used and the leading "-" is stripped.  If $SMTPREJECT
              is not set, it execs its command line.