home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 May / PCOnline_05_1996.bin / linux / source / contrib / smail / smail-3.1 / smail-3 / smail-3.1.28 / README < prev    next >
Text File  |  1992-09-20  |  20KB  |  480 lines

  1. This is Smail3.1 by Ronald S. Karr and Landon Curt Noll.  The
  2. majority of sources under this directory are copyright by the authors,
  3. whereas code under the pd subdirectory is available in the public
  4. domain.  Code in the contrib directory is owned by the contributing
  5. authors, who should be consulted if you have any questions about
  6. distribution or usage restrictions.
  7.  
  8. See the file COPYING for information on copying restrictions that apply
  9. to all files in the release other than files in the contrib and pd
  10. directories.
  11.  
  12. PLEASE CHECK ALL THE SECTIONS OF THIS FILE.  In particular, some later
  13. sections describe system- and environment-specific configuration
  14. details that you should be aware of, if they apply to your situation.
  15.  
  16. Users of earlier Smail3.1 releases should review the CHANGES file, to
  17. see what has changed or to see if some previously encountered problems
  18. have been fixed.
  19.  
  20.  
  21. KNOWN PROBLEMS IN THE SMAIL3.1 RELEASE
  22.  
  23. There are a small number of things that are known to cause problems,
  24. but which have not been addressed in the 3.1 release.  Here is a summary
  25. of the serious problems:
  26.  
  27.  *  Spill-over spool directories don't always work correctly, so don't
  28.     use them.  A spill-over directory is a second directory listed in
  29.     the spool_dirs configuration variable.
  30.  
  31.  *  Smail3.1 does not limit the size of mail messages.  There is a
  32.     configuration parameter for this, but it is currently ignored.
  33.  
  34. In addition, there are some features that Smail really should have, and
  35. that are intended for a future release.  Some of these are:
  36.  
  37.  *  The ability to deliver multiple messages per connection to a
  38.     destination host.  The proposed solution for this also involves
  39.     a separate Smail daemon for delivery, similar to the organization
  40.     of the Zmailer program by Rayan Zachariasan (sp?) of the University
  41.     of Toronto.
  42.  
  43.  *  Smaller mail queuer programs (i.e., rmail, rsmtp), that do not have
  44.     all of Smail linked into them.  This would make smail more palatable
  45.     on smaller systems.
  46.  
  47.  
  48. SYSTEM-SPECIFIC CAVEATS
  49.  
  50.  *  On mips systems, and possibily on other dual-universe systems, be sure
  51.     to set the BSD and System V timezones to the same value.  For mips
  52.     systems, the System V timezone is in /etc/TIMEZONE.  The timezone value
  53.     used by BSD routines is stored in the kernel and is set by the date
  54.     command.  For example, if you are in the Pacific timezone, set
  55.     /etc/TIMEZONE to:
  56.  
  57.     TZ=PST8PDT
  58.     export TZ
  59.  
  60.     and set the kernel timezone with:
  61.  
  62.     date -t 480
  63.  
  64.     At least one user was surprised to find smail using a different timezone
  65.     than some other commands.
  66.  
  67.  
  68. GENERAL COMPILATION NOTES
  69.  
  70. On Interactive, and probably on other systems as well, if you don't
  71. use an using an ANSI C compiler you will get the following messages
  72. while compiling:
  73.  
  74.     ../../util/dbm_compat.h: 13: bad include syntax
  75.     ../../util/dbm_compat.h: 22: bad include syntax
  76.  
  77. Ignore these messages.  They result from an #ifdef'd out:
  78.  
  79.     #include DBM_INCLUDE
  80.  
  81. where the C compiler does not allow macros to name include files.
  82. This does cause any problems when compiling on Interactive, beyond the
  83. generation of the above messages.  If your compiler really bombs out,
  84. remove the offending lines from util/dbm_compat.h.
  85.  
  86.  
  87. SUPPORT FOR JANET MAIL
  88.  
  89. Smail now contains limited support for JANET mail (the reverse-order
  90. domain system used in the United Kingdom).  Complete support is
  91. available from Philip Hazel <ph10@cus.cam.ac.uk>.  The smail3
  92. distribution provides only those hooks that must be in the smail
  93. binary itself.  Send mail to Philip for more information.  If you
  94. are not in the UK, please ignore this paragraph: you don't want to
  95. know.
  96.  
  97.  
  98. FUTURE SMAIL3 RELEASES
  99.  
  100. A preliminary version of the much-mentioned (in the past) Smail3.2
  101. release now exists, thanks to the efforts of Chip Salzenberg.  However,
  102. it has a lot of work to go.  If anybody would like to take on the large
  103. task of making smail a leaner, cleaner, and more adaptable program,
  104. please let me know.  If nobody ever comes forward, then I will probably
  105. have to consider the rewrite dead, and continue hacking on the current
  106. sources.
  107.  
  108. I am interested in volunteers for large, and medium-sized tasks.  If you
  109. are interested, please send mail.
  110.  
  111.  
  112. GENERAL ACKNOWLEDGEMENTS
  113.  
  114. Some smail3 users go back quite a ways and have provided invaluable
  115. help, patches, and comments over the years.  Here's a few that I can
  116. remember: Andy Beals, Mark H. Coburn, Karl Denninger, Mark Hartman,
  117. Shane McCaran, Tim Mitchell, Gordon Moffett, Lyndon Nerenberg,
  118. Dave Rand, Andy Rundquist, Chip Salzenberg, Johan Vromans,
  119. Lauren Weinstein, Syd Weinstein, Bill Wisner, and Jon Zeeff.
  120.  
  121. A special thanks to Landon Curt Noll <chongo@toad.com> who started me
  122. on the road of post-college life and caused me to write smail in the
  123. process.  He also helped design and implement the first several
  124. versions.  Without him, smail3.1 certainly would never have been
  125. written.
  126.  
  127. A special thanks also to Larry Auton, who wrote smail2.5.  Without him,
  128. Smail3.1 would have, at the very least, been called something else.  He
  129. also provided valuable encouragement and comment during the earlier
  130. phases of smail design and development.
  131.  
  132.  
  133. CONFIGURATION
  134.  
  135. We recommend that you read through the various man pages before
  136. setting up and installing smail.  To generate the man pages, change to
  137. the man directory and type "make".  This will generate man pages for
  138. the default smail configuration.  Detailed information on smail can be
  139. found in the man pages smail(5) and smail(8).
  140.  
  141. All run-time configuration files are optional, and the smail program
  142. itself creates anything that it absolutely needs.  Thus in the
  143. simplest example, the installation procedure is simply to setup the
  144. base internal configuration and type the various make commands.
  145.  
  146. The only file that you must edit is conf/EDITME, which drives the
  147. compilation process for the smail binary and the several accompanying
  148. utilities.  This file describes the locations of various files and
  149. directories, enables or disables various capabilities, and points to a
  150. file describing your architecture and operating system.  It should be
  151. copied from the source file conf/EDITME-dist.  Note that if you generated
  152. the smail man pages, the conf/EDITME file will have already been created
  153. for you, though you should still review and edit it.
  154.  
  155. Future patches to smail will be applied to conf/EDITME-dist and it will
  156. be your responsibility to make sure that these changes are reflected in
  157. conf/EDITME, as needed.
  158.  
  159. Some sites may also need to create an operating system description
  160. file.  To do this, change to the conf/os directory and copy the file
  161. "template" to a name descriptive of your operating system.  Then edit
  162. the copy as appropriate.  The basename of this file can then be used
  163. as a value for the OS_TYPE variable in the EDITME file.  If you create
  164. a new operating system description file, please mail it to us so that
  165. we may add it to the distribution.
  166.  
  167. A simple way to test smail is to set the variable TEST_BASE in the
  168. EDITME file to a test installation directory.  A "make install" will
  169. create a tree under this directory, with all of the smail binaries and
  170. utilities.  Smail can then be tested in this directory without
  171. affecting the operation of any other mailers currently working on your
  172. system, including a previous installation of smail itself.
  173.  
  174.  
  175. BUILDING AND INSTALLATION
  176.  
  177. NOTE:  You should probably do a test build install before installing
  178.        smail onto a live system.  To do this, setup the TEST_BASE
  179.        variable as described above, and go through the steps in this
  180.        section.  Then, to install on to a live system, comment out
  181.        TEST_BASE in the EDITME file and perform these steps again.
  182.        The second time around, it will not be necessary to build the
  183.        makefile dependencies.
  184.  
  185. When everything is setup, you will need to create the Makefile
  186. dependencies for your system and configuration.  To do this, type:
  187.  
  188.     make -k depend 2>&1 | tee mkdep.out
  189.  
  190. If you are a C shell user, try:
  191.  
  192.     make -k depend |& tee mkdep.out
  193.  
  194. at the top of the smail source tree.  Scan the output produced by for
  195. any errors.  In particular, watch out for missing include files.  If
  196. any messages about missing include files are generated, please send us
  197. mail describing your operating system and the name of the include file
  198. which was not found.  Please tell us of any similarly named include
  199. files which DO exist, which may be used instead.  Building the
  200. dependencies takes 34 seconds on an unloaded Amdahl 5890, about 6 and a
  201. half minutes on a Sun-3/280, and can it take up to half an hour or more
  202. on smaller machines.
  203.  
  204. When the dependencies have been generated, build the binaries,
  205. utilities and localized man pages with the command:
  206.  
  207.     make -k 2>&1 | tee mk.out
  208.  
  209. or:    make -k |& tee mk.out
  210.  
  211. This may take a while.  The complete build takes 1 minute and 30
  212. seconds on an unloaded 5890 (with optimizing turned on), and about 15
  213. minutes on a Sun-3/280.  When I build smail on my Symmetric-S/375 I go
  214. off and do something else for a while, and check on it every ten
  215. minutes or so.  The build takes about 2 hours on Fortune 32:16.
  216.  
  217. If any errors were encountered, please mail them to us.  Please send a
  218. complete copy of the mk.out file, and a copy of your EDITME file.  If
  219. you wrote your own operating system configuration file, please send
  220. that, too.  If you have any comments, or if you have your own fixes,
  221. please send those as well.
  222.  
  223. When smail builds correctly, install it by typing:
  224.  
  225.     make install
  226.  
  227. To install the man pages as well, type:
  228.  
  229.     make installman
  230.  
  231. These commands may be typed in any individual directory, as well, to
  232. build or install within a limited context.  Most make command at any
  233. level within the tree will descend to lower levels within the source
  234. hierarchy and execute the same make command.
  235.  
  236. The following additional make commands can be useful:
  237.  
  238.     make clean    - to clear out make intermediate files.
  239.     make clobber    - to clean intermediate and target files.
  240.     make local_depend
  241.             - make dependencies in the local makefile but do
  242.               not descend into subdirectories.
  243.  
  244. These commands can also be useful if you keep smail under SCCS control:
  245.  
  246.     make nuke    - remove all intermediate, target and source
  247.               files.  Source files which are checked out for
  248.               editing are not affected.  Makefiles are
  249.               retrieved from their SCCS files.
  250.     make sources    - create all missing source files from their SCCS
  251.               files.
  252.  
  253. If you wish to put smail under SCCS control, we suggest that you do so
  254. immediately after obtaining the distribution.  For those who wish to keep
  255. their sources under RCS control, the command:
  256.  
  257.     make sources GET=co
  258.  
  259. will retrieve all sources from the RCS files.
  260.  
  261.  
  262. CREATING CONFIGURATION FILES
  263.  
  264. If you have need of a more complex configuration than can be provided with
  265. the internal defaults, read over the smail(5) man page carefully.  We
  266. believe that the process of writing files is reasonably straightforward,
  267. though if you have any questions, or if you dispute this claim, please
  268. send mail.  Sample configuration files can be found in the directory
  269. samples.  The compiled-in configuration can be found in samples/generic.
  270.  
  271.  
  272. SMAIL ON THE INTERNET (VERY IMPORTANT FOR INTERNET USERS)
  273.  
  274. Users on the Internet should configure smail to use the Domain Name
  275. Service for routing on the Intenet.  The compiled-in default routers
  276. for smail define the use of the gethostbyname library call, which
  277. does not support MX records.  To use the DNs, you will have to have
  278. the bind resolver library, and you will have to tell smail that you
  279. have it.  For some systems, these are configured into smail by
  280. default.   For other systems, you will need to configure in the bind
  281. router driver by modifying the EDITME file.  This involves setting
  282. DRIVER_CONFIGURATION=arpa-network, and adding BIND to the HAVE list.
  283. See the EDITME file in the conf directory for more details.
  284.  
  285. The compiled-in routers list does not define use of the bind router
  286. driver, even if you configure it in from the EDITME file.  To actually
  287. use the bind router driver, you will need to create a routers file and
  288. change the inet_hosts router to use the bind router driver, rather
  289. than the gethostbyname router driver.  Start by copying the file
  290. samples/generic/routers to the /usr/lib/smail directory and modify it
  291. by commenting out the first inet_hosts router definition, and
  292. uncommenting the second one (which defines use of the bind router
  293. driver).  See the routers file for more information.
  294.  
  295. It is likely that you will also want the various smtp transports to
  296. use the bind resolver library, for smtp references matched by method
  297. files, or through any means other than use of the bind version of the
  298. inet_hosts router.  To do this, copy samples/generic/transports to the
  299. /usr/lib/smail directory and enable the use_bind attribute for all of
  300. the tcpsmtp-based transports, as suggested at the top of the file.
  301.  
  302.  
  303. SMAIL AND SYSTEM V
  304.  
  305. System V systems typically have a /bin/mail program that both delivers
  306. mail and reads mail.  Smail provides a replacement for the /bin/mail
  307. program, in pd/binmail, that uses the old /bin/mail for reading mail,
  308. and smail for delivering mail.  To use the replacement /bin/mail, you
  309. will need to define the LMAIL variable in conf/EDITME.  See
  310. conf/EDITME for more instructions.
  311.  
  312. The System V mailx utility will need to be updated to know how to find
  313. smail.  Presuming that smail is installed as /usr/lib/sendmail, you
  314. will need to add the following line to the file /usr/lib/mailx/mailx.rc:
  315.  
  316.     set sendmail=/usr/lib/sendmail
  317.  
  318.  
  319. SMAIL AND SCO UNIX
  320.  
  321. Smail under SCO UNIX should be installed as both /bin/mail and
  322. /usr/lib/mail/execmail.  To do this, set OTHER_SMAIL_NAMES in the
  323. EDITME file to "/bin/rmail:/usr/lib/mail/execmail".  You will also
  324. need to use the /bin/mail replacement in pd/binmail, just as in
  325. System V.  Some newer SCO UNIX systems also have a /usr/bin/rmail, as
  326. a link to /usr/bin/mailx.  This file should be deleted.
  327.  
  328. Some versions of SCO UNIX store mail messages in /usr/spool/mail,
  329. while others use /usr/mail, like System V.  If your system uses
  330. /usr/spool/mail, you will need to add the following line to the
  331. conf/EDITME file:
  332.  
  333.     MAILBOX_DIR=/usr/spool/mail
  334.  
  335. Current SCO releases use MMDF mailbox file formats.  Many users prefer
  336. to use public domain mail readers, such as elm or mush, that can be
  337. configured to use regular UNIX mailbox files.  Users that wish to be
  338. compatible with the MMDF mailbox file format must create a transports
  339. file that configures a prefix of "\1\1\1\1" to insert before each
  340. message stored in mailbox files.  Copy the file
  341. samples/generic/transports to the /usr/lib/smail directory, and modify
  342. it as suggested at the top of the file.
  343.  
  344. The SCO MMDF version of mailx supplies its own From: line using a
  345. hostname taken from an MMDF configuration file.  I have no idea why
  346. they decided it was a good idea to hard-code the hostname in a
  347. configuration file, but they did.  Thus, if you change your hostname,
  348. your From: lines won't change until you change the MMDF configuration
  349. file.  To correct the From: line change the MLDOMAIN and MLNAME
  350. definitions in /usr/mmdf/mmdftailor.
  351.  
  352. To get the MMDF-ified SCO to call smail from /bin/mail and mailx,
  353. add the line:
  354.  
  355.     set execmail
  356.  
  357. to the file /usr/lib/mail/mailrc.
  358.  
  359.  
  360. SMAIL AND SYSTEM V RELEASE 4
  361.  
  362. The SVR4 mailbox file format defines a Content-Length field that
  363. indicates the length of each message, in bytes.  This obviates the
  364. need for inserting > before lines beginning with "From" (and indeed,
  365. there are some problems with the AT&T-supplied version of mailx
  366. concerning message splitting, if you don't use Content-Length).  Smail
  367. can be configured to generated Content-Length fields (and Content-Type
  368. fields).  However, the compiled-in transports cannot do this.  To
  369. configure generation of these fields, copy the file
  370. samples/generic/transports to the /usr/lib/smail directory, and modify
  371. it as suggested at the top of the file.
  372.  
  373. In the SVR4 uux command, message grades are supplied using long names,
  374. which differs from older versions of HoneyDanBer UUCP, where message
  375. grades were a single character.  Smail does not support these longer
  376. names.  Fortunately, you can configure SVR4 to support single
  377. character message grades.  To make SVR4 compatible with smail, add the
  378. following lines to your /etc/uucp/Grades file:
  379.  
  380. 9    9    Any    User    Any
  381. A    A    Any    User    Any
  382. C    C    Any    User    Any
  383. a    a    Any    User    Any
  384. n    n    Any    User    Any
  385.  
  386. This list is sufficient for the default list of Precedence header
  387. field values supported by smail.
  388.  
  389. It is possible to configure an SVR4 system to call smail by replacing
  390. the file /etc/mail/mailsurr with the line:
  391.  
  392.     '(.+)'    '(.+)'    '< /usr/local/smail/bin/smail -em -i \\2'
  393.  
  394. This works, but it has the annoying side effect of invoking smail
  395. multiple times for each address given as an argument to /bin/mail or
  396. /bin/rmail.  It is preferable to replace /bin/rmail with smail, and to
  397. replace /bin/mail with the mail program supplied in pd/binmail.
  398.  
  399. To configure SVR4 to use smail for handling SMTP, move the file
  400. /etc/rc2.d/S88smtpd to /etc/rc2.d/no-S88smtpd, move the file
  401. /etc/rc0.d/K74smtpd to /etc/rc0.d/no-S74smtpd, and then add a new file
  402. /etc/rc2.d/S88smail containing:
  403.  
  404.     /usr/lib/sendmail -bd -q30m
  405.  
  406. Then, kill any existing smtpd program and start smail by executing the
  407. above command.
  408.  
  409. To convert an SVR4.2 system create the same file above, remove the
  410. smtpd entry in /etc/inetd.conf, then execute the following commands:
  411.  
  412.     sacadm -k -p inetd
  413.     sacadm -s -p inetd
  414.     /usr/lib/sendmail -bd -q30m
  415.  
  416.  
  417. SMAIL AND 4.3BSD OR ULTRIX
  418.  
  419. Some versions of Ultrix, plus stock 4.3BSD, have had problems in
  420. recent releases with some shell scripts supplied with smail.  I have
  421. made some attempts to simplify the offending shell scripts to avoid
  422. problems.  However, if errors are still encountered with /bin/sh, then
  423. use a different shell, such as ksh, pdksh, or bash, by compiling and
  424. installing smail with commands like:
  425.  
  426.     make SHELL=/bin/ksh depend
  427.     make SHELL=/bin/ksh all
  428.     make SHELL=/bin/ksh install
  429.  
  430. Some problems have also been reported with /bin/sh on Xenix.  I don't
  431. know if there is an alternate shell available on Xenix.  However,
  432. pdksh should compile and run there.  I realize that it seems absurd
  433. that regular /bin/sh cannot be used on some systems.  Hopefully the
  434. specific problems encountered can be found and remedied for future
  435. releases.
  436.  
  437.  
  438. PATCHES
  439.  
  440. Patches may be made available in the future.  These will be announced
  441. in comp.mail.uucp, and in the various mailing lists.  Patches will be
  442. made available on uunet, and on other archive sites, which are announced
  443. along with each patch.
  444.  
  445.  
  446. BUGS AND COMMENTS
  447.  
  448. Please send bug reports or fixes to:
  449.  
  450.     bugs-smail@veritas.com
  451. ARPA:    veritas!bugs-smail@Apple.COM
  452. UUCP:    {amdahl,apple,hoptoad,uunet}!veritas!bugs-smail
  453.  
  454. There is a mailing list, that I use for sending out patches, and patch
  455. notices.  To subscribe, send mail to:
  456.  
  457.     smail-alpha-request@veritas.com
  458.  
  459. There are now two discussion lists maintained by Lyndon Nerenberg,
  460. lyndon@cs.athabascau.ca: smail3-users and smail3-wizards.  To
  461. subscribe send mail to:
  462.  
  463.     smail3-users-request@cs.athabascau.ca
  464.  
  465. I do not have any connection with this list, other than the fact that
  466. I maintain the software that it discusses.  So, please don't send list
  467. change requests to me.
  468.  
  469. Please send questions, comments, or anything else you have to say
  470. either to me, or to the discussion groups.
  471.  
  472. I vastly prefer receiving bug fixes and enhancements that are clearly
  473. differentiated.  I don't always know what to do with large patches that
  474. contain many bugs and enhances folded into the same context diffs.  Of
  475. course, most patches that I send out are 100K or more, so perhaps I
  476. shouldn't complain too much.
  477. -- 
  478.        Ronald S. Karr        ARPAnet:  veritas!tron@apple.com
  479.       tron@veritas.com        UUCPnet:  {apple,pyramid,uunet}!veritas!tron
  480.