home *** CD-ROM | disk | FTP | other *** search
- # @(#)samples/generic/transports 1.11 9/6/92 04:41:55
-
- # This file defines the configuration of the transport subsystem as
- # compiled into the smail binary. By modifying the source files
- # conf/EDITME, src/config.h or src/default.c the actual internal
- # configuration can be changed. Thus, this should be matched up
- # against thes files before assuming this is completely correct.
- #
- # If a run-time transports file is created, then its entries will
- # complement or replace the compiled-in transport entries. Thus,
- # contrary to use of the routers and directors files, you do not need
- # to copy and localize this file in order to add new transports.
- #
- #
- # IMPORTANT FOR INTERNET USERS
- #
- # The smtp, uucp_zone_smtp, inet_zone_smtp, and local_smtp transports
- # should be configured to use the DNS for finding MX and A records,
- # if the host was not resolved by the bind version of the inet_hosts
- # router. To configure this, uncomment the use_bind attributes on
- # the various tcpsmtp-based transport definitions.
- #
- #
- # IMPORTANT FOR SCO UNIX SYSTEMS
- #
- # Recent SCO UNIX systems use the MMDF file format. If you wish to
- # have smail generate this format, then comment out the unix_from_hack
- # and the first suffix lines, in the "local" and "file" transports,
- # and uncomment all lines that are commented with "MMDF mailbox format".
- #
- #
- # IMPORTANT FOR SYSTEM V RELEASE 4 USERS
- #
- # The SVR4 mailx expects to find Content-Length header fields on
- # messages. If such a header is not found (or if a remote site
- # supplies an incorrect Content-Length header), then mailx may split
- # your mailbox file into messages at inappropriate boundaries. To
- # add a Content-Length field to messages appended to your mailbox
- # files, and sent to shell-command or file addresses, uncomment all
- # attributes that are indicated with "SVR4 mailbox format". This
- # will also ensure that you have a "Content-Type" field, defaulting
- # the content type to "text".
- #
- # You will likely also wish to uncomment unix_from_hack from the
- # local, pipe, and file transports, since prepending > to lines
- # starting with From is not necessary with this the SVR4 mailbox
- # format. You can also comment out the suffix="\n" lines in the
- # local, and file transports, since a blank line is not required
- # between messages for the SVR4 mailbox format.
- #
- #
- # IMPORTANT FOR USE WITH HoneyDanBer UUCP
- #
- # Systems with HoneyDanBer UUCP (for example, System V Release 4)
- # can invoke uux with -a$sender -g$grade to cause UUCP errors to
- # be mailed to the message sender, and to alter UUCP queue priorities
- # based on Precedence header fields. For SVR4, you should add the
- # following to your /etc/uucp/Grades file:
- #
- # 9 9 Any User Any
- # A A Any User Any
- # C C Any User Any
- # a a Any User Any
- # n n Any User Any
- #
- # This is because the SVR4 HDB UUCP uses long message grade names
- # on the uux command line, which are not supported by Smail.
- #
- #
- # HANDLING TRANSIENT UUCP FAILURES
- #
- # Many systems seem to get failures from uux from time to time. I
- # guess this is load related. Smail normally returns bounce messages
- # in such situations. However, generating a bounce message can be
- # annoying if the failures are truly transient.
- #
- # The only way to handle this, if you encounter this often, is to
- # make sure that your UUCP configuration doesn't have any conflicts
- # with your smail configuration (which implies that uux should never
- # fail for configuration-related errors). Then, uncomment the
- # defer_child_errors attribute in the various uux-based transports
- # defined in this file. This will cause smail to retry (at a later
- # time) any failures encountered by executing uux.
-
-
- # local - deliver mail to local users
- #
- # By default, smail will append directly to user mailbox files.
- #
- # IMPORTANT FOR SYSTEM V AND SCO USERS
- #
- # comment out the mode=0600 line below, and uncomment the mode=0660
- # line, to get the correct mailbox file permissions for your system.
- local: driver=appendfile, # append message to a file
- return_path, # include a Return-Path: field
- from, # supply a From_ envelope line
- unix_from_hack, # insert > before From in body
- # comment out the above line for
- # MMDF mailbox format and for
- # use with the Content-Length
- # header fields.
- # SVR4 mailbox format: uncomment the below 3 lines
- # remove_header="Content-Length",
- # append_header="${if !header:Content-Type :Content-Type: text}",
- # append_header="Content-Length: $body_size",
- local; # use local forms for delivery
-
- file=/usr/spool/mail/${lc:user}, # location of mailbox files
- # file=/usr/mail/${lc:user}, # use this location for System V
- # group=mail, # group to own file for System V
- mode=0600, # For BSD: only the user can
- # read and write file
- # mode=0660, # under System V, group mail can access
- # use this for SCO UNIX, as well
- suffix="\n", # append an extra newline
- # comment out the above line for
- # MMDF mailbox format and for
- # use with the Content-Length
- # header fields.
- notify_comsat, # notify comsat daemon of delivery
- # suffix="\1\1\1\1\n", # MMDF mailbox format
- # prefix="\1\1\1\1\n", # MMDF mailbox format
-
- # local - an alternate local transport that calls on /bin/lmail
- #
- # Some systems have special local conventions for mail delivery that
- # smail does not understand. Such conventions may include adding
- # special headers, or may include particular locking conventions. For
- # such systems, smail can use a system-provided program for delivery
- # to user mailbox files. On most systems, the /bin/mail program will
- # perform mail delivery according to local conventions. However,
- # smail will often require that /bin/mail be replaced with a program
- # that calls out to smail to perform delivery. By convention, the
- # original /bin/mail program should be saved to /bin/lmail.
- #
- # It may be necessary to modify this entry to operate within your
- # local conventions.
- #
- # NOTE: If you wish to use this alternate local entry, you must
- # comment out the regular local transport entry, and uncomment the
- # entry below.
- #local: driver=pipe, # call out to a program
- # return_path, # include a Return-Path: field
- # local, # use local forms for delivery
- # from, # supply a From_ envelope line
- # -max_addrs; # give multiple addresses to command
- #
- # cmd="/bin/lmail $($user$)"
-
- # pipe - deliver mail to shell commands
- #
- # This is used implicitly when smail encounters addresses which begin with
- # a vertical bar character, such as "|/usr/lib/news/recnews talk.bizarre".
- # The vertical bar is removed from the address before being given to the
- # transport.
- pipe: driver=pipe, # pipe message to another program
- return_path, # include a Return-Path: field
- from, # supply a From_ envelope line
- unix_from_hack, # insert > before From in body
- # comment out the above line for
- # use with the Content-Length
- # header fields.
- # SVR4 mailbox format: uncomment the below 3 lines
- # remove_header="Content-Length",
- # append_header="${if !header:Content-Type :Content-Type: text}",
- # append_header="Content-Length: $body_size",
- local; # use local forms for delivery
-
- cmd="/bin/sh -c $user", # send address to the Bourne Shell
- parent_env, # environment info from parent addr
- pipe_as_user, # use user-id associated with address
- ignore_status, # ignore a non-zero exit status
- ignore_write_errors, # ignore write errors, i.e., broken pipe
- umask=0022, # umask for child process
- -log_output, # do not log stdout/stderr
-
- # file - deliver mail to files
- #
- # This is used implicitly when smail encounters addresses which begin with
- # a slash or squiggle character, such as "/usr/info/list_messages" or
- # perhaps "~/Mail/inbox".
- file: driver=appendfile,
- return_path, # include a Return-Path: field
- from, # supply a From_ envelope line
- unix_from_hack, # insert > before From in body
- # comment out the above line for
- # MMDF mailbox format and for
- # use with the Content-Length
- # header fields.
- # SVR4 mailbox format: uncomment the below 3 lines
- # remove_header="Content-Length",
- # append_header="${if !header:Content-Type :Content-Type: text}",
- # append_header="Content-Length: $body_size",
- local; # use local forms for delivery
-
- file=$user, # file is taken from address
- append_as_user, # use user-id associated with address
- expand_user, # expand ~ and $ within address
- suffix="\n", # append an extra newline
- # comment out the above line for
- # MMDF mailbox format and for
- # use with the Content-Length
- # header fields.
- mode=0644, # you may wish to change this
- # mode, depending upon local
- # conventions and preferences
- # suffix="\1\1\1\1\n", # MMDF mailbox format
- # prefix="\1\1\1\1\n", # MMDF mailbox format
-
- # uux - deliver to the rmail program on a remote UUCP site
- #
- # HDB UUCP users should comment out the first cmd= line below, and
- # uncomment the second.
- uux: driver=pipe,
- uucp, # use UUCP-style addressing forms
- from, # supply a From_ envelope line
- max_addrs=5, # at most 5 addresses per invocation
- # max_addrs=1, # use this if some of your neighbors
- # # can't handle multiple addresses
- # # given to their rmail. You might,
- # # alternately, want to configure
- # # a uux_one_addr transport that
- # # does this.
- max_chars=200; # at most 200 chars of addresses
-
- # the -r flag prevents immediate delivery, parentheses around the
- # $user variable prevent special interpretation by uux.
- cmd="/usr/bin/uux - -r $host!rmail $(($user)$)",
- #cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rmail $(($user)$)",
- pipe_as_sender, # have uucp logs contain caller
- log_output, # save error output for bounce messages
- # defer_child_errors, # retry if uux returns an error
-
- # demand - deliver to a remote rmail program, polling immediately
- #
- # HDB UUCP users should comment out the first cmd= line below, and
- # uncomment the second.
- demand: driver=pipe,
- uucp, # use UUCP-style addressing forms
- from, # supply a From_ envelope line
- max_addrs=5, # at most 5 addresses per invocation
- # max_addrs=1, # use this if some of your neighbors
- # # can't handle multiple addresses
- # # given to their rmail. You might,
- # # alternately, want to configure
- # # a demand_one_addr transport that
- # # does this.
- max_chars=200; # at most 200 chars of addresses
-
- # with no -r flag, try to contact remote site immediately
- cmd="/usr/bin/uux - $host!rmail $(($user)$)",
- #cmd="/usr/bin/uux - -a$sender -g$grade $host!rmail $(($user)$)",
- pipe_as_sender, # have uucp logs contain caller
- log_output, # save error output for bounce messages
- # defer_child_errors, # retry if uux returns an error
-
- # uusmtp - deliver to the rsmtp program on a remote UUCP site
- #
- # The rsmtp program is assumed to to take batched SMTP requests.
- #
- # HDB UUCP users should comment out the first cmd= line below, and
- # uncomment the second.
- uusmtp: driver=pipe,
- uucp, # use !-style addresses for routing
- bsmtp, # send batched SMTP commands
- -max_addrs, -max_chars; # no limit on number of addresses
-
- # supply -r to prevent immedate delivery, the recipient addresses
- # are stored in the data sent to the standard input of rsmtp.
- cmd="/usr/bin/uux - -r $host!rsmtp",
- #cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rsmtp",
- pipe_as_sender, # have uucp logs contain caller
- log_output, # save error output for bounce messages
- # defer_child_errors, # retry if uux returns an error
-
- # demand_uusmtp - deliver to a remote rsmtp program, polling immediately
- #
- # HDB UUCP users should comment out the first cmd= line below, and
- # uncomment the second.
- demand_uusmtp:
- driver=pipe,
- uucp, # use !-style addresses for routing
- bsmtp, # send batched SMTP commands
- -max_addrs, -max_chars; # no limit on number of addresses
-
- # with no -r flag, try to contact remote site immediately
- cmd="/usr/bin/uux - $host!rsmtp",
- #cmd="/usr/bin/uux - -a$sender -g$grade $host!rsmtp",
- pipe_as_sender, # have uucp logs contain caller
- log_output, # save error output for bounce messages
- # defer_child_errors, # retry if uux returns an error
-
- # inet_uusmtp, inet_demand_uusmtp - batched SMTP conforming to specification
- #
- # These transports specify that transmitted addresses will conform to
- # the SMTP specification. If a route is needed to deliver to a
- # specified host, then route-addr addresses (@host1,@host2:user@destination)
- # will be used. This violates recommendations of RFC1123, but routes
- # are not generally required in networks where RFC1123 recommendations
- # fully apply.
- #
- # HDB UUCP users should comment out the first cmd= line below, and
- # uncomment the second.
- inet_uusmtp:
- driver=pipe,
- inet, # use route-addr addresses for routing
- bsmtp, # send batched SMTP commands
- -max_addrs, -max_chars; # no limit on number of addresses
-
- # supply -r to prevent immedate delivery, the recipient addresses
- # are stored in the data sent to the standard input of rsmtp.
- cmd="/usr/bin/uux - -r $host!rsmtp",
- #cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rsmtp",
- pipe_as_sender, # have uucp logs contain caller
- log_output, # save error output for bounce messages
- # defer_child_errors, # retry if uux returns an error
-
- # HDB UUCP users should comment out the first cmd= line below, and
- # uncomment the second.
- inet_demand_uusmtp:
- driver=pipe,
- inet, # use route-addr addresses for routing
- bsmtp, # send batched SMTP commands
- -max_addrs, -max_chars; # no limit on number of addresses
-
- # with no -r flag, try to contact remote site immediately
- cmd="/usr/bin/uux - $host!rsmtp",
- #cmd="/usr/bin/uux - -a$sender -g$grade $host!rsmtp",
- pipe_as_sender, # have uucp logs contain caller
- log_output, # save error output for bounce messages
- # defer_child_errors, # retry if uux returns an error
-
- # smtp - deliver using SMTP over TCP/IP
- #
- # The below four drivers are configured in only if your system supports
- # BSD socket networking.
- #
- # Connect to a remote host using TCP/IP and initiate an SMTP conversation
- # to deliver the message. The smtp transport is included only if BSD
- # networking exists.
- #
- # The uucp attribute can be specified for transfers within the UUCP
- # zone. The inet attribute must be specified for transfers within the
- # Internet.
- #
- # NOTE: This is hardly optimal, a backend should exist which can handle
- # multiple messages per connection.
- #
- # ALSO: It may be necessary to restrict max_addrs to 100, as this is the
- # lower limit SMTP requires an implementation to handle for one
- # message.
- smtp: driver=tcpsmtp,
- inet, # if UUCP_ZONE is not defined
- #uucp, # if UUCP_ZONE is defined
- -max_addrs, -max_chars; # no limit on number of addresses
-
- short_timeout=5m, # timeout for short operations
- long_timeout=2h, # timeout for longer SMTP operations
- service=smtp, # connect to this service port
- # For internet use: uncomment the below 4 lines
- # use_bind, # resolve MX and multiple A records
- # defnames, # use standard domain searching
- # defer_no_connect, # try again if the nameserver is down
- # -local_mx_okay, # fail an MX to the local host
-
- uucp_zone_smtp:
- driver=tcpsmtp,
- uucp, # use !-style addresses for routing
- -max_addrs, -max_chars; # no limit on number of addresses
-
- short_timeout=5m, # timeout for short operations
- long_timeout=2h, # timeout for longer SMTP operations
- service=smtp, # connect to this service port
- # For internet use: uncomment the below 4 lines
- # use_bind, # resolve MX and multiple A records
- # defnames, # use standard domain searching
- # defer_no_connect, # try again if the nameserver is down
- # -local_mx_okay, # fail an MX to the local host
-
- inet_zone_smtp:
- driver=tcpsmtp,
- inet, # use route-addr addresses for routing
- -max_addrs, -max_chars; # no limit on number of addresses
-
- short_timeout=5m, # timeout for short operations
- long_timeout=2h, # timeout for longer SMTP operations
- service=smtp, # connect to this service port
- # For internet use: uncomment the below 4 lines
- # use_bind, # resolve MX and multiple A records
- # defnames, # use standard domain searching
- # defer_no_connect, # try again if the nameserver is down
- # -local_mx_okay, # fail an MX to the local host
-
- local_smtp:
- driver=tcpsmtp,
- local_xform, # transfer using local formats
- -max_addrs, -max_chars; # no limit on number of addresses
-
- short_timeout=5m, # timeout for short operations
- long_timeout=2h, # timeout for longer SMTP operations
- service=smtp, # connect to this service port
- # For internet use: uncomment the below 4 lines
- # use_bind, # resolve MX and multiple A records
- # defnames, # use standard domain searching
- # defer_no_connect, # try again if the nameserver is down
- # -local_mx_okay, # fail an MX to the local host
-
- # local_* - local forms for all of the remote transport entries
- #
- # Local format transports are useful when transferring mail messsages
- # within coordinated networks that all run Smail3.1. When the local
- # attribute is enabled for a transport that delivers messages to a
- # remote machine, any local addresses in the header or envelope of the
- # message are left as local-format addresses, and the sender is left
- # as a local login name.
- #
- # This convention for message tranfers allows local networks to be
- # hidden by the common mail users and by users external to the
- # network. Messages transferred to remote nodes in the network will
- # appear as though they originated on the receiving node. Messages
- # that eventually leave the network (and are thus delivered by a
- # transport that does not have the local attribute set) will be
- # transformed into remote-format messages, with qualified domain names
- # for all local-format addresses.
- #
- # This can be very convenient for networks that have a central mail
- # processor that handles all mailing lists and forwarding for the
- # network, and where user names are kept coordinated throughout the
- # network.
- #
- # HDB UUCP users should comment out the first cmd= line below, and
- # uncomment the second.
- local_uux:
- driver=pipe,
- local_xform, # transfer using local message format
- uucp, # use uucp-conformant addresses
- from, # supply a From_ envelope line
- max_addrs=5, # at most 5 addresses per invocation
- max_chars=200; # at most 200 chars of addresses
-
- # the -r flag prevents immediate delivery, parentheses around the
- # $user variable prevent special interpretation by uux.
- cmd="/usr/bin/uux - -r $host!rmail $(($user)$)",
- #cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rmail $(($user)$)",
- pipe_as_sender, # have uucp logs contain caller
- log_output, # save error output for bounce messages
- # defer_child_errors, # retry if uux returns an error
-
- # HDB UUCP users should comment out the first cmd= line below, and
- # uncomment the second.
- local_demand:
- driver=pipe,
- local_xform, # transfer using local formats
- uucp, # use uucp-conformant addresses
- from, # supply a From_ envelope line
- max_addrs=5, # at most 5 addresses per invocation
- max_chars=200; # at most 200 chars of addresses
-
- # with no -r flag, try to contact remote site immediately
- cmd="/usr/bin/uux - $host!rmail $(($user)$)",
- #cmd="/usr/bin/uux - -a$sender -g$grade $host!rmail $(($user)$)",
- pipe_as_sender, # have uucp logs contain caller
- log_output, # save error output for bounce messages
- # defer_child_errors, # retry if uux returns an error
-
- # HDB UUCP users should comment out the first cmd= line below, and
- # uncomment the second.
- local_uusmtp:
- driver=pipe,
- local_xform, # transfer using local formats
- bsmtp, # send batched SMTP commands
- -max_addrs, -max_chars; # no limit on number of addresses
-
- # supply -r to prevent immedate delivery, the recipient addresses
- # are stored in the data sent to the standard input of rsmtp.
- cmd="/usr/bin/uux - -r $host!rsmtp",
- #cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rsmtp",
- pipe_as_sender, # have uucp logs contain caller
- log_output, # save error output for bounce messages
- # defer_child_errors, # retry if uux returns an error
-
- # HDB UUCP users should comment out the first cmd= line below, and
- # uncomment the second.
- local_demand_uusmtp:
- driver=pipe,
- local_xform, # transfer using local formats
- bsmtp, # send batched SMTP commands
- -max_addrs, -max_chars; # no limit on number of addresses
-
- # with no -r flag, try to contact remote site immediately
- cmd="/usr/bin/uux - $host!rsmtp",
- #cmd="/usr/bin/uux - -a$sender -g$grade $host!rsmtp",
- pipe_as_sender, # have uucp logs contain caller
- log_output, # save error output for bounce messages
- # defer_child_errors, # retry if uux returns an error
-