home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / sendmail / uk-sendmail2.1 / Docs / Overview.ms < prev    next >
Encoding:
Text File  |  1991-06-11  |  10.8 KB  |  381 lines

  1. .TL
  2. Sendmail Configuration Package UK-2.1
  3. .sp
  4. Overview
  5. .AU
  6. Jim Crammond
  7. .AI
  8. Dept. of Computing,
  9. Imperial College, London, England
  10. .AU
  11. Jem Taylor
  12. .AI
  13. Dept. of Computing Science,
  14. University of Glasgow, Glasgow, Scotland
  15. .DA 27 November 1988
  16. .AB
  17. .SM 
  18. UK-2.1
  19. .NL
  20. Sendmail
  21. is a sendmail.cf generator for the 
  22. .I /usr/lib/sendmail
  23. mail router used on BSD derived
  24. .SM
  25. UNIX
  26. .NL
  27. Systems. This version combines some
  28. ideas which were tested in
  29. .SM
  30. UK-1.5
  31. .NL
  32. with several new features, including
  33. support for
  34. .SM
  35. IDA
  36. .NL
  37. databases and support for Internet hosts. The base is
  38. the hugely successful 
  39. .SM
  40. UK-1.4
  41. .NL
  42. package. This release brings the two development
  43. lines together and will be
  44. .I the
  45. definitive sendmail.cf compiler.
  46. .AE
  47. .LP
  48. .NH
  49. Overview
  50. .LP
  51. This package provides you with tools to generate a fully domain based
  52. sendmail configuration file from domain and channel tables in a format
  53. similar to that used by 
  54. .SM
  55. MMDF.
  56. .NL
  57. .LP
  58. The configuration is essentially comprised of three parts: the domain tables,
  59. the channel tables and the mailer specifications.  The diagram below
  60. shows how all three pieces fit together.
  61. .DS C
  62. .KF
  63. |
  64. incoming addresses
  65. |
  66. [domain tables]
  67. |
  68. fully qualified domain addresses
  69. |\bV
  70. +--------------------+
  71. [channel tables]               [mailer specs]
  72. |                         |
  73. mailer,host,transport addresses    header addresses
  74.  
  75. .DE
  76. .KE
  77. .LP
  78. The domain tables convert addresses given to sendmail into fully qualified
  79. domain addresses; these are then passed to the channel tables which select
  80. the <network, host, transport address> triple required for message delivery.
  81. .LP
  82. The domain addresses are then passed to the mailer specifications where
  83. they are converted to a form suitable for the mail headers for that
  84. particular network.
  85. .LP
  86. Anyone who has read the Sendmail Implementation Guide should recognise
  87. the similarity between this and the rulesets diagram.  Basically, the
  88. domain tables  correspond to ruleset 3, the channel tables to ruleset 0
  89. and the mailer specifications to the mailer specific rulesets.
  90. .LP
  91. This manual will hopefully explain how to build these pieces and thus
  92. generate a configuration file.
  93. .LP
  94. The package also contains a number of support programs including "better"
  95. uucp/sendmail interface programs and a mail authorisation program.
  96. .NH
  97. Addresses
  98. .LP
  99. A key feature of UK-sendmail is that it does NOT perform routing based
  100. on address syntax. All addresses are converted into a single internal
  101. form and then routing is performed on the domain information.
  102. Addresses are then converted into a form suitable for the appropriate
  103. output channel (mailer).  Addresses are accepted in any of the standard forms:
  104. .RS 5
  105. .IP RFC822 10
  106. @domain1,@domain2:user@domain3
  107. .IP Percent
  108. user%domain3%domain2@domain1
  109. .IP UUCP
  110. domain1!domain2!domain3!user
  111. .IP DECNET
  112. domain1::domain2::domain3::user
  113. .RE
  114. .LP
  115. If the "nrsformat" option is defined, then the GreyBook big-endian domain name
  116. ordering is also understood (e.g. uk.ac.hw.cs as well as cs.hw.ac.uk).
  117. .LP
  118. Mixed addresses are handled by using the precedence order '@' > '%' > '!' = '::'
  119. .IP e.g.
  120. domc!user%domb@doma => user%domc%domb@doma <=> doma!domb!domc!user
  121. .NH
  122. Mailers
  123. .LP
  124. The following mailer channels are supported\**:
  125. .RS 5
  126. .IP local 10
  127. the standard unix local mailer
  128. .IP ether
  129. mail over the ethernet using
  130. .SM
  131. SMTP/TCP
  132. .NL
  133. .IP tcp
  134. mail over the Internet using
  135. .SM
  136. SMTP/TCP
  137. .NL
  138. .IP uucp
  139. uucp mail, using muucp or uux
  140. .IP janet
  141. janet mail, using hhcp or unix-niftp
  142. .IP decnet
  143. mail over
  144. .SM
  145. DECNET
  146. .NL
  147. , using mail11
  148. .IP csnet
  149. csnet mail, using pmdf
  150. .IP xerox
  151. mail over the Xerox Ethernet
  152. .IP news
  153. network news, using mail-news to call inews
  154. .RE
  155. .FS
  156. Note that luucp and uucp from UK-1.4 have been merged and
  157. that bitnet has been removed
  158. .FE
  159. .NH
  160. Support programs
  161. .LP
  162. The support directory contains various programs that interact with sendmail.
  163. These include:
  164. .RS 5
  165. .IP authorise 15
  166. A program to restrict mail access on certain channels to certain users or
  167. hosts.
  168. .IP distribute
  169. for mailing to distribution lists via /usr/lib/aliases
  170. .IP muucp
  171. which provides an interface to UUCP that conforms to RFC976.
  172. .IP mail-news
  173. which provides an interface to the netnews news "inews" program.
  174. .RE
  175. .LP
  176. Each of these programs comes with a manual page provided in the "Manuals"
  177. directory.
  178. .NH
  179. Files
  180. .LP
  181. The configuration file is generated from a set of data files (or tables),
  182. using a configuration description to
  183. describe the configuration and the files used to construct it.
  184. There are two types of data files: domain and channel data.
  185. .LP
  186. In addition some 
  187. .I m4(1)
  188. macro files are used. Of these, only
  189. .I base.m4
  190. should ever need to be edited and then only if obscure sendmail
  191. options (e.g. Ox - priority at which to stop work) are to be altered.
  192. The important options
  193. are controlled by directives in the configuration description.
  194. Changes to
  195. .I base.m4
  196. should be made using
  197. .I localise.sh
  198. as described in the User Guide.
  199. .NH 2
  200. The Configuration Description File
  201. .LP
  202. The program
  203. .I Config
  204. takes a configuration description and generates an environment from which
  205. .I make(1)
  206. can be used to create sendmail configurations.
  207. .NH 2
  208. Domain and Channel Tables
  209. .LP
  210. The configuration description includes a list of files that comprise
  211. the domain tables, used to compile the domain database,
  212. and files which make up the channel tables, listing the hosts and domains
  213. reachable over each channel.
  214. .NH 2
  215. Names
  216. .LP
  217. The configuration description requires you to specify two names for making a
  218. configuration:
  219. .IP (1)
  220. a configuration name. This will usually be the same as the
  221. .I hostname(1)
  222. of the target system (e.g. sun6), or the name of a class of hosts
  223. (e.g. workstation)
  224. for a configuration which will be used on several target systems.
  225. .IP (2)
  226. a domain name in RFC822 order.
  227. The domain name should be your official name registered with some
  228. recognised administrative body such as the NRS; e.g. 
  229. .I "cs.hw.ac.uk" .
  230. Failing that, it maybe a network based domain name, e.g. 
  231. .I "hwcs.UUCP" .
  232. .LP
  233. The configuration description will allow you to specify different domain
  234. names on different mailer channels, if absolutely necessary.
  235. Note, however, that you should only have one official domain name and
  236. you should use that whereever possible.
  237. .NH
  238. Multihost configuration
  239. .LP
  240. If you are a site which has a collection of machines, you will probably
  241. want to "hide" the machines behind one site domain name.
  242. .LP
  243. This will mean that people will send mail to the site, and let the sendmail
  244. on whichever machine it was received on,  route the mail to the appropriate
  245. machine for that user.
  246. .LP
  247. Conceptually, this is done by making each of the hosts a subdomain of the
  248. site domain and then making each host recognise both the site domain and
  249. the host specific domain name as "local".
  250. .LP
  251. For example, the site domain 
  252. .I "cs.hw.ac.uk"
  253. may have the subdomains 
  254. .I "vax1"
  255. .I "vax2" and 
  256. .I "sun6" .
  257. On 
  258. .I vax1 , the domains 
  259. .I "cs.hw.ac.uk" 
  260. and 
  261. .I "vax1.cs.hw.ac.uk"
  262. are recognised as local, whilst on
  263. .I sun6 
  264. the domains 
  265. .I "cs.hw.ac.uk"
  266. and
  267. .I "sun6.cs.hw.ac.uk"
  268. are recognised as local.  The host specific names allow mail to be routed
  269. to specific hosts within the site.
  270. .LP
  271. To make a multihost configuration, you specify the multihost option
  272. in the configuration description file, and configure the local channel
  273. table appropriately (see the example local channel tables in the Examples
  274. directory).  Also, you will need to setup user aliases to route users' mail
  275. to their desired hosts (see below).
  276. .NH
  277. Aliases
  278. .LP
  279. Central to the success of the multihost configuration is the use of sendmail's
  280. aliases facility to determine which host a user's mail should be delivered to.
  281. The recommended scheme is to have a common set of aliases on all hosts
  282. containing all users and the host addresses to which their mail should be
  283. delivered, e.g.
  284. .DS I
  285. jim: jim@vax1
  286. fred: fred@vax2
  287. .DE
  288. .LP
  289. All addresses considered "local" are subject to aliasing. So, if the aliases
  290. file on 
  291. .I vax2
  292. contains the above entries, mail to 
  293. .I "jim@vax2"
  294. will be forwarded from 
  295. .I vax2 
  296. to 
  297. .I vax1 .
  298. Aliases can, however, be overridden by prepending a '~' (tilde) to
  299. the user part of the address, so 
  300. .I "~jim@vax2"
  301. will be delivered on 
  302. .I vax2 ,
  303. because when it arrives on 
  304. .I vax2 ,
  305. it will not be aliased. It is vital that users who wish to redirect their mail
  306. using .forward files use a '~' if the target for their mail is part of the
  307. same multihost set.
  308. .NH
  309. Running shared configuration files
  310. .LP
  311. If you are running a multihost configuration, where several machines
  312. have an identical view of the network then you can run the same
  313. configuration files on those machines, and possibly share the
  314. .I /usr/lib/sendmail.cf
  315. file if using NFS.
  316. .LP
  317. This applies, for example, where you have a number of machines
  318. on a local area network all of which send external mail to the same
  319. "gateway" machine which has a link to some wide area network. 
  320. .LP
  321. Note that it is also possible to share the 
  322. .I /usr/lib/aliases
  323. database as long as all entries refer to mailboxes and not (host dependent)
  324. programs.
  325. .NH
  326. Installation
  327. .IP (1)
  328. Refering to the "User Guide" and "Tutorial based on Examples", write
  329. a configuration description file describing the setup of the target system.
  330. .IP (2)
  331. Run "Config" with the name of a configuration description file as the argument. 
  332. .IP
  333. This creates a directory containing the m4 files
  334. required for a host configuration and creates a <host>.mc file for use by m4.
  335. It also
  336. creates Makefiles which will be used below to create the sendmail
  337. <host>.cf file itself.
  338. .IP (3)
  339. "cd" to this directory and "make edit". This will allow you to create
  340. any data files which do not already exist, and ensure that all the data looks
  341. reasonable.
  342. .IP (4)
  343. "make check" to check for syntactic correctness, especially if
  344. you are converting from an earlier version of UK-sendmail.
  345. .IP (5)
  346. Run "make" to produce the <host>.cf file.
  347. .IP (6)
  348. Use "make test" to test the semantic correctness of the configuration - if you haven't
  349. used this before then see the sendmail documentation for details.
  350. .IP (7)
  351. Check that the mailer specification files have the correct
  352. pathnames and options to the mailers, particularly the local mailer!
  353. .IP (8)
  354. Install any appropriate mailer interfaces that you need from the
  355. "Support" directory.
  356. .IP (9)
  357. As superuser, run "make install" to install the configuration. If you have a
  358. sendmail daemon running (typically: /usr/lib/sendmail -bd -q1h),
  359. then this will kill it and start a new one.
  360. .LP
  361. If the configuration is a shared one, then you should create a shell
  362. script to invoke ../Install.sh for each of the machines that the
  363. configuration is to be installed on and/or whose daemons need to be
  364. restarted.
  365. .KS
  366. .NH
  367. Bug fixes and problems
  368. .LP
  369. If you have problems or comments then you can mail them to the UK-sendmail
  370. mailing list at the following address:
  371. .DS
  372. JANET:    uk-sendmail-workers@uk.ac.hw.cs
  373. ARPA:    uk-sendmail-workers@cs.hw.ac.uk
  374. UUCP:    ..!ukc!cs.hw.ac.uk!uk-sendmail-workers
  375. .DE
  376. .LP
  377. Note that messages on this mailing list are also posted to the Usenet
  378. newsgroup 
  379. .I comp.mail.sendmail .
  380. .KE
  381.