head	2.3;
access;
symbols
	C_2:2.3
	C_1:1.10;
locks; strict;
comment	@# @;


2.3
date	93.12.01.00.44.39;	author Aussem;	state Exp;
branches;
next	2.2;

2.2
date	93.12.01.00.32.48;	author Aussem;	state Exp;
branches;
next	2.1;

2.1
date	93.11.23.19.58.39;	author Aussem;	state Exp;
branches;
next	1.12;

1.12
date	93.11.23.19.48.44;	author Aussem;	state Exp;
branches;
next	1.11;

1.11
date	93.11.23.18.43.55;	author Aussem;	state Exp;
branches;
next	1.10;

1.10
date	93.11.16.23.52.00;	author Aussem;	state Exp;
branches;
next	1.9;

1.9
date	93.11.13.14.32.51;	author Aussem;	state Exp;
branches;
next	1.8;

1.8
date	93.11.09.22.45.45;	author Aussem;	state Exp;
branches;
next	1.7;

1.7
date	93.10.23.22.48.19;	author Aussem;	state Exp;
branches;
next	1.6;

1.6
date	93.10.23.22.24.54;	author Aussem;	state Exp;
branches;
next	1.5;

1.5
date	93.10.16.14.55.54;	author Aussem;	state Exp;
branches;
next	1.4;

1.4
date	93.10.11.22.14.29;	author Aussem;	state Exp;
branches;
next	1.3;

1.3
date	93.10.10.20.00.36;	author Aussem;	state Exp;
branches;
next	1.2;

1.2
date	93.09.29.13.25.00;	author Aussem;	state Exp;
branches;
next	1.1;

1.1
date	93.09.25.22.47.05;	author Aussem;	state Exp;
branches;
next	;


desc
@Textmodul for smail.guide
@


2.3
log
@*** empty log message ***
@
text
@Document Smail

                    @@{u}@@{fg shine}Smail, rmail - a UUCP mailer@@{fg text}@@{uu}




0. Features
------------

          o complete substitution for Dillons sendmail

          o using paths file for UUCP routing

          o re-routing of addresses according to the paths file

          o mail forwarding for users (~/.forward and uumail:<user>)

          o compatible parameters with Dillon's sendmail
            (except -raw)

          o Return-To-Receipt recognition

          o returning undeliverable mails to sender and postmaster
            of your host

          o support of the standard Getty, MultiUserFileSystem and
            AXSh passwd files

          o smarthost option if your map files are not perfect :-)

          o easy setup of a mailing list via alias include files

          o extended log files

          o accepts the following addresses
              - bang paths (e.g host1!host2!user)
              - @@ addresses (e.g user@@host1)
              - user%site%site.domain@@domain
              - domain!site.domain%site%user
              - @@domain:user

          o BSMTP (Batch Simple Mail Transport Protocol)

          o call uux (instead of writing directly in uuspool)

          o Checking local users permission to send mail
            via UUCP/BSMTP

          o source files available

          o docs in AmigaGuide format

          o Installer script

          o only runs with OS2.0 or higher

          o use the netsupport.library

1. Introduction
---------------

          The  Smail/rmail  program replaces Dillons sendmail to become
          the  UUCP mail transport mechanism.  rmail receives mail from
          UUCP, Smail introduces mail into UUCP.

          Smail/rmail  can  work  with  or without sendmail, or another
          intelligent   mail   system.    For  hosts  with  just  mail,
          Smail/rmail  subsumes  some of the functions of sendmail, and
          hands only local mail to the `Local Mailer'.

          To  varying  degrees,  Smail/rmail  automatically  routes the
          addresses it processes.  Smail/rmail most often routes domain
          style  addresses  (i.e.   user@@domain), producing a UUCP path
          (i.e.   host!address)  or a local address (i.e.  user) but it
          can also re-route explicit UUCP paths.

2. Installation
---------------

             @@{u}@@{fg shine}Please use the Installer script !!!@@{fg text}@@{uu}


          If this doesn't work do the following things:

          1.) Copy

             Smail       ->  uucp:c/sendmail
             Smail       ->  uucp:c/rmail
             mail        ->  uucp:c/mail

            or for the AXSh Version

             Smail_axsh  ->  uucp:c/sendmail
             Smail_axsh  ->  uucp:c/rmail
             mail_axsh   ->  uucp:c/mail

            or for the MUFS Version

             Smail_mufs  ->  uucp:c/sendmail
             Smail_mufs  ->  uucp:c/rmail
             mail_mufs   ->  uucp:c/mail


          2) Edit the `Config options' of Smail in "uulib:config."

          3) Make a directory "Mail" in "uulib:"

          4)  If you want to use `Aliases' edit "uulib:mail/aliases".  If
              you  have already an alias file from Dillons sendmail, just
              copy  it  to  "uulib:mail/aliases"  or  edit the SMAlias in
              "uulib:config".

          5)  If you are using a different NAME for sendmail/rmail than
              "sendmail"/"rmail"  (e.g  Smail  or Smail -r) you have to
              insert a Sendmail/RMail Entry in "uulib:config".  This is
              necessary if Smail cannot deliver a mail or Smail found a
              "Return-To-Receipt  Header".   In either case Smail calls
              the sendmail program to deliver the mails.

          6)  Setup  a  path  file  (if you want to use this option)
              (see `Setup a path file')

          7)  Setup BSMTP stuff (if you want to use this option)
              (see `BSMTP setup')


2.1. Different Smail programs
-----------------------------

          o Getty
            List all your site's users in getty:passwd.  The real name must
            be  entered  in  the  comment field.  You only need this if you
            don't  usr the ENV:  variable called "REALNAME".  Besides Smail
            takes the home-directory for `Mail forwarding' from the getty's
            passwd.

          o AXSh
            These programs use the AXSh passwd instead of Getty's passwd.

          o MUFS
            These programs use the MUFS passwd instead of Getty's passwd.
            Please don't forget to set the U Bit for all relevant programs
            (sendmail/rmail/mail/batch_smtp etc).

2.3. Setup a path file
----------------------

          Convert  your paths file generated by pathalias -f (available
          on  e.g  ftp.cs.tu-berlin.de /pub/amiga/uucp) to Smail format
          using  "convert"  and  "(q)sort".  For the CShell the command
          line is:

          pathalias -f <maps |convert|qsort >uulib:mail/paths

          For  receivers  that  are  not  in  your maps data (nobody is
          perfect)  setup  SM`Smarthost'  in "uulib:config".  This host
          receives  all  mails  for  receivers  that  are not listed in
          "uulib:mail/paths".

          @@{fg fill}Attention!!!@@{fg text}
          Use the following syntax for your maps file:

          ----------------- snip ---------------------------
          host.with.domain=host
          yourhost host(DAILY+FAST)
          ----------------- snap ---------------------------

          NOT

          ----------------- snip ---------------------------
          host=host.with.domain
          yourhost host.with.domain(DAILY+FAST)
          ----------------- snap ---------------------------

          If  you  want  to  use  domains for addressing use the
          following syntax:

          E.g:
          If  you want to deliver all mails which are addressed
          to  "hanse.de"  to  "wolfhh" insert this in your maps
          file.
          ----------------- snip ---------------------------
          wolfhh=.hanse.de
          ----------------- snap ---------------------------

          If you don't have real maps use demo_maps/demo_paths.
          You must change

          mavhh              -> your_site_without_domain
          mavhh.hanse.de     -> your_site_with_domain
          torfhh             -> 1.site_you_call_without_domain
          torfhh.hanse.de    -> 1.site_you_call_with_domain
          wolfhh             -> 2.site_you_call_without_domain
          wolfhh.hanse.de    -> 2.site_you_call_with_domain
          .hanse.de          -> if you want to use domains

          @@{fg fill}Attention!!!@@{fg text}
          Don't forget to sort the path file. 
          Use tabs to separate all entries in your path file.

2.4. Don't use paths-files
--------------------------

          Insert  SM`Smarthost'  your_smart_host in your "uulib:config"
          file.  The smarthost is the host receiving all your mail.

2.5. BSMTP setup
----------------

          Copy
               Smail        ->   uucp:c/rsmtp
               Smail        ->   uucp:c/rcsmtp
               Smail        ->   uucp:c/rfsmtp
               batch_smtp   ->   uucp:c/batch_smtp

          Setup  the SMCompress, SMBsmtpCmd, SMBsmtpSites, Compress and
          Freeze Keywords in "uulib:config".

          Add  every  host  that  should  receive  mails  via  BSMTP to
          "uulib:mail/bsmtp_sites".

          Read the `BSMTP' section.

2.5. Netsupport.library
-----------------------

          Smail uses the Netsupport.library for

          o memory de/allocation (malloc/calloc/free for C-programmers)

          o getting Config options

2.6. Timezones
-----------------------

   Please setup ENV:TZ with the correct timezone. The environment variable
   TZ should have the following format:

    "aaabbbccc"

   aaa  is  the  three-letter abbreviation for the local standard time
   zone (e.g.  CST), and bbb is a number from -23 to 24 that specifies
   the  number to be subtracted from GMT.  ccc is the abbreviation for
   the  local  daylight  savings  time zone (e.g.  CDT).  If no ENV:TZ
   exists GMT is used for timezone.

3. Usage
---------

          Smail [ `Options' ] address ...
          rmail [ `Options' ] address ...


          -A Print the resolved addresses.  DON'T collect a message or
             invoke a mailer (e.g.  for address resolving in scripts)

          -d Be verbose and DON'T invoke other mailers.

          -v Be verbose but still invoke other mailers.

          -h hostname
               Set hostname.  You may alternatively set this via the 
               `Config options' in "uulib:config", too.

          -H hostdomain
               Set hostdomain. You may alternatively set this via the 
               `Config options' in "uulib:config", too.

          -f address
               Use address on the "From:" line in locally generated
               mail.

          -p pathfile
               Set path database file name if not "uulib:mail/paths"
               You may even set this via the `Config options' in 
               "uulib:config".

          -a aliasfile
               Set alias file name if not "uulib:mail/aliases"
               You may even set this via the `Config options' in 
               "uulib:config".

          -n namelist
               Smail  supports  another  type  of aliasing intended for
               full  name  resolution  using a sorted file, namelist or
               name/address     pairs.     This    allows    mail    to
               George.P.Burdell@@gatech.edu      to     be     delivered
               appropriately.   These aliases are by nature very simple
               since  they are not composed of long lists of recipients
               for  each  alias.   They are also numerous since mail to
               George.P.Burdell may be addressed to Burdell, G.Burdell,
               George.Burdell,      P.Burdell,      G.P.Burdell,     or
               George.P.Burdell.   This  simpler  form of aliasing uses
               the  same  fast searching algorithm that is used for the
               paths  file,  so it keeps resolution time manageable.You
               may   even   set   this  via  the  `Config  options'  in
               "uulib:config", too.

       @@{fg fill}Attention!!!@@{fg text}
          On AmigaUUCP you normally don't find a uux with queueing.
          So the next three options (-q -m -u) are mostly useless.

          -q number
               Take  number  as the queueing threshold.  When routing a
               mail  (  -o,  -O,  or domain addressed mail ) to a given
               host  and  the  costs  listed in the paths file are less
               than  the  queueing  threshold  the  mail  will  be sent
               immediately.   This  overrides  the default threshold of
               300.

          -m number
               Most  number  jobs  will  be handed to uux for immediate
               delivery by a single invocation of Smail (default 2)

          -u uuxflags
               Use uuxflags as the flags passed to uux for remote mail.
               This  overrides  any  of  the  default  values and other
               queueing strategies.

          -M If Smail fails to deliver the mail don't send this back to
             the sender.

          -C Consult the paths file for the cost of the path even
             when not routing the mail.  This makes it possible to
             use the cost information when sending pure UUCP path
             mail without re-routing it.

          -o Route the first component of a UUCP path (host!address) in
             addition  to  routing  domain addresses (user@@domain) (see
             `Routing') Deactivate re-routing !


          -O Re-route UUCP paths, trying successively larger righthand
             substrings of a path until a component is recognized (see
             `Routing').  Activate re-routing !

          -r Running  Smail  in  rmail mode.  In this mode Smail/rmail
             does not search for for addresses (to send the mail to)in
             the  mail file, but ONLY takes the addresses from command
             line (see `RMail mode').

          -l Instead of routing a domain address send it to the local
             mailer  for processing.  Normally, only local addresses go
             to the local mailer.

          -L Send  all  addresses  to the local mailer for processing,
             including  UUCP paths.  This options is used, if you want
             Smail  ONLY to resolve the address and NOT to deliver the
             mail.

          -B Send  the  mail to EVERY receiver via BSMTP (Batch Simple
             Mail  Transport Protocol) !  If you want to send only to
             some     receivers/hosts     via     BSMTP     use    the
             "uulib:mail/bsmtp_sites" file (see `BSMTP').

          -c address
             Use address on the "Cc:" line in locally generated mail.

          -b address
             Use address on the "Bcc:" line in locally generated mail.

          -t address
             Use address on the "To:" line in locally generated mail.

          -F file
             Use file as input for the locally mail.
               @@{fg fill}Attention!!!@@{fg text}
               Your filename has to start with t:.  Otherwise use <file.

          -s text
             Use text on the "Subject:" line in locally generated mail.

          -R text
             Use text as real name in locally generated mail.

          The -l flag causes rmail to pass all domain addresses through
          to  the  local  mailer  to  process  addresses  for  non UUCP
          domains.  The -L flag causes rmail to pass even explicit UUCP
          paths  through to the local mailer, presumably to make use of
          other  transport  mechanisms.  In both cases rmail defers any
          routing until Smail gets hold of it.

5. Address
----------


5.1. Addresses accepted
------------------------

          Smail/rmail  understands  "user%site%site.domain@@domain"  and
          "user@@domain"  to  be  a  domain  address, "host!address" and
          "domain!site.domain%site%user" to be a UUCP path and anything
          else to be a local address.

          Because   hostile   rmail's   unpredictably  interpret  mixed
          UUCP/domain  addresses, Smail/rmail understands "domain!user"
          to  be a domain address and generates "path!domain!user" when
          mailing to a cognate Smail/rmail host.  To distinguish domain
          "domain!user"  from  UUCP "host!address" "domain" contains at
          least one (1) period.  Smail/rmail gives precedence to @@ over
          !   when  parsing  mixed  addresses,  thus a!b@@c is parsed as
          (a!b)@@c, rather than a!(b@@c).

5.2. Routing
------------

          Because  Smail/rmail  is  the UUCP transport mechanism it can
          only  effect  delivery  on  UUCP  paths  and local addresses;
          domain  addresses require resolution into UUCP paths or local
          addresses.   To  resolve a domain address Smail/rmail finds a
          route  to  the most specific part of the domain specification
          listed  in  the routing table.  Two degrees of resolution can
          occur:

               Full  resolution:   Smail/rmail  finds  a  route for the
               entire   domain   specification,   and  tacks  the  user
               specification  onto  the  end  of  the  UUCP  path.  The
               address  can  also  fully  resolved into a local address
               (the UUCP path is null).

               Partial  resolution:  Smail/rmail finds a route for only
               righthand  part  of the domain specification so it tacks
               the  complete address (in the form domain!user) onto the
               end  of  the UUCP path.  Since this syntax is not widely
               understood  UUCP  gateways  listed  in the path database
               must install new UUCP software either Smail/rmail or new
               sendmail configuration files (or both).

          If partially resolved address routes to the local host (means
          having a null UUCP path) it's treated as an error.  According
          to  the routing table the local host takes the responsibility
          for parsing the address correctly.

5.3. Re-routing
---------------

          The  -o  flag  makes  Smail/rmail  attempt to route the first
          component of a UUCP path, probably to impress people with how
          many  UUCP  hosts  it  knows.   If  this  fails  it sends the
          unrouted  address  to  the  `Smarthost'.
          The  -O flag makes Smail/rmail take a UUCP path and route the
          rightmost  component  of  it (saving the user name).  This is
          implemented for hosts having very up-to-date routing tables.

          If  a  route  cannot  be discerned from the available routing
          database  an  additional attempt to route the mail is made by
          searching  for  an entry in the database containing the route
          to  a  `Smarthost'.   If  this  entry exists the mail will be
          forwarded using that route.  This allows a host to depend on
          another  (presumably  better  informed)  host  to deliver its
          mail.   This  kind  of  arrangement should be worked out - in
          advance - with the smart host's administrator.

          After  Smail/rmail  resolves an address it reparses it to see
          if  it  is  now  a  UUCP  path  or local address.  If the new
          address   turns  out  to  be  another  domain  address  Smail
          complains as it doesn't like to resolve more than once.  This
          error  occurs  when  an  address partially resolves the local
          host.

          By  default  Smail won't alter the explicit bang path routing
          of  any mail message.  If the stated path is unuseable, (i.e.
          the  next  hop  host is unknown) then Smail will ALWAYS apply
          routing  and attempt to deliver the mail to the potential new
          address.   If  either  this  fails  REROUTE  routing  will be
          applied  to  the  address  and  another attempt to deliver is
          made.  Finally an attempt to find a path to a better informed
          host (see `Smarthost') will be made and the mail is passed to
          that  host.   If  there  is  no path file Smail will call uux
          directly  with  the  smarthost  as  host.  So you must have a
          entry for your smarthost in "uulib:l.sys".

5.4. Fromming
-------------

          Smail/rmail  improves  "From_" and ">From_" lines to a simple
          from argument, which it can pass to sendmail or use to create
          its  own "From" line.  The rule for fromming is:  concatenate
          each "remote from" host (separating them by "!"'s), and tack
          on  the  address on the last "From_" line; if that address is
          in  user@@domain format rewrite it as domain!user; ignore host
          or  domain  if  either is simply the local hostname.  It also
          removes  redundant  information  from  the "From_" line.  For
          instance:

                         ...!myhost!myhost.mydomain!...

          becomes

                                 ...!myhost!...

          Leading  occurrences  of  the  local  host name are elided as
          well.

          Smail/rmail generates it own From_ line, unless it is feeding
          sendmail,  which is happy with the -ffrom argument.  For UUCP
          bound  mail,  Smail/rmail generates a "remote from hostname",
          where hostname is the UUCP hostname (not the domain name), so
          that  From_  can  indicate  a  valid  UUCP  path, leaving the
          sender's domain address in "From:".

6. Miscellaneous
----------------

6.1. Headers
------------

          Certain  headers, "To:", "From:", "Date:", etc., are required
          by  RFC822.  If these headers are absent in locally generated
          mail,  they will be inserted by Smail.  Also, a line of trace
          information,  called  a "Received:" line, will be inserted at
          the  top  of  each message.  In addition Smail support "Cc:",
          "Bcc:" and `Return-Receipt-To headers':.

6.2. Undeliverable mail
-----------------------

          Surely   nobody   likes  his  mail  not  reach  its  intended
          destination  but  it sometimes happens that way.  Mail that is
          found  to  be  undeliverable  (i.e.,  unknown user or unknown
          host)  will  be  returned  to the sender and to postmaster of
          the local host.


6.3. Return-Receipt-To headers
------------------------------

          Smail/rmail will send a mail with a copy of the header of the
          original  mail  to the address after the "Return-To-Receipt:"
          Header if the mail is for a user on your site.  You may turn
          this  off  via  the  SMReceipt  keyword in the "uulib:config"
          file.   See `Local Mailer' for the recognition whether a user
          exists on your site.

          @@{fg fill}Attention!!!@@{fg text}
          Only  one  Return-Receipt-To:   header  line  and address per
          mails is allowed ! This will be fixed soon.

          @@{fg fill}Attention!!!@@{fg text}
          If the Smail/rmail delivers a mail to two or more recipients
          with  one  call of your local mailer and one fails, no return
          mail is send. e.g:

          mail testmail user0 user1 user2

          Only  the  delivery  to  user1  fails  =>  No receipt mail is
          generated, because the "mail" command fails.


6.4. From and Realname
----------------------

          If you send a mail, Smail/rmail looks whether there is
          a) a -f argument and a -R argument
             => take the fromname from -f and the realname from -R
          b) -f argument and no -R argument.
             =>  take the fromname from -f, try to find the fromname in
                 getty:passwd/axsh:etc/passwd  and  take the comment as
                 realname.    If   not   found  look  for  Realname  in
                 "uulib:config".
          c) no -f argument and no -R argument
             => o Getty/AXSh version
                  look  at the local variable USER and REALNAME.  If no
                  REALNAME environment variable exists, try to find USER
                  in  getty:passwd  or  axsh:etc/passwd  and  take  the
                  comment  as realname.  If not found look for RealName
                  in  "uulib:config".   If  no  USER  is found look for
                  UserName in "uulib:config".
                o MUFS version
                  Determinate  via  MUFS who is the owner of this task.
                  If   this  is  not  possible,  do  the  same  as  the
                  Getty/AXSh version.

6.5. Config options
-------------------

          You can configure the following options in "uulib:config"

          # Debug level of smail
          SMDebug           0
          # 0 - nothing
          # 1 - fatal errors
          # 2 - all above + warnings
          # 3 - all above + notices
          # react to Return-To-Receipt
          SMReceipt         Yes
          # DUUCP-styled logfile
          SMLogfile         uuspool:Smail.log
          # CNews styled logfile
          SMMaillogfile     uulib:Mail/logfile
          # evaluate the cost of a mail
          SMGetcost         Yes
          # Record-file (could be nil: # for nologging)
          SMSentlog         t:Smail.sent
          # ascii passwd
          SMPasswd          getty:passwd
          # ascii paths  file (converted and sorted!)
          SMPath            uulib:Mail/paths
          # ascii aliases  file
          SMAlias           uulib:Mail/aliases
          # ascii fullnames file
          SMFullname        uulib:Mail/fullname
          # name of the smarthost
          SMSmarthost       wolfhh
          SMRerouting       1
          #  0 - route C, B, or A (whichever works); set by -O
          #      this means Smail do re-routing
          #  1 - route A always; set by -o
          #      this means Smail do no re-routing
          #  2 - route A if A is a domain

          SMHandle          0
          #  0 - handle UUCP and DOMAIN addresses
          #      this means Smail does everything for you
          #  1 - handle UUCP only; set by -l
          #      this means Smail work only for UUCP addresses
          #  2 - all mail is LOCAL; set by -L
          #      this means Smail gives all work to the local mailer
          #      this is useful for using sendmail for the real mail
          #      transport

         SMCompress         compress
         # the command to compress your BSMTP mails
         # the command is execute (see `BSMTP')
         #  cmd <infile >outfile

         SMBsmtpCmd         rcsmtp
         # the command on the host, that receive your BSMTP
         # mails, to deliver the BSMTP mails (see `BSMTP')

         SMBsmtpSites       uulib:mail/bsmtp_sites
         # file in which all BSMTP sites are written down
         # (see `BSMTP')

         Compress           sys:c/compress
         Freeze             sys:c/freeze
         # complete path for compress and freeze

         SMCheckuser        No
         # check sender permission to send mails via UUCP/BSMTP

         SMCheckFile        uulib:mail/checkuser
         # file in which all users are written down

6.6. Command line parsing
-------------------------

          If  you  submit a string with spaces for an option (e.g for a
          subject), you have to enclose them into double quotes because
          Smail/rmail use the normal argv[] parsing routines.

          Example:

          Wrong:
          Smail <mail -s this is a nice subject ...
          Right:
          Smail <mail -s "this is a nice subject" ...

          If  you  want  to  enclose  double  quotes themselves in your
          subject you have to stuff the double quotes.
          in the CShell:
          Smail <mail -s "this is a nice *\"subject*\"" ...
          in C= shell:
          Smail <mail -s "this is a nice *"subject*"" ...

6.7. Smarthost
--------------

          If  Smail/rmail  can't  resolve  a  path to the receiver of a
          mail,  Smail/rmail will try to sent this mail to a smarthost.
          You  must  label the name of the smarthost in "uulib:config"
          with  the keyword SMSmarthost.  Normally Smail/rmail tries
          to  resolve  the  path  to  the  smarthost.   If  this is not
          possible  (e.g you don't have a paths file) Smail/rmail will
          call uux directly.

6.8. Logfiles
--------------

          SMSentlog  will backup the complete mail and a little header
          with the sender and the maillength

          SMLogfile will write logmessages in the DUUCP logfile format
          e.g:
          (11/28-14:32:43) smail,Sending mail from aussem to tester 475 bytes

          SMMaillogfile writes a logfile in CNews style
          e.g:
          Nov 28 14:56:42: + 'aussem' 'tester' 475 bytes 2 days

          The "2 days" means the delivering of the mail needs two days.

          If  you  want  to  disable  a  log  file  set  the  entry  in
          "uulib:config" to nil:.

6.9. RMail mode
----------------

          If  Smail  is  called  with  the  program name (argv[0] for C
          programmers) rmail, Smail/rmail switch to the rmail mode (the
          same as if you start Smail -r ...).  In this mode Smail/rmail
          does not parse the mail body (e.g.  for receiver or sender of
          the mail).

          If  Smail  is  called  with  the  program name (argv[0] for C
          programmers) rsmtp or rcsmtp or rfsmtp, Smail/rmail switch to
          the  rmail and the BSMTP mode (the same as if you start Smail
          -Br  ...).  Smail/rmail will try to extract the BSMTP message
          and deliver this with rmail command.

6.10. Check user
----------------

          Smail/rmail can check the permission, whether a local user is
          really  allowed  to  send a mail via UUCP/BSMTP.  To activate
          this  option  just  turn  the SMCheckuser Option to "Yes" and
          setup who is allowed to mail via UUCP/BSMTP.

          The setup depends on the Smail/rmail version:

          o AXSh/Getty version
            All   users   that   are  written  down  line  by  line  in
            "uulib:mail/checkuser"  (see  SMCheckuser  and SMCheckFile)
            are allowed to send mails via UUCP/BSMTP.

          o MUFS version
            All  users  that  are  in group "mail", are allowed to send
            mails  via  UUCP/BSMTP.   Additionally  all  users that are
            written  down  line  by line in "uulib:mail/checkuser" (see
            SMCheckuser  and SMCheckFile) are allowed to send mails via
            UUCP/BSMTP.

          @@{fg fill}Attention!!!@@{fg text}
          Only the mails from @@{b}local@@{bu} users are checked and the
          usernames in the checkuser file are case insensitive.


6.11. Local Mailer
------------------
          If Smail/rmail delivers a local mail it calls the local mail
          program with the following syntax:

          mail mail-file address0 .. addressN-1

          Smail comes with three versions of mail:

          o  mail_axsh uses the AXSh passwd file to determinate whether
             a user exists

          o  mail_mufs uses the MUFS passwd file to determinate whether
             a user exists

          o  mail  uses  uumail:   mail folder to determinate whether a
             user  exists.   If no mail-folder exists the user does not
             exists.

         If  you  want to deliver a mail to a non existing user set the
         environment variable MAILTONOEXIST.

6.12. BSMTP
-----------
         BSMTP  is  a option for Smail/rmail to save transmission time,
         because  your  mails  are  compressed and batched (like you do
         with news).

         You can active the BSMTP protocol directly via the -B option.
         The  better way is to write down all hosts that receives mails
         via  BSMTP,  in the "uulib:mail/bsmtp_sites" file.  Simply one
         site by every line (case insensitive!).

         BSMTP  collects  all mail in uuspool:batch/<hostname>.  Before
         you call your host you must execute Smail with -D option

         @@{fg fill}Attention!!!@@{fg text}
         You  have  to  batch  your mails EACH TIME before calling your
         host  !   If  you  forget to batch your mails they'll never be
         delivered !

         Here comes an example:

         Your node for BSMTP is testhh.

            put in "uulib:mail/bsmtp_sites"
            ---------------------- snip ------------------
            testhh
            ---------------------- snip ------------------

            All  mails  Smail/rmail  sends  to testhh will be stored in
            "uuspool:batch/testhh".

            Before you call testhh execute (don't forget it!)

            Smail -Dh testhh

         The  command  for  compressing  your  mails can be changed via
         SMCompress  config option (default compress).  The command for
         your  host  receiving  your  BSMTP  mails  can  be changed via
         SMBsmtpCmd  config  option  (default  rcsmtp).   Normally  you
         should use the following pairs:

         SMCompress                    SMBsmtpCmd
         ----------------------------------------
         compress           <->        rcsmtp
         freeze             <->        rfsmtp
         no compress        <->        rsmtp

         If you want to receive your mails with BSMTP you must copy (or
         make  a  link)  from  Smail/rmail  to rcsmtp,rfsmtp and rsmtp.
         Then  talk  to your host's system operator from which you want
         to receive BSMTP mails.

7. Aliases
----------

7.1. Alias format
-----------------
          An  attempt  has been made to remain compatible with sendmail
          alias file format, though the syntax is much more format free
          than  sendmail.  As distributed, case differences are ignored
          when  comparing  names  to  aliases.   Only alias names which
          resolve  to  the local host are recognized, and are stored in
          their  local  form.  Lines which start with a white space are
          continuation  lines.   Parenthesized  strings  are  taken  as
          comments  (no nesting), as is anything after a '#'.  Here are
          some examples:

          # this whole line is a comment
          #
          # These are equivalent definitions

          alias_name      recip1 recip2 recip3
          alias_name:     recip1, recip2 , recip3

          alias_name      recip1 recip2
                          recip3

          alias_name      recip1  # Recip1's name
                          recip2  # Recip2's name
                          recip3  # Recip3's name

          alias_name      recip1 (Recp1's name) recip2 (Recp2's name)
                          recip3 (Recp3's name)

          alias_name@@thishost     recip1 recip2 recip3

          alias_name@@thisdomain   recip1 recip2 recip3

          thisdomain!alias_name   recip1 recip2 recip3

          All  aliases  are  recursive,  so care must be taken in their
          definition.   Smail  aliasing  attempts  to  prevent infinite
          loops, and to do what was intended by the user.  For example,
          the alias:

                          mylogin mypc!mylogin mylogin

          Expands to

                              mypc!mylogin mylogin

          even  though  the  second  occurrence  of mylogin matches the
          alias  name.

          If  you  want to prevent Smail from alias the second mylogin,
          use a "\" before mylogin.

          Both forms of file inclusion are recursive, too, so watch out
          for nesting include files.  They may lead to infinite loops.

          While   the   cost  of  parsing  an  alias  file  is  usually
          negligible, it's wise to take savings anywhere savings can be
          found.   Therefore,  it's  worth  mentioning  Smail's parsing
          strategy.  Smail will try to get by with doing as little work
          as  possible when aliasing.  If on a particular invocation of
          Smail,  none  of the recipient addresses are local, (i.e., not
          potential  aliases) then the aliases file won't even be read.
          Similarly,  when  an aliases file is read, it does not expand
          any of the :include:  files until they are referenced.  Thus,
          in    the    alias    (above)    for    mylist,    the   file
          :include:uulib:mylist  would  not be opened and read (parsed)
          unless mail was sent to mylist.  Wise use of :include:  files
          can  greatly  increase  the  efficiency of the alias utility.
          It's  not  clear  exactly  where the break-even point is when
          deciding to use an :include:  file in an alias, versus having
          all  of  the  recipients  listed on the line; but if a mailing
          list  is  large  (whatever  that means) it is wise to use the
          :include:   feature to save on parsing costs.  Note that this
          discussion  only applies to the first form of file inclusion,
          since  reading  an  aliases  file  constitutes a reference to
          :include:  files of the second form.

          If  you  use  a  "~"  in your :include:  statement Smail will
          expand  this  to  the home dir of the caller of the Smail (if
          there is a -f option this will be used else Smail will try to
          find  your  login  name  (differs  if you use Getty/MUFS/AXSh
          version).

7.2. Mailing list
-----------------

          Mailing  lists  are  easily  handled  by  two  forms  of file
          inclusion.   The  first  form  is the same as is supported by
          sendmail

                     mylist    :include:uulib:mylist

          In this example, each entry in uulib:mylist would be added to
          the  alias  for  mylist.  The second form is unique to Smail.
          It allows the aliases file to include other aliases files.

7.3. Include other alias files
------------------------------

                       :include:uulib:more-aliases

          This  would  include the file uulib:more-aliases as a regular
          alias  file.   This  makes  it  easier  to maintain groups of
          aliases  that  change frequently, such as the list of netnews
          moderators.

7.4. Mail forwarding
--------------------

          There  is another form of aliasing which works with the alias
          capability.   This  is  called  user forwarding.  For a given
          user  name,  if  there  is no alias for the user and the file
          users-home/.forward exists its contents will be treated as an
          alias  for  the  user.  The syntax is the same as that of the
          recipient  lists  in  the alias file described above.  If you
          want  to  use forwarding in uumail:  put a file with the name
          of the user you want to forward in uumail:  and let the first
          line  have starts with "Forward:".  The rest of the file will
          be treated as an alias described above.

7.5. Command piping
-------------------

          If the alias starts with an | Smail will call the string
          after the | with the mail file as input.

7.6. Fullnames
--------------

          smail  supports  another  type  of aliasing intended for full
          name  resolution  using  a  @@{fg shine}sorted@@{fg text} file,
          namelist,   of  name/address  pairs.   This  allows  mail  to
          George.P.Burdell@@gatech.edu  to  be  delivered appropriately.

          These  aliases are by their nature very simple since they are
          not  composed  of  long  lists  of recipients for each alias.
          They are also numerous, since mail to George.P.Burdell may be
          addressed  to  Burdell, G.Burdell, George.Burdell, P.Burdell,
          G.P.Burdell,  or  George.P.Burdell.   This  simpler  form  of
          aliasing  uses the same fast searching algorithm that is used
          for the paths file, so it keeps resolution time manageable.

          Here  comes  a  example  if you want to write to "Ralph-Thomas
          Aussem"  with  Email  address "aussem@@mavhh.hanse.de" you can
          use  the  following  syntax  (Don't  forget  to  use  tabs to
          separate the entries)...

          -------------------------- snip -----------------------
          Aussem	aussem@@mavhh.hanse.de
          Ralph-Thomas	aussem@@mavhh.hanse.de
          -------------------------- snap -----------------------

8. Thanks
---------



          for Betatesting...

                Gerhard Schneider
                Thorsten Gau
                Christoph Haas


9. Version and Author
---------------------


          This Smail based on Smail V2.5 from Christopher Seiwald in 1987.
          Enhancements,  enhancement  requests,  trouble reports, etc.,
          should be sent to



                     @@{fg shine}aussem@@mavhh.hanse.de@@{fg text}






          $Id: smail.txt,v 2.2 1993/12/01 00:32:48 Aussem Exp Aussem $

10. Wish list
-------------

     o SMTP via AmiTCP (I need a beta tester for this option !)

     o gdbm support for the alias/path/bsmtp and user files


11. Copyright
-------------

     @@{b}This program is free software; you can redistribute it and/or
     modify it under the terms of the GNU General Public License as
     published by the Free Software Foundation; either version 2 of
     the License, or (at your option) any later version.

     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     General Public License for more details.

     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.@@{bu}


12. Source files
----------------

          You  need  to  recompile them SAS C V6.3 and (HW)RCS.  If you
          want to recompile the AXSh version, you need the source files
          of  AXSh.lib  to  compile  a  resident and register parameter
          version  of  the  axsh.lib.   If  you  want  to recompile the
          MultiUserFileSystem  you  need  the  include  files from MUFS
          distribution.    If   you   want   to   recompile   the  with
          netsupport.library   you   need   the   include   files  from
          NetSupport.library distribution.

          @@{fg fill}Attention!!!@@{fg text}


          If you change something,

          a) please inform me, so that I can submit your changes in the
             "official" distribution.

          b)  check  your changes in as branches !  It is easier for me
              to merge them.


13. History
-----------

          Version 1.0 (16 Nov 1993)
          -------------------------

                       »»»»»»»»»» INITIAL RELEASE «««««««««««

          Version 2.0 (1 Dez 1993)
          -------------------------

           o Rewritten the routines for error messages (see `Config options')

           o Dillon styled logfile output changed

           o Netsupport.library is now used

           o some changes in source files (you should not notice)
             and some little changes in output messages

           o improved  %-address support

           o fixed a bug in installer script (SMPath was invalid)

           o should now works with PGPMIP (great work Peter Simons !)

           o improved guide file

           o message id is now unique (using uulib:seq)

           o ~ in :include: statement for aliasing will be expanded
             to home dir of the program's caller

           o in the CNews styled logfile there is logged the
             delivering time of the mail (evaluated from the Date: Header)

           o there were be problems with the logfiles and
             Return-Receipt-To: if there are more than one
             addresses in To:/Cc:/Bcc: lines. Only the first
             address were used. This is now fixed.

           o fixed some enforcer hits in aliasing routines

           o fixed a bug in finding a host in path file (Thanks to Hans Maurer !)

           o fixed error in installer script (SMPath was invalid)

           o fixed error in passwd routines in the Getty version

           o timezone information now works

14. Bugs
--------

           o Return-Receipt-To recognition handles only one address

@


2.2
log
@*** empty log message ***
@
text
@a6 1
                 @@{u}@@{fg shine}Attention!!! This is a beta release@@{fg text}@@{uu}
a7 3



d997 1
a997 1
          $Id: smail.txt,v 2.1 1993/11/23 19:58:39 Aussem Exp Aussem $
@


2.1
log
@Version 2.0 check in
@
text
@d45 1
d120 1
a120 1
              insert a Sendmail/Rmail Entry in "uulib:config".  This is
d147 2
d153 4
a156 3
          Convert  your paths file (generated by pathalias -f) to Smail
          format  using  "convert"  and  "(q)sort".  For the CShell the
          command line is:
d166 1
a166 1
          Use the following syntax for your maps:
d180 11
d200 1
d203 2
a204 1
          Don't forget to sort the path file.
d233 1
a233 1
          
d235 1
a235 1
          
d237 3
a239 2
          
          o file locking
d241 11
d594 1
a594 1
          # wCNews styled logfile
d690 1
a690 1
          (09/07-18:30:10) Smail,-,- cmd: "mail T:03 aussem" from wolfhh!chris
d692 1
a692 1
          SMMaillogfile writes a logfile in wCNews style
d694 3
a696 1
          Sep 10 20:05:37: + 'aussem' 'wolfhh!tester' 1354 bytes
d867 1
a867 2
          alias  name.   If  you  want  to prevent Smail from alias the
          second mylogin, use a \ before mylogin.
d869 3
d897 6
d946 25
d983 1
d1001 1
a1001 1
          $Id: smail.txt,v 1.12 1993/11/23 19:48:44 Aussem Exp Aussem $
d1061 1
a1061 1
          Version 2.0
d1063 1
d1078 30
@


1.12
log
@*** empty log message ***
@
text
@d936 1
a936 1
          $Id: smail.txt,v 1.11 1993/11/23 18:43:55 Aussem Exp Aussem $
@


1.11
log
@*** empty log message ***
@
text
@d7 1
a7 1
                    @@{u}@@{fg shine}Attention!!! This is a beta release@@{fg text}@@{uu}
d10 2
d936 1
a936 1
          $Id: smail.txt,v 1.10 1993/11/16 23:52:00 Aussem Exp Aussem $
@


1.10
log
@*** empty log message ***
@
text
@d5 5
d59 2
d210 11
d553 6
d934 1
a934 1
          $Id: smail.txt,v 1.9 1993/11/13 14:32:51 Aussem Exp Aussem $
d969 4
a972 2
          MultiUserFileSystem   you   the   include   files  from  MUFS
          distribution.
d989 22
a1010 2
          1.0  -  initial release
          
@


1.9
log
@nothing special
@
text
@d1 1
a1 1
Document SMail
d3 1
a3 1
                    @@{u}@@{fg shine}smail, rmail - a UUCP mailer@@{fg text}@@{uu}
d8 1
a8 1
          o complete substitute for Dillons sendmail
d16 2
a17 2
          o nearly command line compatible with Dillon's sendmail
            (execpt -raw)
d43 3
a53 3
          o Checking local users permission to send mail
            via UUCP/BSMTP

d57 1
a57 1
          The  smail/rmail  program replaces Dillons sendmail to become
d59 1
a59 1
          UUCP, smail introduces mail into UUCP.
d61 1
a61 1
          smail/rmail  can  work  with  or without sendmail, or another
d63 1
a63 1
          smail/rmail  subsumes  some of the functions of sendmail, and
d66 2
a67 2
          To  varying  degrees,  smail/rmail  automatically  routes the
          addresses it processes.  smail/rmail most often routes domain
d70 1
a70 1
          can also reroute explicit UUCP paths.
d82 2
a83 2
             smail       ->  uucp:c/sendmail
             smail       ->  uucp:c/rmail
d88 2
a89 2
             smail_axsh  ->  uucp:c/sendmail
             smail_axsh  ->  uucp:c/rmail
d94 2
a95 2
             smail_mufs  ->  uucp:c/sendmail
             smail_mufs  ->  uucp:c/rmail
d99 1
a99 1
          2) Edit the `Config options' of smail in "uulib:config."
d108 6
a113 6
          5)  If  you  are  using  a  different  NAME  for  sendmail than
              "sendmail"  (e.g smail) you have to insert a Sendmail Entry
              in  "uulib:config".   This  is  necessary  if  smail cannot
              deliver  a  mail or smail found a Return-To-Receipt Header.
              In  either case smail calls the sendmail program to deliver
              the mails.
d122 1
a122 1
2.1. Different SMail programs
d128 1
a128 1
            don't  usr the ENV:  variable called "REALNAME".  Besides smail
d141 1
a141 1
          Convert  your paths file (generated by pathalias -f) to smail
d190 3
a192 3
               smail        ->   uucp:c/rsmtp
               smail        ->   uucp:c/rcsmtp
               smail        ->   uucp:c/rfsmtp
d206 1
a206 1
          smail [ `Options' ] address ...
d269 1
a269 1
               delivery by a single invocation of smail (default 2)
d276 1
a276 1
          -M If smail fails to deliver the mail don't send this back to
d289 1
a289 1
          -O Reroute UUCP paths, trying successively larger righthand
d293 1
a293 1
          -r Running  smail  in  rmail mode.  In this mode smail/rmail
d296 1
a296 1
             line.
d304 1
a304 1
             smail  ONLY to resolve the address and NOT to deliver the
d308 1
a308 1
             Mail  Transport Protocoll) !  If you want to send only to
d337 1
a337 1
          routing until smail gets hold of it.
d343 1
a343 1
5.1. Addresses acctepted
d346 1
a346 1
          smail/rmail  understands  "user%site%site.domain@@domain"  and
d352 1
a352 1
          UUCP/domain  addresses, smail/rmail understands "domain!user"
d354 1
a354 1
          mailing to a cognate smail/rmail host.  To distinguish domain
d356 1
a356 1
          least one (1) period.  smail/rmail gives precedence to @@ over
d363 1
a363 1
          Because  smail/rmail  is  the UUCP transport mechanism it can
d366 1
a366 1
          addresses.   To  resolve a domain address smail/rmail finds a
d371 1
a371 1
               Full  resolution:   smail/rmail  finds  a  route for the
d377 1
a377 1
               Partial  resolution:  smail/rmail finds a route for only
d382 1
a382 1
               must install new UUCP software either smail/rmail or new
d390 2
a391 2
5.3. Rerouting
--------------
d393 1
a393 1
          The  -o  flag  makes  smail/rmail  attempt to route the first
d397 1
a397 1
          The  -O flag makes smail/rmail take a UUCP path and route the
d410 1
a410 1
          After  smail/rmail  resolves an address it reparses it to see
d412 1
a412 1
          address   turns  out  to  be  another  domain  address  smail
d417 1
a417 1
          By  default  smail won't alter the explicit bang path routing
d419 1
a419 1
          the  next  hop  host is unknown) then smail will ALWAYS apply
d425 1
a425 1
          that  host.   If  there  is  no path file smail will call uux
d432 1
a432 1
          smail/rmail  improves  "From_" and ">From_" lines to a simple
d451 1
a451 1
          smail/rmail generates it own From_ line, unless it is feeding
d453 1
a453 1
          bound  mail,  smail/rmail generates a "remote from hostname",
d466 1
a466 1
          mail,  they will be inserted by smail.  Also, a line of trace
d468 1
a468 1
          the  top  of  each message.  In addition smail support "Cc:",
d475 1
a475 1
          destination  but  it somtimes happens that way.  Mail that is
d493 1
a493 1
          mails is allowed !
d496 1
a496 1
          If the smail/rmail delivers a mail to two or more receipients
d509 1
a509 1
          If you send a mail, smail/rmail looks whether there is
d520 1
a520 1
                  REALNAME enviroment variable exists, try to find USER
d538 1
a538 1
          SMLogfile         uuspool:smail.log
d544 1
a544 1
          SMSentlog         t:smail.sent
d557 1
a557 1
          #      this means smail do rerouting
d559 1
a559 1
          #      this means smail do no rerouting
d564 1
a564 1
          #      this means smail does everything for you
d566 1
a566 1
          #      this means smail work only for UUCP addresses
d568 1
a568 1
          #      this means smail gives all work to the local mailer
d600 1
a600 1
          smail/rmail use the normal argv[] parsing routines.
d605 1
a605 1
          smail <mail -s this is a nice subject ...
d607 1
a607 1
          smail <mail -s "this is a nice subject" ...
d612 1
a612 1
          smail <mail -s "this is a nice *\"subject*\"" ...
d614 1
a614 1
          smail <mail -s "this is a nice *"subject*"" ...
d619 2
a620 2
          If  smail/rmail  can't  resolve  a  path to the receiver of a
          mail,  smail/rmail will try to sent this mail to a smarthost.
d622 1
a622 1
          with  the keyword SMSmarthost.  Normally smail/rmail tries
d624 1
a624 1
          possible  (e.g you don't have a paths file) smail/rmail will
d630 1
a630 1
          SMSentlog  will backup the complette mail and a little header
d635 1
a635 1
          (09/07-18:30:10) smail,-,- cmd: "mail T:03 aussem" from wolfhh!chris
d641 2
a642 2
          If you want to disable a log file set the entry in "uulib:config"
          to nil:.
d647 9
a655 9
          If  smail  is  called  with  the  program name (argv[0] for C
          programmers) rmail, smail/rmail switch to the rmail mode (the
          same as if you start smail -r ...).  In this mode smail/rmail
          does   not  extract  addresses  from  mail  file.   Only  the
          addresses passed via command line are used for delivering.

          If  smail  is  called  with  the  program name (argv[0] for C
          programmers) rsmtp or rcsmtp or rfsmtp, smail/rmail switch to
          the  rmail and the BSMTP mode (the same as if you start smail
d667 1
a667 1
          The setup depends on the smail/rmail version:
d683 1
a683 1
          usernames in the checkuser file are case insensitiv.
d688 1
a688 1
          If smail/rmail delivers a local mail it calls the local mail
d693 1
a693 1
          SMail comes with three versions of mail:
d706 1
a706 1
         enviroment variable MAILTONOEXIST.
d710 1
a710 1
         BSMTP  is  a option for smail/rmail to save transmission time,
d714 1
a714 1
         You can active the BSMTP protocoll directly via the -B option.
d720 1
a720 1
         you call your host you must execute smail with -D option
d736 1
a736 1
            All  mails  smail/rmail  sends  to testhh will be stored in
d741 1
a741 1
            smail -Dh testhh
d756 1
a756 1
         make  a  link)  from  smail/rmail  to rcsmtp,rfsmtp and rsmtp.
d771 1
a771 1
          continuation  lines.   Parenthesised  strings  are  taken  as
d799 1
a799 1
          definition.   smail  aliasing  attempts  to  prevent infinite
d810 1
a810 1
          alias  name.   If  you  want  to prevent smail from alias the
d818 2
a819 2
          found.   Therefore,  it's  worth  mentioning  smail's parsing
          strategy.  smail will try to get by with doing as little work
d821 1
a821 1
          smail,  none  of the recipent addresses are local, (i.e., not
d831 1
a831 1
          all  of  the  recipents  listed on the line; but if a mailing
d848 1
a848 1
          the  alias  for  mylist.  The second form is unique to smail.
d878 1
a878 1
          If the alias starts with an | smail will call the string
d897 1
a897 1
          This smail based on SMail V2.5 from Christopher Seiwald in 1987.
d910 1
a910 1
          $Id: smail.txt,v 1.8 1993/11/09 22:45:45 Aussem Exp Aussem $
d915 3
a917 1
     o SMTP via AmiTCP
@


1.8
log
@lots of changes
:-)
@
text
@d41 2
d57 2
a58 2
          The smail/rmail program replaces Dillons sendmail to become
          the UUCP mail transport mechanism. rmail receives mail from
d61 3
a63 3
          smail/rmail can work with or without sendmail, or another
          intelligent mail system.  For hosts with just mail,
          smail/rmail subsumes some of the functions of sendmail, and
d66 5
a70 5
          To varying degrees, smail/rmail automatically routes the
          addresses it processes.  smail/rmail most often routes
          domain style addresses (i.e. user@@domain), producing a UUCP
          path (i.e. host!address) or a local address (i.e. user) but
          it can also reroute explicit UUCP paths.
d78 1
a78 1
        If this doesn't work do the following things:
d80 1
a80 1
        1.) Copy
d99 1
a99 1
        2) Edit the `Config options' of smail in "uulib:config."
d101 1
a101 1
        3) Make a directory "Mail" in "uulib:"
d103 11
a113 10
        4) If you want to use `Aliases' edit "uulib:mail/aliases".
           If you have already an alias file from Dillons sendmail,
           just copy it to "uulib:mail/aliases" or edit the SMAlias
           in "uulib:config".

        5) If you are using a different NAME for sendmail than "sendmail"
           (e.g smail) you have to insert a Sendmail Entry in "uulib:config".
           This is necessary if smail cannot deliver a mail or smail found
           a Return-To-Receipt Header. In either case smail calls the sendmail
           program to deliver the mails.
d115 2
a116 2
        6) Setup a path file (if you want to use this option)
           (see `Setup a path file')
d118 2
a119 2
        7) Setup BSMTP stuff (if you want to use this option)
           (see `BSMTP setup')
d125 6
a130 6
      o Getty
        List all your site's users in getty:passwd. The real name
        must be entered in the comment field. You only need this if
        you don't usr the ENV: variable called "REALNAME".
        Besides smail takes the home-directory for `Mail forwarding' 
        from the getty's passwd.
d132 2
a133 2
      o AXSh
        These programs use the AXSh passwd instead of Getty's passwd.
d135 2
a136 2
      o MUFS
        These programs use the MUFS passwd instead of Getty's passwd.
d141 3
a143 3
          Convert your paths file (generated by pathalias -f)
          to smail format using "convert" and "(q)sort". For the CShell
          the command line is:
d147 3
a149 3
          For receivers that are not in your maps data (nobody is
          perfect) setup SM`Smarthost' in "uulib:config". This host
          receives all mails for receivers that are not listed in
d183 2
a184 2
          Insert SM`Smarthost' your_smart_host in your "uulib:config"
          file. The smarthost is the host receiving all your mail.
d189 1
a189 1
           Copy
d195 5
a199 2
           Setup the SMCompress, SMBsmtpCmd, SMBsmtpSites,
           Compress and Freeze Keywords in "uulib:config".
d201 1
a201 4
           Add every host that should receive mails
           via BSMTP to "uulib:mail/bsmtp_sites".
           
           Read the `BSMTP' section.
d210 2
a211 2
          -A   Print the resolved addresses.  DON'T collect a message
               or invoke a mailer (e.g. for address resolving in scripts)
d213 1
a213 1
          -d   Be verbose and DON'T invoke other mailers.
d215 1
a215 1
          -v   Be verbose but still invoke other mailers.
d240 14
a253 14
               Smail supports another type of aliasing intended for
               full name resolution using a sorted file, namelist or
               name/address pairs.  This allows mail to
               George.P.Burdell@@gatech.edu to be delivered
               appropriately.  These aliases are by nature very
               simple since they are not composed of long lists of
               recipients for each alias.  They are also numerous
               since mail to George.P.Burdell may be addressed to
               Burdell, G.Burdell, George.Burdell, P.Burdell,
               G.P.Burdell, or George.P.Burdell.  This simpler form of
               aliasing uses the same fast searching algorithm that is
               used for the paths file, so it keeps resolution time
               manageable.You may even set this via the `Config options'
               in "uulib:config", too.
d260 6
a265 6
               Take number as the queueing threshold. When routing
               a mail ( -o, -O, or domain addressed mail ) to a 
               given host and the  costs listed in the paths file
               are less than the queueing threshold the mail will be
               sent immediately.  This overrides the default threshold
               of 300.
d268 1
a268 1
               Most number jobs will be handed to uux for immediate
d272 39
a310 41
               Use uuxflags as the flags passed to uux for remote
               mail.  This overrides any of the default values and
               other queueing strategies.

          -M   If smail fails to deliver the mail don't send this
               back to the sender.

          -C   Consult the paths file for the cost of the path even
               when not routing the mail.  This makes it possible to
               use the cost information when sending pure UUCP path
               mail without re-routing it.

          -o   Route the first component of a UUCP path (host!address)
               in addition to routing domain addresses (user@@domain)
               (see `Routing')
               Deactivate re-routing !


          -O   Reroute UUCP paths, trying successively larger
               righthand substrings of a path until a component is
               recognized (see `Routing').
               Activate re-routing !

          -r   Running smail in rmail mode
               In this mode smail/rmail does not search for
               for addresses (to send the mail to)in the mail file, but
               ONLY takes the addresses from command line.

          -l   Instead of routing a domain address send it to the
               local mailer for processing.  Normally, only local
               addresses go to the local mailer.

          -L   Send all addresses to the local mailer for processing,
               including UUCP paths. This options is used, if you want
               smail ONLY to resolve the address and NOT to deliver the
               mail.

          -B   Send the mail to EVERY receiver via BSMTP (Batch Simple Mail
               Transport Protocoll) ! If you want to send only to some 
               receivers/hosts via BSMTP use the "uulib:mail/bsmtp_sites"
               file (see `BSMTP').
d313 1
a313 2
               Use address on the "Cc:" line in locally generated
               mail.
d316 1
a316 2
               Use address on the "Bcc:" line in locally generated
               mail.
d319 1
a319 2
               Use address on the "To:" line in locally generated
               mail.
d322 1
a322 1
               Use file as input for the locally mail.
d324 1
a324 2
               Your filename has to begin with t:. Otherwise
               use <file .
d327 1
a327 2
               Use text on the "Subject:" line in locally generated
               mail
d330 1
a330 1
               Use text as real name in locally generated mail.
d333 5
a337 5
          to the local mailer to process addresses for non UUCP domains.
          The -L flag  causes rmail to pass even explicit UUCP paths
          through to the local mailer, presumably to make use of other
          transport mechanisms.  In both cases rmail defers any routing
          until smail gets hold of it.
d346 13
a358 13
          smail/rmail understands "user%site%site.domain@@domain"
          and "user@@domain" to be a domain address,
          "host!address" and "domain!site.domain%site%user"
          to be a UUCP path and anything else to be a local address.

          Because hostile rmail's unpredictably interpret mixed
          UUCP/domain addresses, smail/rmail understands "domain!user"
          to be a domain address and generates "path!domain!user"
          when mailing to a cognate smail/rmail host.  To distinguish
          domain "domain!user" from UUCP "host!address" "domain"
          contains at least one (1) period. smail/rmail gives precedence
          to @@ over ! when parsing mixed addresses, thus a!b@@c is parsed
          as (a!b)@@c, rather than a!(b@@c).
d363 6
a368 6
          Because smail/rmail is the UUCP transport mechanism it can
          only effect delivery on UUCP paths and local addresses;
          domain addresses require resolution into UUCP paths or local
          addresses. To resolve a domain address smail/rmail finds a
          route to the most specific part of the domain specification
          listed in the routing table.  Two degrees of resolution can
d371 4
a374 4
               Full resolution:  smail/rmail finds a route for the
               entire domain specification, and tacks the user
               specification onto the end of the UUCP path.  The
               address can also fully resolved into a local address 
d377 12
a388 12
               Partial resolution:  smail/rmail finds a route for only
               righthand part of the domain specification so it tacks
               the complete address (in the form domain!user) onto the
               end of the UUCP path.  Since this syntax is not widely
               understood UUCP gateways listed in the path database
               must install new UUCP software either smail/rmail or
               new sendmail configuration files (or both).

          If partially resolved address routes to the local host
          (means having a null UUCP path) it's treated as an error.
          According to the routing table the local host takes the
          responsibility for parsing the address correctly.
d393 35
a427 38
          The -o flag makes smail/rmail attempt to route the first
          component of a UUCP path, probably to impress people
          with how many UUCP hosts it knows.  If this fails it passes
          the unrouted address to uux just in case the path database is
          incomplete.  The -O flag makes smail/rmail take a UUCP
          path and route the rightmost component of it (saving the
          user name). This is implemented for hosts having
          very up-to-date routing tables.

          If a route cannot be discerned from the available routing
          database an additional attempt to route the mail is made by
          searching for an entry in the database containing the route to a
          `Smarthost' (smail takes DefaultNode from "uulib:config"). If
          this entry exists the mail will be forwarded using that
          route. This allows a host to depend on another
          (presumably better informed) host to deliver its mail.
          This kind of arrangement should be worked out - in advance -
          with the smart host's administrator.

          After smail/rmail resolves an address it reparses it to see
          if it is now a UUCP path or local address. If the new
          address turns out to be another domain address smail
          complains as it doesn't like to resolve more than once.
          This error occurs when an address partially resolves the
          local host.

          By default smail won't alter the explicit bang path
          routing of any mail message.  If the stated path is
          unuseable, (i.e. the next hop host is unknown) then smail
          will ALWAYS apply routing and attempt to deliver the mail
          to the potential new address.  If either this fails
          REROUTE routing will be applied to the address and another
          attempt to deliver is made.  Finally an attempt to find a
          path to a better informed hostart host (see `Smarthost')
          will be made and the mail is passed to that host. If there
          is no path file smail will call uux directly with the smart-
          host as host. So you must have a entry for your smarthost
          in "uulib:l.sys".
d432 9
a440 9
          smail/rmail improves "From_" and ">From_" lines to a
          simple from argument, which it can pass to sendmail or use
          to create its own "From" line.  The rule for fromming is:
          concatenate each "remote from" host (separating them by
          "!"'s), and tack on the address on the last "From_" line; if
          that address is in user@@domain format rewrite it as
          domain!user; ignore host or domain if either is simply the
          local hostname.  It also removes redundant information from
          the "From_" line.  For instance:
d448 1
a448 1
          Leading occurrences of the local host name are elided as
d451 6
a456 6
          smail/rmail generates it own From_ line, unless it is
          feeding sendmail, which is happy with the -ffrom argument.
          For UUCP bound mail, smail/rmail generates a "remote from
          hostname", where hostname is the UUCP hostname (not the
          domain name), so that From_ can indicate a valid UUCP path,
          leaving the sender's domain address in From:.
d464 6
a469 6
          Certain headers, To:, From:, Date, etc., are required by
          RFC822.  If these headers are absent in locally generated
          mail, they will be inserted by smail.  Also, a line of trace
          information, called a Received: line, will be inserted at
          the top of each message. In addition smail support Cc:, Bcc:
          and `Return-Receipt-To headers'.
d474 5
a478 5
          Although nobody likes to have a mail message fail to reach
          its intended destination, it somtimes happens that way.
          Mail that is found to be undeliverable (i.e., unknown user
          or unknown host) will be returned to the sender and to
          postmaster of this host.
d484 10
a493 6
          Smail/rmail will send a mail with a copy of the header
          of the original mail to the address after the Return-To-Receipt:
          Header if the mail is for a user on your site. You can turn this 
          off via the SMReceipt keyword in the "uulib:config" file. See
          `Local Mailer' for the recognition whether a user exists on 
          your site.
d496 3
a498 3
          If the smail/rmail delivers a mail to two or more receipients with 
          one call of your local mailer and one fails, no return mail is send.
          e.g:
d502 1
a502 1
          Only the delivery to user1 fails => No receipt mail is
d510 1
a510 1
          a) a -f argument and -R argument
d513 4
a516 3
             => take the fromname from -f, try to find the fromname
                in getty:passwd/axsh:etc/passwd and take the comment
                as realname. If not found look for Realname in "uulib:config".
d519 6
a524 6
                  look at the local variable USER and REALNAME.
                  If no REALNAME enviroment variable exists, try
                  to find USER in getty:passwd/axsh:etc/passwd and
                  take the comment as realname. If not found look
                  for RealName in "uulib:config".
                  If no USER is found look for UserName in "uulib:config".
d526 3
a528 2
                  Determinate via MUFS who is the owner of this task. If
                  this is not possible, do the same as the Getty/AXSh version.
d578 1
a578 1
         # the command on the host, which receive your BSMTP
d598 4
a601 3
          If you submit a string with spaces for an option (e.g for
          a subject), you have to enclose them into ", because smail/rmail
          use the normal argv[] parsing routines.
d603 1
d609 2
a610 2
          If you want to enclose " in your subject you have
          to stuff the ".
d619 7
a625 7
          If smail/rmail can't resolve a path to the receiver of a
          mail, smail/rmail will try to sent this mail to a smarthost.
          You must config the name of the smarthost in "uulib:config" with
          the keyword SMSmarthost. Normally smail/rmail will try to
          resolve the path to the smarthost. If this is not possible
          (e.g you donnot have a paths file) smail/rmail will call
          uux directly.
d630 1
a630 1
          SMSentlog will backup the complette mail and a little header
d635 1
a635 1
          (09/07-18:30:10) smail,-,- cmd: "mail T:PNPZ4.0003  aussem" from wolfhh!chris
d639 1
a639 1
          Sep 10 20:05:37: + 'aussem' 'wolfhh!peti.GUN.de!simons' 1354 bytes
d647 11
a657 13
          If smail is called with the program name (argv[0] for C
          programmers)rmail, smail/rmail switch to the rmail mode
          (the same as if you start smail -r ...).
          In this mode smail/rmail does not extract addresses
          from mail file. Only the addresses passed via command
          line are used for delivering.

          If smail is called with the program name (argv[0] for C
          programmers) rsmtp or rcsmtp or rfsmtp, smail/rmail
          switch to the rmail and the BSMTP mode (the same as
          if you start smail -Br ...). Smail/rmail will try to 
          extract the BSMTP message and deliver this with rmail 
          command.
d662 4
a665 2
          Smail/rmail can check the permission, whether a local
          user is really allowed to send a mail via UUCP/BSMTP.
d667 1
a667 2
          @@{fg fill}Attention!!!@@{fg text}
          Only the mails from @@{b}local@@{bu} users are checked.
d669 4
a672 2
          How to determinate the users depends on the smail/rmail 
          version:
d674 6
a679 4
          o AXSh/Getty version
            All users that are written down line by line
            in "uulib:mail/checkuser" (See `Config options'
            SMCheckFile) are allowed to send mails via UUCP/BSMTP.
d681 3
a684 3
          o MUFS version
            All users that are in group "mail", are allowed to
            send mails via UUCP/BSMTP.
d688 2
a689 2
          If smail/rmail delivers a local mail, it calls the local 
          mail program with the following syntax:
d695 2
a696 2
          o mail_axsh uses the AXSh passwd file to determinate
            whether a user exists
d698 2
a699 2
          o mail_mufs uses the MUFS passwd file to determinate
            whether a user exists
d701 3
a703 3
          o mail uses uumail: mail folder to determinate
            whether a user exists. If no mail-folder exists
            the user does not exists.
d705 2
a706 2
         If you want to deliver a mail to a non existing user
         set the enviroment variable MAILTONOEXIST.
d710 8
a717 8
         BSMTP is a option for smail/rmail to save transmission
         time, because your mails are compressed and batched (like
         you do with news).

         You can active the BSMTP protocoll directly via the -B
         option. The better way is to write down all hosts, which
         receives  mails via BSMTP, in the "uulib:mail/bsmtp_sites"
         file.  Simply one site by every line.
d719 2
a720 2
         BSMTP collects all mail in uuspool:batch/<hostname>. Before
         you call your host, you must execute smail with -D option
d723 3
a725 3
         You have to batch your mails, EVERYTIME before you call your 
         host ! If you forget to batch your mails your mails will 
         never be delivered !
d736 2
a737 2
            All mails smail/rmail sends to testhh, will be
            stored in uuspool:batch/testhh.
d743 5
a747 5
         The command for compressing your mails can be changed
         via SMCompress config option (default compress). The
         command for your host, which receives your BSMTP mails,
         can be changed via SMBsmtpCmd config option (default rcsmtp).
         Normally you should use the following pairs:
d755 4
a758 4
         If you want to receive your mails with BSMTP you must
         copy (or make a link) from smail/rmail to rcsmtp,rfsmtp
         and rsmtp. Then speak with the system operator of your
         host, from which you want to receive BSMTP mails.
d765 9
a773 9
          An attempt has been made to remain compatible with sendmail
          alias file format, though the syntax is much more format
          free than sendmail. As distributed, case differences are
          ignored when comparing names to aliases.  Only alias names
          which resolve to the local host are recognized, and are
          stored in their local form.  Lines which start with a
          white space are continuation lines. Parenthesised strings
          are taken as comments (no nesting), as is anything after a
          '#'.  Here are some examples:
d798 4
a801 4
          All aliases are recursive, so care must be taken in their
          definition.  smail aliasing attempts to prevent infinite
          loops, and to do what was intended by the user.  For
          example, the alias:
d809 2
a810 2
          even though the second occurrence of mylogin matches the
          alias name. If you want to prevent smail from alias the
d813 2
a814 26
          Both forms of file inclusion are recursive, too, so watch
          out for nesting include files.  They may lead to infinite
          loops.

          While the cost of parsing an alias file is usually
          negligible, it's wise to take savings anywhere savings can
          be found.  Therefore, it's worth mentioning smail's parsing
          strategy.  smail will try to get by with doing as little
          work as possible when aliasing.  If on a particular
          invocation of smail, none of the recipent addresses are
          local, (i.e., not potential aliases) then the aliases file
          won't even be read.  Similarly, when an aliases file is
          read, it does not expand any of the :include: files until
          they are referenced.  Thus, in the alias (above) for mylist,
          the file :include:uulib:mylist would not be opened and
          read (parsed) unless mail was sent to mylist. Wise use of
          :include: files can greatly increase the efficiency of the
          alias utility.  It's not clear exactly where the break-even
          point is when deciding to use an  :include: file in an
          alias, versus having all of the recipents listed on the
          line; but if a mailing list is large (whatever that means)
          it is wise to use the :include: feature to save on parsing
          costs.  Note that this discussion only applies to the first
          form of file inclusion, since reading an aliases file
          constitutes a reference to :include: files of the second
          form.
d816 22
d841 2
a842 2
          Mailing lists are easily handled by two forms of file
          inclusion.  The first form is the same as is supported by
d847 3
a849 4
          In this example, each entry in uulib:mylist would be
          added to the alias for mylist. The second form is unique to
          smail. It allows the aliases file to include other aliases
          files.
d856 4
a859 4
          This would include the file uulib:more-aliases as a
          regular alias file.  This makes it easier to maintain groups
          of aliases that change frequently, such as the list of
          netnews moderators.
d864 10
a873 10
          There is another form of aliasing which works with the alias
          capability.  This is called user forwarding. For a given
          user name, if there is no alias for the user and the file
          users-home/.forward exists then its contents will be treated 
          as an alias for the user.  The syntax is the same as that of 
          the recipient lists in the alias file described above.
          If you want to use forwarding in uumail:, put a file with the
          name of the user you want to forward in uumail: and let the 
          first line have starts with Forward:. The rest of the file 
          will be treated as an alias described above.
d878 2
a879 2
          If the alias starts with an |, smail will call the
          string after the | with the mail file as input.
d897 3
a899 3
     This smail based on SMail V2.5 from Christopher Seiwald in 1987.
     Enhancements, enhancement requests, trouble reports, etc.,
     should be sent to
d910 1
a910 1
          $Id: smail.txt,v 1.7 1993/10/23 22:48:19 Aussem Exp Aussem $
d928 1
a928 1
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
d935 28
@


1.7
log
@cosmetic changes
@
text
@d3 1
a3 2
                smail, rmail - UUCP mailer with routing
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
d12 1
a12 1
          o Rerouting of UUCP address using the path file
d14 1
a14 1
          o mail forwarding for users (~/.forward)
a15 2
          o mail forwarding for users in uumail:

d21 2
a22 1
          o returning undeliverable mails
d24 2
a25 1
          o support of the getty and AXSh passwd files
d27 1
a27 1
          o smarthost option if you don't  want to use a path file
d33 1
a33 1
          o accepts
d39 5
a43 1
          o BSMTP (Batch Simple Mail Transport Protocol) option
d45 1
d47 5
d56 2
a57 3
          the UUCP mail transport mechanism.  They are links to the same
          executable.  rmail receives mail from UUCP, smail introduces
          mail into UUCP.
d67 1
a67 1
          path (i.e. host!address) or a local address (i.e. user), but
d73 16
a88 15
          Copy smail to sendmail, make a link to rmail and copy mail
          in your UUCP binary directory. Make a directory Mail in uulib:.
          For the configuration of smail edit the `Config options' in
          uulib:config.

          When you want to use `Aliases' edit uulib:mail/aliases.
          If you have already an alias files from Dillons or Wusels
          sendmail, just copy it to uulib:mail/aliases or edit the
          SMAliasfile in uulib:config.

          If you are using a different NAME for sendmail than sendmail
          (e.g smail) than you have to insert a Sendmail Entry in uulib:config.
          This is necessary, if smail cannot deliver a mail or smail found
          a Return-To-Receipt Header. In both case, smail calls the sendmail
          program to deliver the mails.
d90 1
d92 29
a120 2
2.1. Normal programs
--------------------
d122 6
a127 5
          Insert all users of your site in getty:passwd. Insert in
          the comment part the realname of the user.This is only
          important for the Realname if you donnot use the local env-
          iroment variable REALNAME. Besides smail takes the home-directory
          for `Mail forwarding' from the getty's passwd.
d129 2
a130 2
2.2. AXSh programs
------------------
d132 2
a133 2
          These programs use the AXSh passwd to find the realname
          of the sender and the home-directory.
d135 2
a136 2
2.3. You want to use paths-files
--------------------------------
d139 2
a140 2
          to smail format using convert and (q)sort. For the CShell
          the command is:
d144 7
a150 5
          For receivers, which are not in your maps data, setup
          SM`Smarthost' in uulib:config. This host receives all
          mails for receivers that are not in uulib:mail/paths.
          Keep in mind, that you use the following syntax for
          your maps:
d154 5
a158 2
          hosttwo.with.domain=hosttwo
          yourhost host(DAILY+FAST),hosttwo(DAILY)
d160 13
d174 2
a175 2
2.4. You don't want to use paths-files
--------------------------------------
d177 8
a184 3
          Insert SM`Smarthost' your_smart_host in your uulib:config
          file. The smarthost is the host which should receives all
          your mails
d186 13
a205 2
3.1. Options
------------
d207 2
a208 2
          -A   Print the resolved addresses.  Don't collect a message
               or invoke a mailer.
d210 1
a210 1
          -d   Be verbose and don't invoke other mailers.
d212 1
a212 1
          -v   Be verbose, but still invoke other mailers.
d215 2
a216 2
               Set hostname.  You can set this via the `Config options'
               in uulib:config, too.
d219 2
a220 2
               Set hostdomain. You can set this via the `Config options'
               in uulib:config, too.
d223 1
a223 1
               Use address on the From: line in locally generated
d227 3
a229 3
               Set path database file name if not uulib:mail/paths
               You can set this via the `Config options' in uulib:config,
               too.
d232 3
a234 3
               Set alias file name if not uulib:mail/aliases
               You can set this via the `Config options' in uulib:config,
               too.
d238 1
a238 1
               full name resolution using a sorted file, namelist, of
d241 1
a241 1
               appropriately.  These aliases are by their nature very
d243 1
a243 1
               recipients for each alias.  They are also numerous,
d249 2
a250 2
               manageable.You can set this via the `Config options'
               in uulib:config, too.
d252 11
a262 7
       -q number
               Take number as the queueing threshold.  When routing
               mail ( -o, -O, or domain addressed mail ) to a given
               host, if the cost listed in the paths file is less than
               the queueing threshold, then the mail will be sent
               immediately.  This overrides the default threshold (see
               QUEUECOST in defs.h) of DEDICATED+LOW.
d265 2
a266 3
               At most number jobs will be handed to uux for immediate
               delivery by a single invocation of smail (see
               MAXNOQUEUE in defs.h).
d273 1
a273 1
          -M   If smail fails to deliver the mail, don't send this
d279 1
a279 1
               mail without rerouting it.
d284 1
a284 1
               Deactivate rerouting !
d290 1
a290 1
               Activate rerouting !
d293 3
d297 1
a297 1
          -l   Instead of routing a domain address, send it to the
d302 3
a304 1
               including UUCP paths.
d306 3
a308 3
          -B   Send the mail via BSMTP (Batch Simple Mail Transport
               Protocol) to EVERY receiver ! If you want to send only
               to some receivers via BSMTP use the uulib:mail/bsmtp_sites
d312 1
a312 1
               Use address on the Cc: line in locally generated
d316 1
a316 1
               Use address on the Bcc: line in locally generated
d320 1
a320 1
               Use address on the To: line in locally generated
d325 3
a327 2
               Attention !!!
               Your filename have to begin with t:. Else use <file .
d330 1
a330 1
               Use text on the Subject: line in locally generated
d334 11
a344 1
               Use text as Realname in locally generated mail.
a345 9
          Most of the flags are also compile time options, since uux
          does not normally invoke rmail with the desired flags.
          smail resets any preset -l or -L flags.  -l flag causes
          rmail to send all domain addresses through the local mailer,
          to process addresses for non UUCP domains.   The -L flag
          causes rmail to send even explicit UUCP paths through the
          local mailer, presumably to make use of other transport
          mechanisms.  In both cases, rmail defers any routing until
          smail gets hold it.
d347 2
a348 2
3.2. Addresses
--------------
d350 3
a352 3
          smail/rmail understands "user@@domain" and
          "user%site%site.domain@@domain" to be a domain
          address, "host!address" and "domain!site.domain%site%user"
d357 1
a357 1
          to be a domain address, and generates "path!domain!user"
d359 4
a362 5
          domain "domain!user" from UUCP "host!address", "domain"
          contains at least one (1) period.  Unlike the old
          rmail, smail/rmail gives precedence to @@ over ! when
          parsing mixed addresses, thus a!b@@c is parsed as (a!b)@@c,
          rather than a!(b@@c).
d364 1
a364 1
3.3. Routing
d367 1
a367 1
          Because smail/rmail is the UUCP transport mechanism, it can
d370 1
a370 1
          addresses. To resolve a domain address, smail/rmail finds a
d378 2
a379 2
               address can also fully resolve to a local address (the
               UUCP path is null).
d382 1
a382 1
               righthand part of the domain specification, so it tacks
d385 2
a386 2
               understood, UUCP gateways listed in the path database
               must install new UUCP software, either smail/rmail or
d389 4
a392 4
          It is an error if a partially resolved address routes to the
          local host (a null UUCP path), since according to the
          routing table, the local host is responsible for resolving
          the address more fully.
d394 2
a395 2
3.3.1. Rerouting
----------------
d397 7
a403 7
          The -o flag causes smail/rmail to attempt to route the first
          component of a UUCP path, probably so it can impress people
          with how many UUCP hosts it knows.  If this fails, it passes
          the unrouted address to uux, in case the path database is
          not complete.  The -O flag causes smail/rmail to take a UUCP
          path and route the rightmost component of the path (save the
          user name) possible.  This is mostly for hosts that have
d407 13
a419 13
          database, then one more attempt to route the mail is made by
          searching for an entry in the database for a route to a
          `Smarthost' (smail takes DefaultNode from uulib:config). If
          this entry exists, then the mail will be forwarded along that
          route to be delivered.  This allows a host to depend on another,
          presumably better informed, host for delivering its mail.
          This kind of arrangement should be worked out, in advance, 
          with the smart-host's administrator.

          After smail/rmail resolves an address, it reparses it to see
          if it is now a UUCP path or local address.  If the new
          address turns out to be another domain address, smail
          complains because we don't like to resolve more than once.
d423 1
a423 1
          By default, smail will not alter the explicit bang path
d425 7
a431 7
          unuseable, (i.e., the next hop host is unknown) then smail
          will apply ALWAYS routing, and attempt to deliver the mail
          to the potentially new address.  If this fails too, then
          REROUTE routing will be applied to the address, and another
          attempt to deliver is made.  Lastly, an attempt to find a
          path to a better informed hostart-host (see `Smarthost')
          will be made and the mail passed to that host. If there
d434 1
a434 1
          in uulib:l.sys.
d436 1
a436 1
3.4. Fromming
d439 1
a439 1
          smail/rmail collapses From_ and >From_ lines to generate a
d443 2
a444 2
          !'s), and tack on the address on the last From_ line; if
          that address is in user@@domain format, rewrite it as
d447 1
a447 1
          the From_ line.  For instance:
d465 4
a468 1
3.5. Headers
d475 2
a476 2
          the top of each message. In addition smail support Cc: and
          `Return-Receipt-To headers'.
d478 1
a478 1
3.6. Undeliverable mail
d484 2
a485 1
          or unknown host) will be returned to the sender.
d488 1
a488 1
3.7. Return-Receipt-To headers
d491 1
a491 1
          smail/rmail will send an mail with a copy of the header
d493 9
a501 3
          Header. You can turn this off via the SMReceipt keyword in the
          uulib:config file. See `Local Mailer' for the recognition
          whether a user does exists on your site.
d503 7
a509 1
3.8. From and Realname
d517 2
a518 2
                in getty:passwd and take the comment as realname.
                If not found look for Realname in uulib:config.
d520 10
a529 10
             => look at the local variable USER and REALNAME. if no REALNAME
                enviroment variable exists, try to find USER
                in getty:passwd and take the comment as realname
                If not found look for RealName in uulib:config.
                If no USER is found look for UserName in uulib:config.

3.9. Cc headers
---------------

          Are supported :-)
d531 2
a532 7
3.10. Bcc Headers
-----------------

          Are supported :-)

3.11. Config options
--------------------
d534 1
a534 1
          You can configure the following options in uulib:config
d579 1
a579 1
         # the command on your node, which receive your BSMTP
d590 8
a597 2
3.12. Command line parsing
--------------------------
d615 2
a616 2
3.13. Smarthost
---------------
d618 1
a618 1
          If smail/rmail cannot resolve a path to the receiver of a
d620 1
a620 1
          You can config the name of the smarthost in uulib:config with
d626 1
a626 1
3.14. Logfiles
d640 1
a640 1
          If you want to disable a log file set the entry in uulib:config
d643 18
a660 1
3.15. Paths file
d663 87
a749 17
          Donnot use the following syntax for the maps file for sites
          you call directly.
          -------------------------- snip -------------------
          yrb = yrb.incubus.sub.org
          incubus	yrb.incubus.sub.org(DAILY+FAST)
          -------------------------- snip -------------------

          Just replace

          -------------------------- snip -------------------
          yrb.incubus.sub.org = yrb
          incubus	yrb(DAILY+FAST)
          -------------------------- snip -------------------

          If you donnot use the second syntax uux tries to send
          the mail to your smarthost, because it does not find
          yrb.incubus.sub.org in uulib:l.sys file.
d751 4
d756 1
a756 1
4. Aliases
d759 1
a759 1
4.1. Alias format
d836 1
a836 1
4.2. Mailing list
d850 1
a850 1
4.3. Include other alias files
d860 1
a860 1
4.4. Mail forwarding
d865 1
a865 1
          user name, if there is no alias for the user and the file  
d874 2
a875 2
4.5. Command piping
------------------
a879 4
5. Local Mailer
---------------
          If smail delivers a local mail, it calls the local mail
          program with the following Syntax:
d881 2
a882 1
          mail mail-file address
a883 1
          SMail comes with two versions of mail:
a884 2
          o mail_axsh uses the AXSh passwd file to determinate
            whether a user exists
d886 1
a886 3
          o mail uses uumail: mail folder to determinate
            whether a user exists. If no mail-folder exists
            the user does not exists.
d888 3
a890 2
         If you want to deliver a mail to a non existing user
         set the enviroment variable MAILTONOEXIST.
d892 2
a893 10
6. BSMTP
--------
         BSMTP is a option for smail/rmail to save transmission
         time, because your mails are compressed and batched (like
         you do with news).

         You can active the BSMTP protocoll directly via the -B
         option. The better way is to put all sites, which receives
         mails with BSMTP, in the uulib:mail/bsmtp_sites file.
         Simply one site by line.
a894 2
         BSMTP collects all mail in uuspool:batch/<nodename>. Before
         you call your node, you must execute smail with -D option
d896 3
a898 8
         Here comes an example:

         Your node for BSMTP is testhh.

            put in uulib:mail/bsmtp_sites
            ---------------------- snip ------------------
            testhh
            ---------------------- snip ------------------
a899 4
            All mails smail/rmail sends to testhh, will be
            stored in uuspool:batch/testhh.

            Before you call testhh execute
a900 1
            smail -Dh testhh
d902 1
a902 5
         The command for compressing your mails can be changed
         via SMCompress config option. The command on your node,
         to deliver your mails can be changed via SMBsmtpCmd config
         option (default rcsmtp). Normally you should use the
         following pairs:
a903 5
         SMCompress                    SMBsmtpCmd
         ----------------------------------------
         compress           <->        rcsmtp
         freeze             <->        rfsmtp
         no compress        <->        rsmtp
a904 4
         If you want to receive your mails with BSMTP you must
         copy (or make a link) from smail/rmail to rcsmtp,rfsmtp
         and rsmtp. Then speak with the system operator of your
         node from which you want to receive BSMTP mails.
a905 2
7. Thanks
---------
a906 1
          for Betatesting...
a907 2
                Gerhard Schneider
                Thorsten Gau
d909 1
a909 2
8. Version and Author
---------------------
d911 2
d914 1
a914 3
     This smail based on SMail V2.5 from Christopher Seiwald in 1987.
     Enhancements, enhancement requests, trouble reports, etc.,
     should be sent for the Amiga version to
a915 1
                      aussem@@mavhh.hanse.de
d917 2
a918 1
          $Id: smail.txt,v 1.6 1993/10/23 22:24:54 Aussem Exp Aussem $
d920 1
a920 3
9. Copyright
------------
     This program is free software; you can redistribute it and/or
d932 1
a932 11
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

10. Index
=========

   Alias escape     -> `Alias format'
   AXSh             -> `AXSh programs',`Local Mailer'
   Dillons sendmail -> `Features',`Installation'
   mail             -> `Local Mailer'
   uulib:config     -> `Config options'
   uulib:path       -> `Paths file'
@


1.6
log
@BSMTP docs insert
@
text
@d490 7
a756 1

d761 1
d775 1
a775 1
          $Id: smail.txt,v 1.5 1993/10/16 14:55:54 Aussem Exp Aussem $
@


1.5
log
@-M option text included
address options included
@
text
@d34 1
a34 1
          o accepts 
d37 2
d40 1
d42 1
d226 5
d268 4
a271 3
          smail/rmail understands "user@@domain" to be a domain
          address, "host!address" to be a UUCP path, "real name <address>"
          to be "address" and anything else to be a local address.
d464 1
a464 1
          SMRerouting
d471 1
a471 1
          SMHandle
d481 10
d703 49
a751 1
6. Thanks
d756 1
d758 1
a758 1
7. Version and Author
d768 1
a768 1
          $Id: smail.txt,v 1.4 1993/10/11 22:14:29 Aussem Exp Aussem $
d770 1
a770 1
8. Copyright
d786 2
a787 2
9. Index
========
d795 1
a795 1
   
@


1.4
log
@forwarding with uumail:user only if the file starts
with Forward:
@
text
@d34 5
d194 3
d699 1
a699 1
          $Id: smail.txt,v 1.3 1993/10/10 20:00:36 Aussem Exp Aussem $
@


1.3
log
@Bcc and uumail:user documented
@
text
@d642 7
a648 4
          users-home/.forward exists or uumail:user does not start 
          with From line , then its contents will be treated as an 
          alias for the user.  The syntax is the same as that of the 
          recipient lists in the alias file described above.
d691 1
a691 1
          $Id: smail.txt,v 1.2 1993/09/29 13:25:00 Aussem Exp Aussem $
@


1.2
log
@Sendmail Config Text insert
@
text
@a9 1
            (except Bcc: headers)
d15 1
a15 1
          o mail forwarding for all users (~/.forward)
d17 2
d20 1
a20 1
            (execpt -raw and Bcc:)
d218 4
d419 1
a419 1
          Are not supported :-( at the moment)
d640 6
a645 6
          capability.  This is called per user forwarding. For a given
          user name, if there is no alias for the user then, if the
          file  user/.forward exists, then its contents will be
          treated as an alias for the user.  The syntax is the same as
          that of the recipient lists in the alias file described
          above.
d669 3
d688 1
a688 1
          $Id: smail.txt,v 1.1 1993/09/25 22:47:05 Aussem Exp Aussem $
@


1.1
log
@Initial revision
@
text
@d65 7
d680 1
a680 1
          $Id:$
@
