Friday, April 30, 2010

Electronic Mail

Mail

The CTSS MAIL command was proposed in an undated Programming Staff Note 49 by Louis Pouzin, Glenda Schroeder, and Pat Crisman. The CTSS team was then working on the design of a new, improved file system for CTSS with many additional features. Numerical sequence places the note in either Dec 64 or Jan 65. PSN 49 proposed a facility for the system operators so they could inform users when lost files were retrieved from tape, by sending a message to a file in their directory.
I was a new member of the MIT programming staff in spring 1965. When I read the PSN document about the proposed CTSS MAIL command, I asked "where is it?" and was told there was nobody available to write it.
My design contribution to electronic mail was that the original PSN described a limited facility for the CTSS machine operators to notify users when requests to retrieve lost files were completed. I argued successfully for a general facility that let any user send text messages to any other, with any content, instead of a special-purpose command controlled from the 7094 console switches.
MAIL was a privileged command, that could do things normal user programs could not: it used the call (shown in MAD)
ATTACH.(PROB, PROG)
to switch to the recipient's file directory, and then added the message to the user's mailbox file on disk. CTSS supported file locking so that readers and writers did not interfere with each other. Users could not read each others' mailboxes, and MAIL was soon used for personal communication as well as work related messages, though this ability was not emphasized by management, who saw the mail facility as a frivolous use of scarce computing resources.
The CTSS MAIL command took pairs of arguments, the problem and programmer numbers of the recipients:
MAIL M1416 2962
would start sending a message to me. You had to know the problem and programmer numbers for the recipients.
You could send mail to everybody on your project by typing
MAIL M1416
RFC 385 "Comments on the File Transfer Protocol," by Abhay Bhushan of the MAC networking group, dated Aug-18-1972, introduced the MLFL and MAIL commands to FTP, as a way of sending mail. Several further RFCs discussed variations on the idea of sending mail inside FTP. A meeting in Feb 1973 agreed on the use of the @ sign in the proposed FTP TO command so that address had the format user@host, as documented in RFC 469. RFC 498 mentions that the TENEX SNDMSG command could send mail to users at remote hosts using the user@host syntax without requiring an FTP login; I guess this was Ray Tomlinson's code. In November 1975, Jon Postel wrote RFC 706, "On the junk mail problem," suggesting that the problem of junk electronic mail had been at least contemplated, if not experienced. RFC 772, "Mail Transfer Protocol," by S. Sluizer and J. Postel, dated Sep-01-1980, inaugurated a series of RFCs which described the features of the Internet mail protocols, leading eventually to the SMTP protocol used for mail today.









No comments:

Post a Comment