FIX editline(3) compat (add n_ prefix to our TTY stuff)..
[s-mailx.git] / README
blob647649cebf313b9af222ab1cacaa6e1d111d4499
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 (and IMAP).
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   $ mkdir s-nail.git
84   $ cd s-nail.git
85   $ git init
86   $ git remote add origin -t master https://git.sdaoden.eu/scm/s-nail.git
87   $ git fetch -v
88   $ git checkout master
89   $ make CONFIG=MAXIMAL install
91 The release commits and release tags are signed with an OpenPGP key.
92 Our heraldic animal "snailmail.jpg" has been found at [100].
93 Thank you!
95   [100] http://cdn.whatculture.com/wp-content/uploads/2009/06/snailmail.jpg
97 AUTHORS
98 =======
100 Unix mail seems to have been written mostly by Ken Thompson.
102 Berkeley Mail was (according to "def.h") developed by Kurt Shoens, dated
103 March 25, 1978.  According to the CSRG commit log authors of BSD mail in
104 the time span 1980-10-08 to 1995-05-01 were, in order of appearance
105 (commit count): Kurt Shoens (379), Kirk McKusick (50), Carl Smith (16),
106 Bill Bush (2), Eric Allman (6), Craig Leres (43), Sam Leffler (51),
107 Ralph Campbell (21), Serge Granik (28), Edward Wang (253),
108 Donn Seeley (1), Jay Lepreau (3), Jim Bloom (1), Anne Hughes (2),
109 Kevin Dunlap (34), Keith Bostic (253), Mike Karels (1), Cael Staelin (6)
110 and Dave Borman (17).  One commit by Charlie Root, 36 by "dist".
112 Official BSD Mail development ceased in 1995 according to the CSRG
113 (Berkeley's Computer Systems Research Group) repository.  Mail has then
114 seen further development in open source BSD variants, noticeably by
115 Christos Zoulas in NetBSD.
117 Gunnar Ritter reused that codebase when he started developing nail in
118 February 2000, and incorporated numerous patches from OpenBSD, NetBSD,
119 RedHat and Debian.  He added MIME code, network protocol support, and
120 POSIX conformance improvements. In March 2006, he integrated that
121 program into the Heirloom project, renaming it to Heirloom mailx, the
122 development of which ceased in 2008.
124 In 2012 Steffen (Daode) Nurpmeso adopted the codebase as S-nail.
125 We try to end up as S-mailx.
127 # s-ts-mode