(BWDIC!) Rewrite variable handling..
[s-mailx.git] / README
blob10f69192b643f34ca81458ceb764538dd2117462
1 W e l c o m e  t o  S - n a i l/ S - m a i l x
2 ==============================================
4 S-nail (later S-mailx) is a mail processing system with a command
5 syntax reminiscent of ed(1) with lines replaced by messages.
6 It is intended to provide the functionality of the POSIX mailx(1)
7 command, but is MIME capable and optionally offers extensions for
8 line editing, IDNA, MIME, S/MIME, SMTP and POP3.
9 It is usable as a mail batch language.
11 Please refer to the file "INSTALL" for build and installation remarks,
12 and to "NEWS" for release update information.  The file "THANKS"
13 mentions people who have helped improving and deserve acknowledgement.
15 This software originates in the codebase of Heirloom mailx, formerly
16 known as nail, which itself is based upon Berkeley Mail that has
17 a history back to 1978 and which superseded Unix mail, a program that
18 already shipped with First Edition Unix from 1971 -- M. Douglas McIlroy
19 writes in his article "A Research UNIX Reader: Annotated Excerpts from
20 the Programmer's Manual, 1971-1986":
22   MAIL (v1 page 21, v7 page 22)
23     Electronic mail was there from the start. Never satisfied with its
24     exact behavior, everybody touched it at one time or another: to
25     assure the safety of simultaneous access, to improve privacy, to
26     survive crashes, to exploit uucp, to screen out foreign freeloaders,
27     or whatever. Not until v7 did the interface change (Thompson). [.]
29 We have a web page[1] which includes the online manual of the latest
30 release, which can be downloaded via[2].
31 There are git(1) repositories at sdaoden.eu[3] (use [4] for cloning
32 purposes), with mirrors at Sourceforge[5] and GitLab.com[6].
34   [1] https?://www.sdaoden.eu/code.html#s-nail
35   [2] https?://www.sdaoden.eu/downloads/s-nail-latest.tar.{asc,gz,xz}
36   [3] https?://git.sdaoden.eu/cgit/s-nail.git
37   [4] https?://git.sdaoden.eu/scm/s-nail.git
38   [5] http://sourceforge.net/projects/s-nail
39   [6] https://gitlab.com/sdaoden/s-nail
41 And a mailing list[7] (later: [8]!) with moderated unsubscribed posting
42 possibilities; subscriptions can be managed via web interface[9];
43 GMANE.org added the ML their archive[10] -- thank you!
44 Commits to the [master] branch will be posted to [11], and announcements
45 will also be posted to [12], both are receive-only mailing-lists.
46 These and all other mailings-lists at sdaoden.eu are hosted by MLMMJ, so
47 users can manage their subscriptions by appending keywords to the plain
48 mailing list address, a +subscribe for subscription, and +unsubscribe
49 for unsubscription, e.g., s-mailx+subscribe@sdaoden.eu.
51   [7] s-nail-users@lists.sourceforge.net
52   [8] s-mailx@sdaoden.eu
53   [9] https://lists.sourceforge.net/lists/listinfo/s-nail-users/
54   [10] news.gmane.org/gmane.mail.s-nail.user
55   [11] s-mailx-commit@sdaoden.eu
56   [12] s-announce@sdaoden.eu
58 The S-nail(1) git(1) repository consists of five branches:
60 - master: rooted on top of [heirloom], this adapts Heirloom mailx(1) as
61   S-nail(1).  This is the stable branch that a normal user should track.
62   It is updated once a release is made, and will otherwise only see
63   cherry-picked bug fixes or stable improvements.
65 - next: rooted on top of [master], this consists of a furious mixture of
66   commits that eventually end up in [master]; it is a snapshot of the
67   [crawl] branch, taken once that seems to be quite stable.
69 - crawl: developer chaos (distributed horror backup - don't use!).
71 - timeline: an ongoing effort to collect the complete history of Mail.
72   Anything from the pre-Gunnar Ritter area is taken from CSRG and other
73   archives, for nail and Heirloom mailx i've used release balls, and
74   since S-nail v14.8.7 this is also true again (and tagging the release
75   as vVERSION.ar).
77 - heirloom: a full git(1) cvsimport of the Heirloom mailx(1) cvs(1)
78   repository.
80 To clone only the [master] branch, which is what a normal user most
81 likely is interested in:
83   $ git clone --single-branch https://git.sdaoden.eu/scm/s-nail.git
84   $ cd s-nail
85   $ make tangerine
87 when available, otherwise the very same can be achieved via
89   $ mkdir s-mailx.git
90   $ cd s-mailx.git
91   $ git init
92   $ git remote add origin -t master https://git.sdaoden.eu/scm/s-nail.git
93   $ git fetch -v
94   $ git checkout master
95   $ make CONFIG=MAXIMAL install
97 The release commits and release tags are signed with an OpenPGP key.
98 Our heraldic animal "snailmail.jpg" has been found at [100].
99 Thank you!
101   [100] http://cdn.whatculture.com/wp-content/uploads/2009/06/snailmail.jpg
103 AUTHORS
104 =======
106 Unix mail seems to have been written mostly by Ken Thompson.
108 Berkeley Mail was (according to "def.h") developed by Kurt Shoens, dated
109 March 25, 1978.  According to the CSRG commit log authors of BSD mail in
110 the time span 1980-10-08 to 1995-05-01 were, in order of appearance
111 (commit count): Kurt Shoens (379), Kirk McKusick (50), Carl Smith (16),
112 Bill Bush (2), Eric Allman (6), Craig Leres (43), Sam Leffler (51),
113 Ralph Campbell (21), Serge Granik (28), Edward Wang (253),
114 Donn Seeley (1), Jay Lepreau (3), Jim Bloom (1), Anne Hughes (2),
115 Kevin Dunlap (34), Keith Bostic (253), Mike Karels (1), Cael Staelin (6)
116 and Dave Borman (17).  One commit by Charlie Root, 36 by "dist".
118 Official BSD Mail development ceased in 1995 according to the CSRG
119 (Berkeley's Computer Systems Research Group) repository.  Mail has then
120 seen further development in open source BSD variants, noticeably by
121 Christos Zoulas in NetBSD.
123 Gunnar Ritter reused that codebase when he started developing nail in
124 February 2000, and incorporated numerous patches from OpenBSD, NetBSD,
125 RedHat and Debian.  He added MIME code, network protocol support, and
126 POSIX conformance improvements. In March 2006, he integrated that
127 program into the Heirloom project, renaming it to Heirloom mailx, the
128 development of which ceased in 2008.
130 In 2012 Steffen (Daode) Nurpmeso adopted the codebase as S-nail.
131 We try to end up as S-mailx.
133 # s-ts-mode