SMAILTRNS(5) Local SMAILTRNS(5)NAME
/etc/smail/transports - smail transports configuration
THE TRANSPORTS FILE
The transports file describes the various possible ways, of delivering
mail. For example, some possibilities are to call a program such as
uux(1) to deliver mail to a remote host, to connect over TCP/IP to a
remote host and converse using an SMTP protocol, or to deliver local
mail by appending to a user's mailbox file.
NOTE: Unlike the routers and directors files, a locally supplied
transports file does not replace all compiled-in transports. Rather,
entries in the local transports file override existing entries of the
same name, or add new entries. Thus, if you wish to add or replace one
new transport definition, you need only provide the new definition, and
do not need to duplicate all of the existing entries.
The following list describes the possible generic attributes for trans‐
port file entries:
bsmtp
type: boolean
Use a batched SMTP format, where the message is enclosed in an
envelope of SMTP commands. This is not the same format commonly
used on BITNET, as it does not contain FORTRAN carriage control
characters. This can be used to send mail to remote hosts using
SMTP formats even when direct two-way connections are not feasible.
For example, this will work over UUCP and eliminates difficulties
with sending arbitrary addresses as arguments to uux. Use of bsmtp
also turns on the dots attribute. When used with the uucp
attribute, UUCP-style !-path addresses are used in the SMTP enve‐
lope.
crlf
type: boolean
If set, then each line of the header and message will end in car‐
riage-return/line-feed rather than a single newline character.
This is not typically useful, as the SMTP transport, which requires
this as a part of the interactive protocol always does this anyway.
debug
type: boolean
If set, replaces the body of the message with debugging informa‐
tion. This can be used, for example, as a shadow transport to
watch the flow of mail for a while for debugging purposes. This
essentially allows for debugging without the ethical and space
problems of saving the personal correspondence of others.
dots
type: boolean
If set, then use the hidden dot protocol. All output lines which
begin with dot will have one more dot prepended. All of the vari‐
ous SMTP modes imply this behaviour.
driver
type: string
The driver attribute names a specific set of low-level functions
which will do the work of delivering mail. This attribute is
always required.
error_transport
type: string
names another transport that the message should be sent to, if the
first transport returns failure.
from
type: boolean
If set, then supply a ``From<<space>>'' line before the message
when delivering with this transport. If this is a remote transport
(i.e., the local_xform attribute is not turned on) then this line
will end with ``remote from hostname'' where hostname is the UUCP
name for the local host. This is useful for delivery over UUCP and
for delivery to standard mailbox files, which require this format.
hbsmtp
type: boolean
``Half-baked'', or batched, SMTP. This is batched SMTP mode with‐
out an initial ``HELO'' greeting command or an ending ``QUIT'' com‐
mand. This can be used for creating files which will be concate‐
nated together at a later time to form one batch of SMTP commands
containing multiple messages. Use of the hbsmtp attribute also
turns on the dots attribute.
local_xform
type: boolean
If set, the form of the header and envelope information will be
setup for delivery to the local host. This performs no changes to
existing header fields, other than insertion of commas into fields
containing sender and recipient addresses. This also affects the
form of any generated ``From<<space>>'' line and the form of enve‐
lope addresses used in SMTP commands.
This can be used with remote delivery, if delivery is to a remote
smail3.1 site, which is useful within a domain that maintains con‐
sistent user forwarding information. This leaves messages in
unqualified format until leaving the domain through a gateway.
local
type: boolean
This implies that delivery really is final delivery to a user,
file, or program on the local host. This disables generation of a
bounce message resulting from an excessive message hop-count.
max_addrs
type: number
This states the maximum number of recipient addresses that can be
given in one call to the transport. If this is turned off then
there is no maximum number. The default number is 1 and typically
this is either left as 1 or turned off.
max_chars
type: number
This states the maximum number of characters in recipient addresses
that can be given in one call to the transport. If this is turned
off then there is no maximum number. The default number is about
one third of the number characters that can be passed as arguments
to a program. When using SMTP transports this should be turned off
unless a remote host is known to be unable to handle a large number
of addresses. For delivery over UUCP to a remote rmail program,
this should be around 200 or 250, to avoid buffer overruns at the
remote site. UUCP generally has small buffers to hold argument
information.
If smail is given an address whose length exceeds this number, then
the address will be passed with one call to the transport. Thus,
this limit is not strictly enforced.
max_hosts
type: number
This states the maximum number of different hosts that can be given
in one call to the transport. If this is turned off, using the
form -max_hosts then there is no maximum number. The default num‐
ber is 1 and typically this is not changed.
received
type: boolean
If set, then a Received: header field is inserted for mail being
delivered with this transport. The form of this field is taken
from the received_field attribute. This attribute is on by
default.
return_path
type: boolean
If set, then a Return-Path: field is inserted for mail being deliv‐
ered with this transport. The form of this field is taken from the
return_path_field attribute. This should only be used for trans‐
ports which perform final delivery to local destinations.
shadow
type: string
This names another transport that the message should be sent to.
This could be used to, for example, to create a local copy of all
e-mail carried by the primary transport. The shadow transport is
called only if the primary transport successfully performs deliv‐
ery.
strict
type: boolean
If this flag is set, then some effort is done to transform mail
which does not conform to RFC 822 standards. This is potentially
useful for sites which gateway between the UUCP zone and the Inter‐
net. In general, it is not a good idea to turn this on as it
changes the contents of headers fields.
This should only be done when it is known that some remote hosts
only understand mail which conforms to the RFC 822 standard.
unix_from_hack
type: boolean
If set then any line in the body of the message which begins with
``From<space>'' will have the character `>' inserted at the begin‐
ning. This is required for local delivery to mailbox files that
are in the standard Unix mailbox form.
uucp
type: boolean
If set then outgoing recipient addresses will be converted into
UUCP-style paths of the form hosta!hostb!hostc!user. An exception
is that any use of `%' as an address operator is preserved. Thus,
an envelope address of user%hostb@hosta would be converted to
hosta!user%hostb. This only affects envelope addresses and does
not affect the message header fields.
inet
type: boolean
If set then outgoing recipient addresses will be conform into to
internet specifications. This is not the same as the strict
attribute, since the transformations apply only to the envelope
addresses, and not to headers. If inet is defined, then route-addr
addresses will be generated when routing to remote destinations,
rather than !-style addresses. Thus, if smail is given the address
user%host@gateway and gateway is reached through the path
hosta!hostb!hostc, then smail will generate the address
@hostb,@hostc:user%host@gateway to be sent to the host @hosta.
retry_dir
type: string
The subdirectory under /var/mail/retry to use for managing host
retry intervals for this transport. By default, the name of the
transport is used. However, multiple transports can share a retry
directory by setting retry_dir for several transports to the same
value. For example, by default all of the default TCP/IP SMTP
transports (inet_zone_smtp, uucp_zone_smtp, and local_smtp set
retry_dir to ``smtp'').
remove_header
type: string
Identify a header field that will be removed from the message for
transport. This is an expansion string, so header removal can be
made dependent upon some conditions. If expansion of the string
results in an empty string, then no header is removed. Any number
of remove_header attributes can be specified.
insert_header
append_header
type: string
Add the given header field at the beginning (with insert_header) or
end (with append_header) of the message header for transport.
These are expansion strings, so the header (and the existence of
the header) can be made dependent on some conditions. If expansion
of the string results in an empty string, then no header is added.
Any number of insert_header and append_header attributes can be
specified.
As an example of the manipulation of headers, consider the addition
of an ``Organization'' header for all locally generated mail that
does not already have an Organization header. This can be done
with:
append_header="${if and{{origin:local}{!header:organization}} \
Organization: ACME Explosives Corp.}"
To configure a ``Content-Length'' field, which some systems use to
identify the length of a message within a mailbox file rather than
keying on lines starting with ``<newline>From<space>'', use:
remove_header="Content-Length",
append_header="Content-Length: $body_size"
THE TRANSPORT DRIVERS
This section details the usage and driver-specific attributes for all
of the transport drivers distributed with smail.
The Pipe Driver
The pipe driver is the most general form of transport. Its job is to
send mail messages to another program, such as uux(1), mail.local(8),
or mabye even sh(1).
The driver attributes for the pipe driver are:
cmd
type: string
The program to be run and the arguments to be passed. This is
string expanded using some special rules. To handle multiple
addresses being given to a transport, the forms ``$('' and ``$)''
can be used to bracket a section of the command string which is to
be repeated for each address given to the transport. Single quotes
('), double quotes (") and backslash (\) work as with /bin/sh.
Variables are expanded as described in smail(5). It is a configu‐
ration error for this variable to be unset or for string expansion
to fail or for the resulting command not to specified with an abso‐
lute pathname.
defer_child_errors
type: boolean
Generally, only child failures from the signal SIGTERM are re-
attempted at a later time. If this is set, then retries are per‐
formed at a later time if the exit code is non-zero, or if the
write failed on the pipe. This is useful for treating errors from
UUCP as configuration or as temporary filespace problems.
group
type: string
The name of the group to set-group-ID to within the child process.
If not set then the default group-ID of the user specified in the
user attribute is used. Useful only if the mailer is running as
root.
ignore_status
type: boolean
If set, the exit status of the child process is ignored. If this
is not set, an exit value other than 0 is noted and mail is sent to
the postmaster stating this. See also status_to_sender described
below.
ignore_write_errors
type: boolean
If set, write errors are ignored. This is useful for running pro‐
grams that may not actually read their standard input. If this is
not set, a write error will cause mail to be returned to the
sender.
log_output
type: boolean
The standard output and standard error files of a command are
logged and returned to the sender in case of problems. The current
implementation is not very good as it actually returns the logs for
all such transports in the event that any transports fail. This
attribute is on by default.
parent_env
type: boolean
Stuff the environment with data taken from the parent of the input
address, rather than the input address itself. This is useful for
the transport specifically named pipe which is used by smail for
delivery to shell-command addresses. Here the recipient address
stored into the environment will then be the address that produced
the shell-command address, rather than the shell-command address
itself.
pipe_as_sender
type: boolean
If set, the child process' UID is taken from the real UID at the
time the message was read by smail. This does not affect the group
id for the child. This overrides the UID obtained from the
pipe_as_user attribute.
pipe_as_user
type: boolean
Obtain a UID and, if group attribute is not given, a GID associated
with the address (such as the user for a ~/.forward file). Then
set these via setuid(2) and setgid(2) in the child process.
NOTE: This attribute is on by default.
status_to_sender
type: boolean
This flag modifies the ignore_status attribute so that any errors
resulting in a non-zero status are reported to the sender rather
than the postmaster. It is of use if a transport is required (for
example) to send an informative message back to the sender detail‐
ing local addresses that did not correspond to local users. This
would be done using the smartuser director to pass addresses
directly to this transport, and then setting -ignore_status, +sta‐
tus_to_sender, and +log_output to send a more detailed error mes‐
sage to the sender, possibly giving details of close matches for
the incorrect mailboxes(s).
umask
type: number
file creation mask for the child process.
user
type: string
The name of the user to set-user-ID to within the child process.
Also sets the group ID if the group attribute is not set using the
default group-ID of the specified user. Useful only if the mailer
is running as root.
The environment of the child process is entirely initialised and loaded
with variables which may be useful in shell scripts or intelligent mail
processing programs. Exactly one environment variable is passed
through from the environment handed to smail: the TZ variable defining
the time zone. The following portion of the environment is independent
of the recipient addresses:
BASENAME
the basename for the spool file
GRADE the grade character
MESSAGE_ID
the message-ID as assigned by smail
PATH command search path, usually just ``/bin:/usr/bin''
PRIMARY_NAME
the official name for the host
SENDER the sender address
SHELL system shell, usually ``/bin/sh''
SPOOL_FILE
the full pathname for the spool file
UUCP_NAME
the name for this host on the uucp network
VISIBLE_NAME
the name for the host used in addresses
The rest of the environment is loaded from the appropriate
internal data structure associated with each address, which
will be either that of resolved address or that of its parent
address, depending in the value of the parent_env attribute:
ADDR The mailbox name (local part) of the recipient address (or one
of the recipient addresses, if more than one is given to the
transport for a given message).
DESTMBOX
The remainder part of the address from the parent address.
Only provided if parent_env is not set, and of course if there
is a parent address.
HOME The home directory (or one of home directories, if more than
one recipient address is given to the driver). If no home
directory is associated with an address, ``/'' is used.
HOST The recipient hostname (or one of the recipient hosts, if more
than one host is given to the driver).
MBOX_PREFIX
If the director which resolved this address used the user
driver and if it had a prefix attribute then the matching pre‐
fix string which was stripped from the mailbox name will be
provided in this variable's value. This is the same value that
is available by expanding the $user_prefix variable in the cmd
string.
MBOX_SUFFIX
If the director which resolved this address used the user
driver and if it had a suffix attribute then the matching suf‐
fix string which was stripped from the mailbox name will be
provided in this variable's value. This is the same value that
is available by expanding the $user_suffix variable in the cmd
string.
USER
LOGNAME These two variables are loaded with the name of a user on the
local host, if one is found with some association to the
address.
Examples of the use of the pipe driver are:
# transport used for delivery to shell-command addresses
pipe:
from,
local,
return_path,
unix_from_hack,
driver=pipe;
cmd="/bin/sh -c $user",
# if the system supports #! interpreter file execution
# the cmd above could be given as just:
#cmd="$user",
pipe_as_user,
-ignore_status,
-ignore_write_errors,
parent_env,
log_output,
# delivery to a remote rmail(8) program using uux(1)
# Note quoting of $user with parens as well as use of $( and $)
uux:
max_addrs=5,
max_chars=200,
from, received,
driver=pipe;
cmd="/usr/bin/uux - -r -g$grade $host!rmail $((${strip:user})$)",
# see ``String expansion'' above
pipe_as_sender,
The Appendfile Driver
The appendfile driver creates or appends to files. It can either write
to a filename derived from the recipient address, or it write a unique
file into a directory. This latter capability can be used to implement
a primitive output queue for some purposes.
The driver-specific attributes are:
append_as_user
type: boolean
Get the UID and, perhaps, the GID from the user-ID and group-ID
associated with the address. For example, the user associated with
a forward file might be used. This attribute is on by default.
check_user
type: boolean
Reject an address if the $user variable would contain a `/'. This
prevents a $user expansion from accessing a different directory.
dir type: string
Defines a directory in which to write unique files. Files written
to this directory always begin with the letter `q', while temporary
files used in the creation process begin with ``temp''. This
string is expanded similarly to the file attribute. It is a con‐
figuration error for any string expansion to fail.
expand_user
type: boolean
If set the value for $user value is string expanded before the
value for the file or dir attribute is expanded. This is useful if
a local-form address may require `~' or `$' expansions.
file
type: string
Defines a file to append messages to. This string is expanded, and
the variables $user and $host are set from the recipient address.
It is a configuration error for this string expansion to fail.
group
type: string
become this group. Similar to the user attribute.
mode
type: number
When creating a file use this access mode. The default is 0666.
notify_comsat
type: boolean
Notify the COMSAT daemon of the message delivery, so that users can
be notified that they received mail. This has no effect if your
system does not support the COMSAT daemon. This should be used for
delivery to user mailbox files.
prefix
type: string
This prefix is inserted in the file before the message. This string
is expanded, with $user and $host being available from the recipi‐
ent address. It is a configuration error for this string expansion
to fail.
suffix
type: string
This suffix is appended to the file after the message. This string
is expanded, with $user and $host being available from the recipi‐
ent address. It is a configuration error for this string expansion
to fail.
user
type: string
This become this user (effectively at least) when opening or creat‐
ing the file. Access permissions are checked relative to this
user, and the user will own the file if it did not previously
exist.
To better understand the use of some of these attributes, consider the
transport file entry:
file:
driver=appendfile,
from,
return_path,
local;
file=$user,
suffix="\n",
expand_user,
append_as_user,
mode=0664
This transport will be called when a file address is produced by a
director. Such addresses should be expanded, because they may require
`~' expansions. Also, to keep standard many user agents happy, an
extra newline is inserted after each message. The append_as_user
attribute is set to ensure that addresses produced from, say, a forward
file are only created or appended to if the associated user has permis‐
sions to do so.
When given an address of ``~/Incoming,'' with an associated home direc‐
tory of ``/u/joe-user'' and an associated user of ``joe-user'', the
following steps occur:
1. The $user variable is expanded to ``/u/joeuser/Incoming.''
2. The file attribute is also expanded to ``/u/joeuser/Incoming.''
3. The directories ``/'', ``/u'' and ``/u/joe-user'' are all checked
for accessibility by the user ``joe-user''. If any of these is not
searchable by that user, then delivery fails.
4. The file ``/u/joe-user/Incoming'' is opened for append access. If
it does not exist, it is created, will be owned by ``joe-user'' and
will have mode 0664. Creation will of course fail if ``joe-user''
cannot write the directory.
5. The message is written with a local-form ``From<space>'' line.
6. An extra newline is appended to the file, after the message.
NOTE: Smail will follow the local conventions on locking protocols for
mailbox files, which may involve creating a ``.lock'' file or using a
file lock system call, such as lockf(3) or lock(2).
Next, lets examine:
local:
driver=appendfile,
local,
from,
return_path;
file=/var/mail/$user,
append_as_user,
check_user,
mode=0600,
notify_comsat
In this example, the $user value is not expanded before expanding the
file attribute. Also, just to make sure, $user is verified to not con‐
tain a `/'. Given an input address of ``jane-doe,'' associated with
the user ``jane-doe'', mail will be appended to the file
``/var/mail/jane-doe''. If it did not previously exist, it will be
owned by ``jane-doe'' and will have a mode of 0600.
The TCPSMTP Driver
Support exists in smail for delivery using SMTP over TCP/IP, for sys‐
tems that have BSD compatible networking.
The smtp driver can be used for delivery of any number of addresses to
one remote host, where the remote host can be specified either in form
of a hostname known by the networking software or by an internet number
in square brackets, such as ``[192.0.2.142]''. For example, the rout‐
ing drivers gethostbyaddr and gethostbyname are suitable for matching
addresses to be delivered using the SMTP driver.
The attributes for the tcpsmtp driver are:
short_timeout
type: interval
This defines the response timeout for operations that are assumed
to be short, such as protocol startup and protocol exit. This can
use suffix letters of `s', `m', `h', and `d' to mean seconds, min‐
utes, hours or days, with no suffix signifying seconds. Times can
be added through direct concatenation. For example, the value
`5m30s' signifies 5 minutes and 30 seconds. The default value is 5
minutes.
long_timeout
type: interval
This defines the response timeout for long operations, i.e., those
that might require processing on the remote end. Suffix letters
can be used in the same manner as with short_timeout. The default
value is 5 hours.
service
type: string_or_number
This attribute identifies a TCP/IP port number, either directly as
a number, or as a name to be searched for in the /etc/services
file. This port number will be used in connecting to the remote
host. The default is ``smtp''.
use_bind
type: boolean
Use DNS name resolution, if supported, to locate and use MX and A
records associated with the target and MX hosts. Without this
option, the gethostbyname(3n) function is used to locate the
address to use for delivery. If the target host was matched with
the bind router driver, then MX and A records found by the bind
router will be used independent of the use_bind attribute.
If use_bind is specified, the defer_no_connect, local_mx_okay, def‐
names, ignore_domains, domain_required, and mx_only attributes con‐
trol the behaviour of the tcpsmtp transport's use of DNS resolu‐
tion. See the documentation for the bind router in smailrtrs(5)
for an explanation of these attributes.
The tcpsmtp driver attempts to connect immediately and deliver a single
message. If access to the remote host is currently not possible, the
driver will tell smail that delivery should be attempted at a later
time.
An example of the use of the tcpsmtp driver is the entry:
# deliver using SMTP over TCP/IP to the remote host
tcpsmtp:
-max_chars,
-max_addrs,
driver=smtp
If your site is on the Internet and gateways from the UUCP zone, it may
be reasonable to set the strict attribute. Otherwise, this is probably
not a good idea.
If the local attribute is set (see the generic transport attributes),
then mail will be transmitted in a form that contains little reference
to the transmitting host.
This can be used within a local network to make all mail transmitted
within the network look like local mail (i.e., local addresses will not
be qualified with the domain name). This is often convenient in envi‐
ronments that use a central host for processing all mailing lists and
user addresses, but where mail can originate and be delivered anywhere
in the network, and where user names are consistent throughout the net‐
work.
When mail is transmitted outside of the local network, a tcpsmtp trans‐
port with the local attribute turned off will qualify any mail sent
from anywhere inside the network.
The SMTP transport is also affected by the inet and uucp generic trans‐
port attributes. If inet is set, then sender and recipient addresses
transmitted in the protocol envelope will strictly conform to the RFC
821 and RFC 1123 protocol specifications. However, route-addr
addresses may be generated, despite the recommendations of RFC 1123
against such practice. Note that networks connected completely by
domain name servers will not result in generation of route-addr
addresses, although they will be honoured if received.
If the uucp transport attribute is set, then sender and recipient
addresses will conform to the envelope specifications of RFC 976, and
will thus use !-style routes. Addresses transmitted to the remote host
will consist only of ! and % operators. % operators will never be gen‐
erated, but may be included if they were present in the original sender
or recipient addresses.
If neither the uucp nor the inet attributes are specified, then an
intermediate form will be used that nearly eliminates route-addr
addresses. This form uses RFC 976 !-style addresses when routing is
necessary, but otherwise stays within the formal SMTP specification.
The tcpsmtp driver always sets the crlf and dots transport attributes.
DEFAULT CONFIGURATION
NOTE: A transports file, unlike routers and directors files, does not
replace all compiled-in transport definitions. Rather, entries in the
transports file override existing entries of the same name, or add new
entries. Thus, if you wish to add or replace transport definitions,
you need only create a transports file containing the new definition,
and you do not need to duplicate all of the compiled-in entries.
The default internal transports configuration can be viewed by typing
smail -oT /no-such-file -v -bP TRANSPORTS
The default transport configuration defines:
local deliver mail to local users. Usually, delivery is accomplished
by writing directly to user mailbox files (either in /usr/mail,
/usr/spool/mail, or in /var/mail). Alternately, mail may be
delivered by calling a program, such as /bin/mail, /bin/lmail,
or /usr/libexec/mail.local to perform delivery using system-
dependent conventions.
pipe deliver mail to shell command addresses. Shell command
addresses begin with a pipe character (`|'). The pipe character
is stripped from the address and the remainder of the address is
passed as a command to /bin/sh. Shell-command addresses can be
generated by mailing lists or forwarding files, but cannot be
specified as input to smail.
file deliver mail to file addresses. File addresses begin with a `/'
or `~' character. If a file address begins with the `~' charac‐
ter followed by the name of a local user, then the `~' and user‐
name is replaced by the user's home directory. If a file
address begins with ``~/'', then the ``~/'' sequence is replaced
by a home directory that is appropriate to the context of the
address. Normally ``~/'' is used within the context of
addresses specified in a user's ~/.forward file.
uux invoke uux to deliver mail to a remote rmail program. The
``-r'' option is given to uux to prevent an immediate poll.
demand this is similar to the uux transport, except that the ``-r'' is
not supplied. This will request that UUCP attempt to poll the
remote site immediately.
uusmtp
demand_uusmtp
invoke uux to deliver mail to a remote rsmtp program (supplied
in the Smail distribution).
The transmitted message will be encapsulated in an envelope of
SMTP directives, with addresses passed in through the SMTP enve‐
lope rather than in the argument list to uux. This works better
than the standard ``rmail'' protocol, because quoted addresses
can pass through unscathed, and because no limits are given on
the number of addresses that can be given in a single transfer.
This last point can significantly reduce the number of UUCP
transfers needed for large mailing lists, since the normal
method of using rmail is limited by uux's internal limit of
(usually) 300 characters of worth of arguments.
Note that the uusmtp transports are not likely to be useful
unless both the receiving host also uses Smail-3.
The uusmtp transport passes the ``-r'' option to uux, while the
demand_uusmtp transport does not.
Also, the uucp generic transport attribute is used by uusmtp and
demand_uusmtp to transfer addresses in accordance with the RFC
976 specification. This violates the RFC821 and RFC1123 speci‐
fications, but is none-the-less useful between sites operating
in the UUCP zone.
inet_uusmtp
inet_demand_uusmtp
These transports are identical to the uusmtp and demand_uusmtp
transports, except that the inet transport attribute is enabled,
and the uucp attribute is disabled. This causes mail addresses
to be transferred in accordance with the SMTP specifications.
If routing is required to reach a destination, then route-addr
addresses are generated (e.g., <@host1,@host2:user@destina‐
tion>).
smtp
uucp_zone_smtp
inet_zone_smtp
deliver mail to a remote host by using the SMTP protocol over a
TCP/IP connection. If used in conjunction with the bind router,
MX records will be handled in accordance with RFC 974 and RFC
1123.
The uucp_zone_smtp transport has the uucp transport attribute
set, causing transferred addresses to use !-style addresses, as
specified in RFC 976. This can often be useful when using SMTP
within the UUCP zone, but is otherwise inappropriate.
The inet_zone_smtp transport has the inet transport attribute
set, causing transferred addresses to conform to the RFC 821 and
RFC 1123 specifications for SMTP. This is necessary for correct
operation with arbitrary nodes on the Internet. Both the
uucp_zone_smtp and inet_zone_smtp transports will handle gener‐
ated routes (from paths files) correctly between nodes running
Smail-3. The inet_zone_smtp transport will use route-addr
addresses for routing despite RFC 1123's recommendations against
such a practice. However, generated routes should never be nec‐
essary on the Internet with fully connected DNS and proper MX
records.
The smtp transport is identical to either the uucp_zone_smtp
transport or the inet_zone_smtp transport, depending upon local
configuration information specified when the smail program is
compiled, namely the setting of the ``UUCP_ZONE'' attribute in
the conf/EDITME file.
FILES
/etc/smail/transports
Optional configuration for smail transports; i.e., configured meth‐
ods of mail delivery. This file replaces the compiled-in transport
configuration.
/var/log/smail/logfile
A log of smail transactions.
/var/log/smail/paniclog
A log of configuration or system errors encountered by smail.
SEE ALSOsmail(5). smailconf(5), smaildrct(5), smailmeth(5), smailqual(5),
smailrtrs(5), smailrtry(5), smail(8). Smail Administration and Instal‐
lation Guide. DARPA Internet Requests for Comments RFC 821, RFC 822,
RFC 974, RFC 976, and RFC 1123.
BUGS
Colons cannot be included in the value of a list element.
Database files cannot contain ``#'' in the left-hand field.
COPYRIGHT
Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll Copyright
(C) 1992 Ronald S. Karr
See a file COPYING, distributed with the source code, or type smail
-bc, to view distribution rights and restrictions associated with this
software.
Smail-3 RELEASE-3_2_0_115 SMAILTRNS(5)