home *** CD-ROM | disk | FTP | other *** search
- .TL
- Sendmail Configuration Package UK-2.1
- .sp
- Overview
- .AU
- Jim Crammond
- .AI
- Dept. of Computing,
- Imperial College, London, England
- .AU
- Jem Taylor
- .AI
- Dept. of Computing Science,
- University of Glasgow, Glasgow, Scotland
- .DA 27 November 1988
- .AB
- .SM
- UK-2.1
- .NL
- Sendmail
- is a sendmail.cf generator for the
- .I /usr/lib/sendmail
- mail router used on BSD derived
- .SM
- UNIX
- .NL
- Systems. This version combines some
- ideas which were tested in
- .SM
- UK-1.5
- .NL
- with several new features, including
- support for
- .SM
- IDA
- .NL
- databases and support for Internet hosts. The base is
- the hugely successful
- .SM
- UK-1.4
- .NL
- package. This release brings the two development
- lines together and will be
- .I the
- definitive sendmail.cf compiler.
- .AE
- .LP
- .NH
- Overview
- .LP
- This package provides you with tools to generate a fully domain based
- sendmail configuration file from domain and channel tables in a format
- similar to that used by
- .SM
- MMDF.
- .NL
- .LP
- The configuration is essentially comprised of three parts: the domain tables,
- the channel tables and the mailer specifications. The diagram below
- shows how all three pieces fit together.
- .DS C
- .KF
- |
- incoming addresses
- |
- [domain tables]
- |
- fully qualified domain addresses
- |\bV
- +--------------------+
- [channel tables] [mailer specs]
- | |
- mailer,host,transport addresses header addresses
-
- .DE
- .KE
- .LP
- The domain tables convert addresses given to sendmail into fully qualified
- domain addresses; these are then passed to the channel tables which select
- the <network, host, transport address> triple required for message delivery.
- .LP
- The domain addresses are then passed to the mailer specifications where
- they are converted to a form suitable for the mail headers for that
- particular network.
- .LP
- Anyone who has read the Sendmail Implementation Guide should recognise
- the similarity between this and the rulesets diagram. Basically, the
- domain tables correspond to ruleset 3, the channel tables to ruleset 0
- and the mailer specifications to the mailer specific rulesets.
- .LP
- This manual will hopefully explain how to build these pieces and thus
- generate a configuration file.
- .LP
- The package also contains a number of support programs including "better"
- uucp/sendmail interface programs and a mail authorisation program.
- .NH
- Addresses
- .LP
- A key feature of UK-sendmail is that it does NOT perform routing based
- on address syntax. All addresses are converted into a single internal
- form and then routing is performed on the domain information.
- Addresses are then converted into a form suitable for the appropriate
- output channel (mailer). Addresses are accepted in any of the standard forms:
- .RS 5
- .IP RFC822 10
- @domain1,@domain2:user@domain3
- .IP Percent
- user%domain3%domain2@domain1
- .IP UUCP
- domain1!domain2!domain3!user
- .IP DECNET
- domain1::domain2::domain3::user
- .RE
- .LP
- If the "nrsformat" option is defined, then the GreyBook big-endian domain name
- ordering is also understood (e.g. uk.ac.hw.cs as well as cs.hw.ac.uk).
- .LP
- Mixed addresses are handled by using the precedence order '@' > '%' > '!' = '::'
- .IP e.g.
- domc!user%domb@doma => user%domc%domb@doma <=> doma!domb!domc!user
- .NH
- Mailers
- .LP
- The following mailer channels are supported\**:
- .RS 5
- .IP local 10
- the standard unix local mailer
- .IP ether
- mail over the ethernet using
- .SM
- SMTP/TCP
- .NL
- .IP tcp
- mail over the Internet using
- .SM
- SMTP/TCP
- .NL
- .IP uucp
- uucp mail, using muucp or uux
- .IP janet
- janet mail, using hhcp or unix-niftp
- .IP decnet
- mail over
- .SM
- DECNET
- .NL
- , using mail11
- .IP csnet
- csnet mail, using pmdf
- .IP xerox
- mail over the Xerox Ethernet
- .IP news
- network news, using mail-news to call inews
- .RE
- .FS
- Note that luucp and uucp from UK-1.4 have been merged and
- that bitnet has been removed
- .FE
- .NH
- Support programs
- .LP
- The support directory contains various programs that interact with sendmail.
- These include:
- .RS 5
- .IP authorise 15
- A program to restrict mail access on certain channels to certain users or
- hosts.
- .IP distribute
- for mailing to distribution lists via /usr/lib/aliases
- .IP muucp
- which provides an interface to UUCP that conforms to RFC976.
- .IP mail-news
- which provides an interface to the netnews news "inews" program.
- .RE
- .LP
- Each of these programs comes with a manual page provided in the "Manuals"
- directory.
- .NH
- Files
- .LP
- The configuration file is generated from a set of data files (or tables),
- using a configuration description to
- describe the configuration and the files used to construct it.
- There are two types of data files: domain and channel data.
- .LP
- In addition some
- .I m4(1)
- macro files are used. Of these, only
- .I base.m4
- should ever need to be edited and then only if obscure sendmail
- options (e.g. Ox - priority at which to stop work) are to be altered.
- The important options
- are controlled by directives in the configuration description.
- Changes to
- .I base.m4
- should be made using
- .I localise.sh
- as described in the User Guide.
- .NH 2
- The Configuration Description File
- .LP
- The program
- .I Config
- takes a configuration description and generates an environment from which
- .I make(1)
- can be used to create sendmail configurations.
- .NH 2
- Domain and Channel Tables
- .LP
- The configuration description includes a list of files that comprise
- the domain tables, used to compile the domain database,
- and files which make up the channel tables, listing the hosts and domains
- reachable over each channel.
- .NH 2
- Names
- .LP
- The configuration description requires you to specify two names for making a
- configuration:
- .IP (1)
- a configuration name. This will usually be the same as the
- .I hostname(1)
- of the target system (e.g. sun6), or the name of a class of hosts
- (e.g. workstation)
- for a configuration which will be used on several target systems.
- .IP (2)
- a domain name in RFC822 order.
- The domain name should be your official name registered with some
- recognised administrative body such as the NRS; e.g.
- .I "cs.hw.ac.uk" .
- Failing that, it maybe a network based domain name, e.g.
- .I "hwcs.UUCP" .
- .LP
- The configuration description will allow you to specify different domain
- names on different mailer channels, if absolutely necessary.
- Note, however, that you should only have one official domain name and
- you should use that whereever possible.
- .NH
- Multihost configuration
- .LP
- If you are a site which has a collection of machines, you will probably
- want to "hide" the machines behind one site domain name.
- .LP
- This will mean that people will send mail to the site, and let the sendmail
- on whichever machine it was received on, route the mail to the appropriate
- machine for that user.
- .LP
- Conceptually, this is done by making each of the hosts a subdomain of the
- site domain and then making each host recognise both the site domain and
- the host specific domain name as "local".
- .LP
- For example, the site domain
- .I "cs.hw.ac.uk"
- may have the subdomains
- .I "vax1"
- .I "vax2" and
- .I "sun6" .
- On
- .I vax1 , the domains
- .I "cs.hw.ac.uk"
- and
- .I "vax1.cs.hw.ac.uk"
- are recognised as local, whilst on
- .I sun6
- the domains
- .I "cs.hw.ac.uk"
- and
- .I "sun6.cs.hw.ac.uk"
- are recognised as local. The host specific names allow mail to be routed
- to specific hosts within the site.
- .LP
- To make a multihost configuration, you specify the multihost option
- in the configuration description file, and configure the local channel
- table appropriately (see the example local channel tables in the Examples
- directory). Also, you will need to setup user aliases to route users' mail
- to their desired hosts (see below).
- .NH
- Aliases
- .LP
- Central to the success of the multihost configuration is the use of sendmail's
- aliases facility to determine which host a user's mail should be delivered to.
- The recommended scheme is to have a common set of aliases on all hosts
- containing all users and the host addresses to which their mail should be
- delivered, e.g.
- .DS I
- jim: jim@vax1
- fred: fred@vax2
- .DE
- .LP
- All addresses considered "local" are subject to aliasing. So, if the aliases
- file on
- .I vax2
- contains the above entries, mail to
- .I "jim@vax2"
- will be forwarded from
- .I vax2
- to
- .I vax1 .
- Aliases can, however, be overridden by prepending a '~' (tilde) to
- the user part of the address, so
- .I "~jim@vax2"
- will be delivered on
- .I vax2 ,
- because when it arrives on
- .I vax2 ,
- it will not be aliased. It is vital that users who wish to redirect their mail
- using .forward files use a '~' if the target for their mail is part of the
- same multihost set.
- .NH
- Running shared configuration files
- .LP
- If you are running a multihost configuration, where several machines
- have an identical view of the network then you can run the same
- configuration files on those machines, and possibly share the
- .I /usr/lib/sendmail.cf
- file if using NFS.
- .LP
- This applies, for example, where you have a number of machines
- on a local area network all of which send external mail to the same
- "gateway" machine which has a link to some wide area network.
- .LP
- Note that it is also possible to share the
- .I /usr/lib/aliases
- database as long as all entries refer to mailboxes and not (host dependent)
- programs.
- .NH
- Installation
- .IP (1)
- Refering to the "User Guide" and "Tutorial based on Examples", write
- a configuration description file describing the setup of the target system.
- .IP (2)
- Run "Config" with the name of a configuration description file as the argument.
- .IP
- This creates a directory containing the m4 files
- required for a host configuration and creates a <host>.mc file for use by m4.
- It also
- creates Makefiles which will be used below to create the sendmail
- <host>.cf file itself.
- .IP (3)
- "cd" to this directory and "make edit". This will allow you to create
- any data files which do not already exist, and ensure that all the data looks
- reasonable.
- .IP (4)
- "make check" to check for syntactic correctness, especially if
- you are converting from an earlier version of UK-sendmail.
- .IP (5)
- Run "make" to produce the <host>.cf file.
- .IP (6)
- Use "make test" to test the semantic correctness of the configuration - if you haven't
- used this before then see the sendmail documentation for details.
- .IP (7)
- Check that the mailer specification files have the correct
- pathnames and options to the mailers, particularly the local mailer!
- .IP (8)
- Install any appropriate mailer interfaces that you need from the
- "Support" directory.
- .IP (9)
- As superuser, run "make install" to install the configuration. If you have a
- sendmail daemon running (typically: /usr/lib/sendmail -bd -q1h),
- then this will kill it and start a new one.
- .LP
- If the configuration is a shared one, then you should create a shell
- script to invoke ../Install.sh for each of the machines that the
- configuration is to be installed on and/or whose daemons need to be
- restarted.
- .KS
- .NH
- Bug fixes and problems
- .LP
- If you have problems or comments then you can mail them to the UK-sendmail
- mailing list at the following address:
- .DS
- JANET: uk-sendmail-workers@uk.ac.hw.cs
- ARPA: uk-sendmail-workers@cs.hw.ac.uk
- UUCP: ..!ukc!cs.hw.ac.uk!uk-sendmail-workers
- .DE
- .LP
- Note that messages on this mailing list are also posted to the Usenet
- newsgroup
- .I comp.mail.sendmail .
- .KE
-