home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 2
/
goldfish_vol2_cd1.bin
/
files
/
comm
/
mail
/
smail
/
src
/
rcs
/
smail.txt,v
< prev
next >
Wrap
Text File
|
1993-12-21
|
91KB
|
2,656 lines
head 1.10;
access;
symbols
C_1:1.10;
locks; strict;
comment @# @;
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
@
1.10
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
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
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.
2.3. Setup a path file
----------------------
Convert your paths file (generated by pathalias -f) 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:
----------------- 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 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
@@{fg fill}Attention!!!@@{fg text}
Don't forget to sort the 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.
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"
# react to Return-To-Receipt
SMReceipt Yes
# DUUCP-styled logfile
SMLogfile uuspool:Smail.log
# wCNews 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:
(09/07-18:30:10) Smail,-,- cmd: "mail T:03 aussem" from wolfhh!chris
SMMaillogfile writes a logfile in wCNews style
e.g:
Sep 10 20:05:37: + 'aussem' 'wolfhh!tester' 1354 bytes
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.
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.
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 1.9 1993/11/13 14:32:51 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 the include files from MUFS
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
-----------
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:$
@