This is a first try at creating a new-style info file for QMAIL ORDER.
Now it's a second try. Make that a third try.

File: MAIL	Node: Top	Up: (DIR)	Next: Keyboard

MAIL is a program for sending mail to users on this machine, or any
machine on the Arpa or Chaos nets. You can send mail to any known
user, or to a "mailing list" of users, such as people responsible for
maintaining a certain program. Here is the general format for mail:

	:mail user1@site, user2@site, usern@site <crlf>
	<multiple
	 line
	 message>
	^C

To aid TIP users, mail will accept a percent sign instead of an atsign
in site descriptions. If the atsign and the site are not present, they
are assumed to be the present site.

The next node tells you about features of mail you'll use to type
in your message text.

* Menu:

* Keyboard::	Notes on using MAIL from the keyboard.

* Commands::	Escape to more advanced commands.

* Edit::	How to escape into EMACS with your mail.

* Syntax::	The exact syntax of mail recipients.

* Internals::	A brief explanation of how the mailing system works
		behind the scenes.

* Announcements: (SYSMSG)
		How to read and send system-wide messages, and the
		difference between system and bboard messages.

* RMAIL: (RMAIL)
		RMAIL is a program for reading, editing, and replying
		to mail.

* Babyl: (Babyl)
		Babyl is, like RMail, an EMACS mail subsystem. It
		differs from RMail in some respects.  In particular,
		it will run on TENEX and TWENEX.

File: MAIL	Node: BUG	Up: (DIR)	Next: Top

How to complain about program bugs:

	:BUG program<CRLF>
	<message> ^C

BUG is really the same program as MAIL, except that instead of giving
the name of a user, you give the name of a program.  The message is
sent to the maintainers of that program - that is, whoever has elected
to receive complaints about it.  Doing :BUG program <CRLF> is
equivalent to doing :MAIL BUG-program <CRLF>.

Here is an example:

  :bug info
  Msg:
  The description of what bug does is unclear.
  ^C

If there is no mailing list on the current machine for the program you
are sending a BUG about, your message will go to BUG-RANDOM-PROGRAM, a
mailing list of people who are generally knowledgable about the system
and who will try to fix your bug or redirect your problem to the
appropriate person.

The next node tells about the MAIL program in general.
Most of what it says works for :BUG as well.

File: MAIL	Node: QSEND	Next: Top	Up: (DIR)

How to send a message to people logged in at other sites:

:QSEND name1@site1, name2@site2,... <CRLF>
<message> ^C

QSEND is really the same program as MAIL, but it is used to send
messages to a person the way the DDT command :SEND does.  The
difference is that QSEND can send messages to users logged in at any
site on the ARPAnet.  If the person qsent to is not logged in at the
time the message arrives at the site, the message is turned into mail
for him or her.

:S is short for :QSEND, not for :SEND.

The next node tells about the MAIL program in general.  Most of what
it says works for :QSEND as well.

File: MAIL, Node: Keyboard, Previous: Top, Up: Top, Next: Commands

After MAIL prints out "Msg:" you can just start typing the text you
want to send. Use rubout to delete the charcter you just typed, ^W to
delete the last word, and ^U to delete the last line. If you are on an
AI Knight TV, you can type Meta-Rubout (just as in EMACS) to delete
the last word.

When you're through sending the message, type ^C. If you decide you
didn't want to send the message anyway, you can type altmode Q, or ^Z
and then :KILL.

Here's a summary of what various control characters do in MAIL:

	^G: stops typeout
	^L: re-displays mailing list and text.
	^Q: quote next character (altmode or control-character).
	^R: redisplay current line.
	^W: backward delete word.
	^U: delete current line.
	^D: same as altmode.
	CR: safe reply to most any input request.
    RUBOUT: is moderately clever.
  ALT-MODE: command invocation, echoes as a ">" prompt.

	(on AI TVs)
META & TOP: will quote and TOPify, respectively.
META-RUBOUT is the same as ^W.

The next node describes other commands which you can execute after
typing an altmode.

File: MAIL, Node: Commands, Previous: Keyboard, Up: Top, Next: Edit

When you type an alt-mode to MAIL, it responds to a single-charactar
command. Below is a list of the commands and a short description of
what they do. For more information on a particular command, run
the MAIL program and type <altmode><command character>?.

H Help <char>, describes given command.
T To <recipients>, adds them to mailing list.
C CC <recipients>, just like "TO" except the recipients get listed
		with a CC: header.
U Un-to <recipients>, removes from mailing list. * works.
S Subject for the mail, one line (null line deletes).
F From <your real login name>.  Unnecessary unless UNAME wrong.
E Edit escape to EMACS. ^X^C returns to MAIL program.
	*Note Edit: Edit.
N Name for recipient list, header shows this and not real list.
L List the mailing list.
W Write message text to <file>.
A Append <file> to message text.
I Insert <file> (exactly like Append).
Y Yank <file> in, replacing message text.

G Get from <file> data as if typed from console.
	Starts reading <file> data as if it came from the console;
	information in the file will simply be added to whatever
	already exists.  <file> can include commands.
P Put to <file> a GET-able description of message.
Z Zaps message buffer, and gives you an empty one.
	Careful -- doesn't require confirmation.

M Mode switching (mail, send, notification, etc).
V Variant force, specify type of header to use.
	Default variety of message is ITS for solely intra-ITS mail,
	TENEX for mail with one or more non-ITS recipients.  This
	command will force format to whichever you specify.  (CR
	restores the default).
R Receipt mode select - All, Queued, or Failed.
	Default (off) means you will be mailed a receipt for only
	those messages which could not be sent immediately.  If
	enabled, receipts will always be given.  This dates from days
	of unreliable service.

/ Slash switch complement (ON = case conversion like TECO).
	When on, characters will be converted to lowercase unless
	preceded by a slash, just as in TECO.  Useful for entering
	lower case on terminals such as Datapoints.

X (* msgs only) Xpiration date in days.
1 (* msgs only) 1st filename for .MSGS.; file.
2 (* msgs only) 2nd filename for .MSGS.; file.
(For more information on system and bboard messages see
 *Note Announcements: (SYSMSG). )

Q Quit  Asks for confirmation.

File: MAIL, Node: Edit, Previous: Commands, Up: Top, Next: Syntax

Type altmode-E to MAIL to escape to EMACS.  ^X^C returns to the MAIL
program.

An inferior EMACS is created, and the current message text loaded into
it for editing.  One may normally exit from EMACS, and have the
current buffer loaded back as the new message text, by typing ^X ^C.
(Executing FSEXIT or typing ^C in non-^R-mode will also return).  ^K
(valret) as a bare-TECO command will be completely ignored!!  ^Z will
safely interrupt MAIL.

File: MAIL, Node: Syntax, Previous: Edit, Up: Top, Next: Internals

Syntax of a "name" or recipient

The general format is <name>, <name>@<site>, or <name>%<site>.  (From
TIPs, % is easier to type).  All reasonable host nicknames (and unique
fractions thereof) should be recognized.  Complain to BUG-MAIL if your
favorite names aren't there.

Certain names are recognized specially by mail. They begin with an
asterisk, and go the the "Bulletin Boards" of various systems. 
	*Note Announcements: (SYSMSG).

There is a special format of name referred to as "sticky site"; giving
a host specification (i.e., "@site") alone will make that host apply
to all subsequent names which have no host spec, but only until
another host spec is found.  If this is another sticky site, the
default host is now this new sticky site, otherwise it reverts to the
local site regardless of the unsticking host spec.  The idea is to be
able to specify a site and follow it with the names of all recipients
at that site; e.g., mail addressed to
	@sail, foo1,foo2, foo3, bar@ml,friend
	goes to FOO1, FOO2, and FOO3 at Stanford, BAR at Mathlab, and
	FRIEND at the local host.

When sending to a Comsat site (AI, ML, or MC), you may use special
formats such as (BUG program-name) which reports a bug in a program,
(FILE [dir;name1 name2]) which appends to the specified file, and
(@FILE [dir;name1 name2]), which reads a mailing list from the file
and mails to the people in it.

File: MAIL	Node: Internals, Previous: Syntax	Up: Top

There is a job (disowned, variously named after some communications
satellite or another) which does the actual mailing, and enables
network mail to be "sent" irregardless of remote host status; the
satellite simply waits until the destination comes alive.  If this
program is not running, MAIL will try to start it (a rare occurrence
hopefully); in any case mail should be delivered within 10 seconds for
local messages.  What happens is that MAIL writes the message to a
disk file and exits, and the alerted satellite gobbles it up for
sending.  Note that this scheme is painless for large messages,
messages to many recipients, to dead foreign hosts, and to large mail
files (such as SYS).  If the satellite is not orbiting (or otherwise
screwed) mail will take longer, i.e. until it is restarted or fixed,
but will eventually arrive.  (neither crash, glitch, nor parity
error will stay this untiring....)

For information on the internal operation of announcements (system and
bulletin-board messages) see *Note Announcements:(SYSMSG).

Send bugs, suggestions, etc. to BUG-MAIL@AI.
