CINXE.COM
The History of Electronic Mail
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>The History of Electronic Mail</title> <meta name="description" content="Personal history of Tom Van Vleck. The history of electronic mail and instant messaging, written in 1965 for MIT Computation Center's CTSS timesharing system and later re-implemented on Multics."> <meta name="keywords" content="history, computer, programming, email, messaging, chat"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- stdformat.htmi --> <link rel="stylesheet" href="tvvstyle.css"> <style> body {margin: 0px 0px; padding: 0px; text-align: center;} .outer {min-width: 200px; max-width: 800px; width: auto !important; width: 600px; margin: 0px auto; text-align: left; padding: 5px;} .tail {text-align: center; margin: 10px auto;} @media print { .navbar {display: none;} .tail {display: none;} a {text-decoration: none;} a:link {color: black;} } </style> <style> .ttyex {font-family: monospace; font-weight: bold; margin: 1em 3em 1em 3em;} </style> </head> <body> <div class="outer"> <p id="fltdatebox"> 2024-03-23 </p> <h1>The History of Electronic Mail</h1> <span class="author">Tom Van Vleck</span> <p> Computer mail and messaging have probably been independently invented many times. I do not know who first invented these applications; I haven't found any documented versions of computer mail that precede the one I helped create in 1965. This note describes my knowledge of the history of electronic mail and instant messaging. </p> <p class="sm"> (I don't really like to use the term "e-mail" or "email." I usually just call it "mail." The use of electrons for mail may someday become quaint, replaced by photons or quarks; should we prepare to speak of "p-mail" or "q-mail"?) </p> <h2>CTSS</h2> <p> The <a href="../thvv/7094.html" title="The IBM 7094 computer, and MIT Computation Center's CTSS time-sharing system.">Compatible Time-Sharing System (CTSS)</a> was begun at the MIT Computation Center in 1961. By 1965, there were hundreds of registered users from MIT and other New England colleges, and CTSS service was provided every day to up to 30 simultaneous users on each of the Computation Center and Project MAC IBM 7094s. </p> <p> CTSS allowed users to log into MIT's <a href="../mga.html#7094" title="glossary: IBM's most powerful scientific computer in 1963, the platform...">IBM 7094</a> from remote dial-up terminals, and to store files online on disk. This new ability encouraged users to share information in new ways. When geographically separated CTSS users wanted to pass messages to each other, they sometimes created files with names like <span class="cmd">TO TOM</span> and put them in "common file" directories, e.g. <span class="cmd">M1416 CMFL03</span>. The recipient could log into CTSS later, from any terminal, and look for the file, and print it out if it was there. </p> <h3>Mail</h3> <p> A proposed CTSS <span class="cmd">MAIL</span> command was described in an undated Programming Staff Note 39, <a href="psn-39.pdf" target="_blank">"Minimum System Documentation"</a> by Pat Crisman, Glenda Schroeder, and Louis Pouzin. Numerical sequence places the note in either Dec 64 or Jan 65. PSN 39 proposed a plan for documenting the CTSS system as many of its developers transitioned to the Multics development project. Among other topics, PSN 39 suggested creation of a facility that would allow any CTSS user to send a message to any other. The proposed uses were communication from "the system" to users informing them that files had been backed up, communication to the authors of commands with criticisms, and communication from command authors to the CTSS manual editor. </p> <div class="rtpicn" style="width: 144px;"><a href="vvimg/nim.jpg"><img src="vvimg/nim-small.jpg" width="144" height="216" alt="Noel looking out window" title="Noel Morris, Mt Carrigan, Jun 68" srcset="vvimg/nim-small.jpg 1x, vvimg/nim-small-2x.jpg 2x"></a></div> <p> My colleague <a href="../multicians.html#MorrisNI" title="Multician: System (MIT, CISL): MRGEDT, 6.36, EPL runtime, File system, FIM, Initialization, BOS, FDUMP, Phase One, ESD, Backup, Printer DIM, Tape DIM, Disk DIM, NSS, MPC loading, EPLBSA, reconfiguration.">Noel Morris</a> and I were new members of the MIT sponsored research staff in spring 1965, working for the Political Science department. When we read the PSN document about the proposed CTSS <span class="cmd">MAIL</span> command, we asked "where is it?" and were told there was nobody available to write it. Noel and I wrote a version of <span class="cmd">MAIL</span> for CTSS in the summer of 1965 and contributed it to the system. Noel saw how to use the features of the new CTSS file system to send the messages, and I wrote the actual code that interfaced with the user. (We made a few changes from the proposal during the course of implementation: e.g. to read one's mail, users just used the <span class="cmd">PRINT</span> command instead of a special argument to <span class="cmd">MAIL</span>.) </p> <p>The CTSS manual writeup and the source code of <span class="cmd">MAIL</span> are <a href="../thvv/mail-details.html" title="Manual pages and source of electronic mail and instant messaging in the 1960s.">available online</a>.</p> <p> The idea of sending "letters" using CTSS was initially resisted by management, as a waste of resources. However, CTSS Operations did need a facility to inform users when a request to retrieve a file from tape had been completed, and we proposed <span class="cmd">MAIL</span> as a solution for this need. (Users who had lost a file due to system or user error, or had it deleted for inactivity, had to submit a request form to Operations, who ran the <span class="cmd">RETRIEVE</span> program to reload them from tape.) Since the blue 7094 installation in Building 26 had no CTSS terminal available for the operators, one proposal for sending such messages was to invoke a program from the 7094 console switches, inputting a code followed by the problem number and programmer number in BCD. I argued that this was much too complex and error prone, and that a facility that let any user send arbitrary messages to any other would have more general uses, which we would discover after it was implemented. <span class="cmd">MAIL</span> was added as a CTSS command in August 1965 and announced in <a href="../thvv/cb-88.pdf" title="CTSS BULLETIN 88, 61KB PDF">Comp Center CTSS BULLETIN 88</a>. </p> <p> <span class="cmd">MAIL</span> was a privileged command, that could do things normal user programs could not: it used the call (shown in MAD) </p> <p class="ttyex"> ATTACH.(PROB, PROG) </p> <p> to switch to the recipient's file directory, and then added the message to the user's PRIVATE mode 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 <span class="cmd">MAIL</span> was soon used for personal communication as well as work related messages. </p> <p>The CTSS <span class="cmd">MAIL</span> command took the file name to be sent and then pairs of arguments, the problem and programmer numbers of the recipients:</p> <p class="ttyex"> MAIL F1 F2 M1416 2962 </p> <p> would send a mail message containing the contents of file <span class="cmd">F1 F2</span> to my mailbox. You had to know the problem and programmer numbers for the recipients. You could also send mail to a list of recipients stored in a disk file: </p> <p class="ttyex"> MAIL F1 F2 (LIST) ADDR FILE </p> <p>You could send mail to everybody on your project by typing</p> <p class="ttyex"> MAIL F1 F2 M1416 * </p> <p> You couldn't send mail to <span class="cmd">* *</span> (that is, all users on all projects) unless your programmer number or problem number was canned into the <span class="cmd">MAIL</span> program. <a href="../multicians.html#MillsRG" title="Multician: Administration (MIT): Asst Director Project MAC, Director IPS.">Dick Mills</a>'s (assistant director, Project MAC), Bill Bierstadt's (system administrator, MIT Comp Center), and my programmer numbers were baked into the code. We, and any user on the problem number <span class="cmd">M1416</span>, used for CTSS system programming, could send messages to all users. Because <span class="cmd">MAIL</span> was privileged, users could trust that messages were sent by the person named in the header, unless their password had been compromised. </p> <p> The <span class="cmd">MAIL</span> command created or inserted messages into a file called <span class="cmd">MAIL BOX</span> in the recipient's home directory. Privileged users could send <span class="cmd">URGENT MAIL</span> instead, and could send mail even if the user's disk quota was exhausted. The <span class="cmd">LOGIN</span> command was modified to print </p> <p class="ttyex"> YOU HAVE MAIL BOX </p> <p>or </p> <p class="ttyex"> YOU HAVE URGENT MAIL </p> <p>at login if these files existed and had nonzero length.</p> <p> Since it uses the <span class="cmd">ATTACH.</span> call, I believe <span class="cmd">MAIL</span> could not have been implemented until after the CTSS New File System, which was put up for users on 8/9/65. </p> <p> While we were implementing MAIL, Noel and I wrote the absolute minimum program that would work. There were many suggested features, options, etc. We left them out. Our idea being to get it working, and put features in later after community discussion. </p> <p> The essential features of MAIL messages were </p> <ul> <li>user to user, i.e. personal</li> <li>asynchronous</li> <li>file based, persistent</li> <li>secure</li> </ul> <p> Each mail message was </p> <ul> <li>identified by sender and date</li> <li>limited in size to one disk record: 2592 BCD characters</li> </ul> <p> We didn't send between computers because we had only one computer. We didn't send graphics because nobody had a graphics terminal. We didn't have SUBJECT, or other mail headers; but conventions rapidly sprang up. We limited messages in size because disk space was very scarce and expensive. </p> <p> The full source of the CTSS supervisor and its commands is available in <a href="http://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/ctss-source-files/ctss-listings.zip" title="new window: http://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/ctss-source-files/ctss-listings.zip" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> Jerry Saltzer's files at CSAIL</span></a>. The MAD language source of <span class="cmd">MAIL</span> is the first file in file COM5. Authors are not listed, but the code is recognizably mine, by comments, style, and indentation. </p> <h4>"Did My Brother Invent E-Mail ..."</h4> <p> Errol Morris (Noel's brother) <a href="https://opinionator.blogs.nytimes.com/2011/06/23/did-my-brother-invent-e-mail-with-tom-van-vleck-part-five/" title="new window: https://opinionator.blogs.nytimes.com/2011/06/23/did-my-brother-invent-e-mail-with-tom-van-vleck-part-five/" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> blogged about the creation of CTSS MAIL</span></a> in five postings on his <cite>New York Times</cite> blog in June 2011, after some very pleasant telephone conversations with me and a lot of thorough research and fact checking. Errol was also <a href="https://www.wbur.org/2011/06/21/errol-morris" title="new window: https://www.wbur.org/2011/06/21/errol-morris" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> interviewed on NPR</span></a> about his article on June 20, 2011. Errol's blog was discussed, and his and my voices appear, in a Reply All Podcast on January 28, 2015. Here is <a href="https://kottke.org/11/06/the-invention-of-social-computing" title="new window: https://kottke.org/11/06/the-invention-of-social-computing" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> Jason Kottke's comment</span></a> on the postings, quoting professors Corbató and Fano. </p> <p class="sm"> Errol's posting is in five parts. But part one doesn't point to part two, and so on. The link above is to part <b>five</b>, which lists all the parts. To read the story, open part five, and then use its links to read the parts in order. Also, sometimes the NY Times web site will not show Errol's postings. Try <a href="https://web.archive.org/web/20200304022538/https://opinionator.blogs.nytimes.com/2011/06/23/did-my-brother-invent-e-mail-with-tom-van-vleck-part-five/" title="new window: https://web.archive.org/web/20200304022538/https://opinionator.blogs.nytimes.com/2011/06/23/did-my-brother-invent-e-mail-with-tom-van-vleck-part-five/" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> the Wayback Machine's copy</span></a> if that happens. </p> <h3>The First Spam?</h3> <p>Brad Templeton wrote <a href="http://www.templetons.com/brad/spam/spam25.html" title="new window: http://www.templetons.com/brad/spam/spam25.html" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> a nice article on the history of spam</span></a> on the occasion of the 25th anniversary of the DEC salesman ARPANet spam.</p> <p> There <em>was</em> an earlier mass electronic mail message sent to a large community of unwilling readers [my definition of spam] that predates the 1978 DEC spam. This message was sent using CTSS <span class="cmd">MAIL</span> about 1971, at a time of campus unrest and anti-war rallies. </p> <p> By the start of the 70s, there were over a thousand users of MIT's CTSS system, using the system by dial-up from the MIT campus and from other, mostly academic, locations. They used <span class="cmd">MAIL</span> to coordinate, share information on all kinds of topics, etc, just as now. In those days I led the system programming group for some of MIT's computing services including CTSS, and I was mighty displeased one day, probably about 1971, to discover that one of my team had abused his privilege to send a long anti-war message to every user of CTSS that began </p> <p class="ttyex"> THERE IS NO WAY TO PEACE. PEACE IS THE WAY. </p> <p>I pointed out to him that this was inappropriate and possibly unwelcome, and he said, "but this is <strong>important!</strong>"</p> <p> Noel Morris and I had foreseen the possibility of inappropriate mass mailing in the original <span class="cmd">MAIL</span> command, and put in code to prevent it. Then, as now, <a href="../thvv/spamfilt.html" title="Worth the effort.">anti-spam measures</a> were not always effective, and then, as now, the spammer thought that his behavior shouldn't be subject to the rules. </p> <p> (This story was in <cite>Wired</cite> Magazine in April 1998. It is no longer online. The author got my name wrong and thought that the story had something to do with mailing lists. The programmer who sent the message, and Noel, are both gone.) </p> <p>Now we all have to filter spam. I wrote up <a href="../thvv/spamfilt.html" title="Worth the effort.">how I deal with over fifteen thousand spam messages a day</a>. </p> <h3>US Post Office</h3> <p> There was a lot of nervousness in the mid 60s about ticking off the US Post Office. Calling our facility <span class="cmd">MAIL</span> was thought by some to be a Bad Idea, because they feared the Post Office would require the destruction of a first class stamp for each message sent. If you put a personal note in a parcel, the rule then was that you were supposed to cancel and attach first class postage, because the US Post Office had a monopoly on mail transmission. </p> <p> We cautiously tried to find out who to ask. We didn't want to ask any low-level people who could only say "no." Finally an MIT professor met someone fairly high up in the Postal Service, who said forget it, don't worry. </p> <h3>Instant messaging</h3> <p> Noel Morris and I also wrote a tool for CTSS in spring 1965 called <span class="cmd">. SAVED</span> (dot saved), inspired by the design for the future <a href="../shell.html" title="RUNCOM and its progeny.">Multics shell</a>. <span class="cmd">. SAVED</span> provided, among other features, a user interface that allowed users to do "instant messaging." There were entry points to the CTSS supervisor that supported such messaging (written by <a href="../multicians.html#Fenichel" title="Multician: System (MIT): 6.36, GEBUG, reserver design.">Bob Fenichel</a> and described in <a href="psn-27.pdf">Programming Staff Note 27</a>, Jun 1964 and <a href="psn-30.pdf">Programming Staff Note 30</a>, Aug 1964) but no user-level way to use them: our program provided a user interface to Bob's code that allowed users to insert lines of text into the terminal output buffer of other logged-in users, and managed deferring and allowing communication so that program output would not be interrupted by messages. Noel did most of the programming on this feature, all in FAP. <span class="cmd">. SAVED</span> was a user-contributed program that was <a href="mail-details.html#dotmanual">described in the 1969 edition of the CTSS manual</a>. (Multics was still in the design phase then, so <span class="cmd">. SAVED</span> was an example of a successor system influencing its predecessor.) FAP source for this program is also available in the Saltzer source collection. </p> <p> I think a feature was also added to to <span class="cmd">. SAVED</span> to announce mail if it arrived while you were logged in, by checking the length of <span class="cmd">MAIL BOX</span> after every command. </p> <h2>Other Systems of the 60s</h2> <!-- ORVYL/WYlBUR/MILTEN (1967-68), https://www.slac.stanford.edu/spires/explain/manuals/ORVMAN.HTML --> <!-- DTSS --> <!-- MTS (1967) mail was not till 1981 --> <!-- CP-67 had WTO messages, mail was in 70s --> <!-- PDP-6 (talk), ITS --> <!-- Burroughs --> <h3>SDC</h3> <p> SDC's Q32 operating system had inter-user messages (the <span class="cmd">DIAL</span>, <span class="cmd">LINK</span> and <span class="cmd">JOIN</span> commands) in 1963, as described in Prof. David Hemmendinger's paper <a href="http://cs.union.edu/~hemmendd/History/messaging.pdf" title="new window: http://cs.union.edu/~hemmendd/History/messaging.pdf" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> Messaging in the Early SDC Time-Sharing System</span></a>. According to him, there was no <span class="cmd">MAIL</span> facility on the Q32 system. We probably knew about the messaging features; the timesharing world was very small in those days, and system developers knew each other and borrowed ideas freely. I visited a friend at SDC in 1967 and saw an informal demo of the Q32 that included sending a message to the operator with <span class="cmd">DIAL</span>. </p> <h3>BBN Mercury</h3> <p> BBN was working on a project named "Mercury" in 1965 which was described as "electronic mail." We knew that it existed but nothing about its features or audience. I don't know if the project was ever completed. </p> <h3>SDS 940</h3> <p> Tom Watson posted a message to <span class="pathname">alt.folklore.computers</span> remarking that the SDS 940 had local inter-user mail in the mid-60s. Bob Frankston reminds me that the 940 also had inter-user messaging. </p> <h3>AUTODIN</h3> <p> This military messaging system was begun in 1962 (Philco-Ford was the contractor) and deployed starting in 1966. Its messages were something like electronic mail. SAGE may have had something similar. </p> <h2>Multics</h2> <h3>Mail</h3> <p> The first <a href="../multics.html" title="Multics site home page">Multics</a> <span class="cmd">mail</span> command was a direct re-implementation of CTSS <span class="cmd">MAIL</span>, by me, in summer 1969, because once again there was nobody available to do it right. At the time, we were under pressure to make Multics a complete replacement for CTSS, and one of the difficult features to replace was <span class="cmd">MAIL</span>: Multics did not have the concept of a "privileged" command that could do things the user could not. Designs that used a <a href="../mgd.html#daemon" title="glossary: A beneficent spirit. A process, not associated with a...">daemon</a> process to write the user's mailbox were complex and would increase load on an already loaded system. The only design I could find was one that depended on the good behavior of the users. </p> <p> Original Multics <span class="cmd">mail</span> lacked privacy, authentication, and security, since it simply opened the user's mailbox as a shared memory <a href="../mgs.html#segment" title="glossary: User-visible subdivision of a process's address space, mapped onto...">segment</a> and added the message to the bottom. There was a lock word at the first location of the mailbox, which was stored into with the <a href="../mgs.html#STAC" title="glossary: Store A (accumulator) Conditional (on memory operand being zero.)...">STAC</a> (Store A Conditional) instruction to coordinate writers of the mailbox. All users' mailboxes had read and write permissions to all users by default. Since at that time, most Multics users were system developers, we chose to provide a facility for coordination among geographically distributed people, even though it could not provide privacy for the messages. </p> <p>The user interface was quite similar to CTSS <span class="cmd">MAIL</span>: the user typed</p> <p class="ttyex"> mail VanVleck.Multics </p> <p> and the command, by convention, appended messages to the mailbox <span class="pathname">>user_dir_dir>Multics>VanVleck>VanVleck.mbx</span>. Once again, you had to know the user's registered name and project in order to send mail. To read mail, a user couldn't just print the mailbox, since the lock word at the beginning was binary, not ASCII, and because the Multics virtual memory system did not support file-locking semantics. Instead, the user typed </p> <p class="ttyex"> mail </p> <p> to read mail. I thought it was a good idea to have one command do two things. I regret this non-intuitive interface now. </p> <p> The Multics <span class="cmd">mail</span> facility was reimplemented to use Multics <a href="../mgm.html#messagesegment" title="glossary: Ring-1 segment that contains individual messages, used to implement...">message segments</a> in ring 1 sometime in the early 70s. This made the mail private, authenticated, and reliable, by moving the mailbox segment into an inner protection ring. The inner-ring program coordinated access to the mailbox, preventing destruction and overwriting, and applied extended access control to the mailbox: message segment access permissions were <span class="pathname">adroswu</span>, for Add, Delete, Read, Own, Status, Wakeup, and Urgent. The extended permission flags allowed us to specify more complex access rules than supported by the Multics virtual memory: for example, that a mail sender could add a message to a mailbox segment but not read its contents, and a user could read messages he or she had written but not those created by others in the same mailbox. (<span class="nb"><img src="mulimg/tinymultics.gif" alt="" width="16" height="16" style="display: inline;"><a href="http://web.mit.edu/multics-history/source/Multics/doc/info_segments/mail.info" title="online info segment">Info segment for the Multics <span class=cmd>mail</span> command</a></span>) </p> <h3>Instant messaging</h3> <p> <a href="../multicians.html#Frankston" title="Multician: Student (MIT): LSS, Core metering.">Bob Frankston</a> wrote the <span class="cmd">send_message</span> and allied commands for Multics about 1970, to provide Multics with instant messaging similar to that in CTSS and the SDS-940. The <span class="cmd">accept_messages</span> command established an <a href="../mge.html#eventchannel" title="glossary: See IPC. A process declares an event channel so...">event-call channel</a> in the user's process and wrote its ID into a shareable segment in the user's home directory. The command </p> <p class="ttyex"> send_message VanVleck.Multics Want to go to the <a href="../tech-square.html" title="Where we worked">F&T</a>? </p> <p> would place the message in the shared segment and send a wakeup. The process that had accepted messages would execute the event-call channel's handler, type out the message, and remove it. Once again, these messages were forgeable and trashable. </p> <p> With Bob's permission, I adapted his code into the library of <a href="../mgs.html#sss" title="glossary: Commands and subroutines provided with Multics, necessary for use...">standard Multics commands</a> and a subroutine interface for message sending, when I was making improvements to the <a href="../mgi.html#IOdaemon" title="glossary: The I/O daemon process runs all the printers and...">I/O daemon</a> in the early 70s. When you <a href="../printer.html" title="Printers, listings, and crash dumps.">printed a file on Multics</a>, the print daemon could be asked to send you an instant message when the job printed, showing the physical printer and the print job sequence number. This message helped you track down missing output and saved trips to the printer looking for output that hadn't been printed yet. My version of the <span class="cmd">accept_messages</span> command allowed the user to specify a command to be executed on each arriving message: some users used this to silently save the print daemon messages in a file, while printing out all other messages. </p> <p> The messaging facility's internals were also re-written about 1974 to use message segments, and integrated with the mail facility. The Wakeup and Urgent extended access control permissions allowed each user to specify which other users could cause an interrupt. </p> <h3>Online Meetings</h3> <p> In the 1970s, Multics was used to create an extremely useful on-line meeting facility, which was used as another means of electronic communication. <a href="../mgu.html#USGS" title="glossary: US Geological Survey. Multics customer. Three sites: Menlo Park...">USGS</a> employee Pat Doherty wrote <a href="../mgc.html#continuum" title="glossary: Bulletin board program that ran on Multics in the..."><span class="cmd">continuum</span></a>, a bulletin board program that supported threaded discussions on multiple topics, like the later USENET. Continuum was rewritten and hosted on the <a href="../site-sysm.html" title="Honeywell System M, Phoenix AZ">Honeywell Phoenix Multics machine</a> to coordinate benchmarks, and then became an internal tool for developers to discuss proposed software changes. When <span class="cmd">continuum</span> was made part of the Multics product in the 1980s, it was renamed <a href="../mgf.html#forum" title="glossary: (1) Bulletin board system. A descendant of Pat Doherty's..."><span class="cmd">forum</span></a>. <span class="cmd">forum</span> was used by other Multics sites for online discussions: one extensive use was by the US National Security Agency to coordinate discussions of security certification by the users of the <a href="../site-dockmaster.html" title="US National Security Agency, Linthicum MD">DOCKMASTER system</a>. Noah Davids wrote a <a href="../noah.html" title="1983 paper on forum">paper</a> in 1983 describing the features and use of <span class="cmd">forum</span>. </p> <h3>Other Honeywell Products</h3> <p> Here is an advertisement titled <a href="vvimg/honeywell_email.jpg">"What the Heck is Electronic Mail?"</a> that Honeywell ran in computer magazines from 1977 to the early 80s. I think this campaign referred to the Honeywell Level 6 operating system, which had many features inspired by Multics. Honeywell also marketed a Multics "Executive Mail" interface to the mail system in the 70s and 80s. </p> <h3>Other Companies</h3> <p> <a href="../thvv/360-67.html" title="The IBM 360 model 67 computer, and the CP/CMS operating system.">IBM CP/CMS</a> had electronic mail as early as 1966, and was widely used within IBM in the 1970s. Eventually this facility evolved into the PROFS product in the 1980s. </p> <h3>Unix</h3> <p> The <a href="http://man.cat-v.org/unix-1st/1/mail" title="new window: http://man.cat-v.org/unix-1st/1/mail" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> <span class="cmd">man</span> page for V1 AT&T Unix mail</span></a> suggests that it worked like CTSS mail, by appending to a file in a specified user's home directory. The <a href="https://minnie.tuhs.org/cgi-bin/utree.pl?file=V5/usr/source/s2/mail.c" title="new window: https://minnie.tuhs.org/cgi-bin/utree.pl?file=V5/usr/source/s2/mail.c" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> <span class="cmd">c</span> source for V5 AT&T Unix mail</span></a> is also available online, with a date of 1974-11-27. (Presumably Unix mail ran as <span class="cmd">setuid</span>, so it could write into a destination mailbox owned by some other user.) </p> <h2>ARPANet mail</h2> <p> <a href="../multicians.html#Licklider" title="Multician: Administration (ARPA): Director IPTO; Administration (MIT): Director, Project MAC.">J.C.R. Licklider</a> mentioned inter-computer mail to me in a conversation about 1968, when he asked me if I was interested in a project he had in mind, "to connect all the ARPA-funded machines together, and see what they said to each other." He was recruiting folks for what became the Project MAC networking group. By that time, many time-sharing systems had some kind of internal mail. Discussion of linking the mail systems on various computers was one of the earliest applications proposed for the <a href="../mga.html#ARPANet" title="glossary: Network first constructed by ARPA, which decades later became...">ARPANet</a>. </p> <p> A series of ARPANet RFCs discuss the "Mail Box Protocol," which was a way of sending messages to an ARPANet host preceded by a user ID. What the site did with such mail afterward was its problem. The first was RFC 196, "Mail Box Protocol," by R. W. Watson, dated Jul-20-1971. It is not clear this protocol was ever implemented. </p> <p> <a href="../mx-net.html" title="The evolution of Multics communication and networking facilities.">Multics was connected to the ARPANet</a> in October 1971, and a method of sending mail to other machines on the net and receiving mail from them was done in early 1972 by the MAC networking group, led by Mike Padlipsky; see his <a href="../allnight.html" title="The history of the Internet. An article for <cite>Matrix News</cite>.">"And They Argued All Night..."</a>, and RFC 491. Because the <span class="pathname">@</span> was a line kill character in Multics, sending mail from Multics to other hosts used the control argument <span class="pathname">-at</span> instead. </p> <p> In late 1971, the late Ray Tomlinson of BBN modified the TENEX system's mail program <span class="cmd">SNDMSG</span> to send messages over the ARPANet to users on other TENEX systems, according to Ray's page, "The First Network Email" (no longer available). This feature was included in the next release of TENEX to user sites in early 1972. Many ARPANet sites used TENEX, and users of these sites could send mail to each other beginning in 1972. Besides sending the first network email, Ray chose the <span class="pathname">@</span> sign to separate user name from host name in mail addresses. </p> <p> Mail software that could send messages between ARPANet hosts with different operating systems was developed step by step, by many researchers at many sites, in the following years. By 1973, e-mail constituted 75 percent of ARPANet traffic, according to Wikipedia. </p> <p> At first, inter-computer mail was seen as a matter of sending file contents, as CTSS and TENEX had done. RFC 385 "Comments on the File Transfer Protocol," by Abhay Bhushan of the MAC networking group, dated Aug-18-1972, proposed adding <span class="cmd">MLFL</span> and <span class="cmd">MAIL</span> commands to FTP, as a way of sending mail. Several further RFCs discussed variations on the idea of sending mail inside the File Transfer Protocol (FTP). A meeting in Feb 1973 agreed on the use of the <span class="pathname">@</span> sign in the proposed FTP <span class="cmd">TO</span> command so that address had the format <span class="pathname">user@host</span>, as documented in RFC 469. </p> <p> As more systems connected to the ARPANet, with different ideas of what "mail" was, treating mail as transferring files became more and more of a stretch. It was proposed that mail could be sent from one "mail transfer agent" to another and get delivered when the recipient's machine was connected to the ARPANet. RFC 498 mentions that the TENEX <span class="cmd">SNDMSG</span> command could send mail to users at remote hosts using the <span class="pathname">user@host</span> syntax without requiring an FTP login; 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. </p> <p> Craig Partridge wrote a thorough and illuminating article on Internet mail: <a href="http://emailhistory.org/papers/partridge-email.pdf" title="new window: http://emailhistory.org/papers/partridge-email.pdf" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> "The Technical Development of Internet Email"</span></a>, <cite>IEEE Annals of the History of Computing</cite>, vol. 30, no. 2, 2008, pp. 3-29. </p> <p> Dave Crocker wrote an article in the <cite>Washington Post</cite> Web site on Internet mail: <a href="https://www.washingtonpost.com/national/on-innovations/a-history-of-e-mail-collaboration-innovation-and-the-birth-of-a-system/2012/03/19/gIQAOeFEPS_story.html" title="new window: https://www.washingtonpost.com/national/on-innovations/a-history-of-e-mail-collaboration-innovation-and-the-birth-of-a-system/2012/03/19/gIQAOeFEPS_story.html" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> "A history of e-mail: Collaboration, innovation and the birth of a system"</span></a>, March 20, 2012. <span class="dochist">This article is behind the Washington Post paywall.</span> He has also created a <a href="http://emailhistory.org/" title="new window: http://emailhistory.org/" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> Web page with pointers to email history</span></a> and a mail discussion list. <!-- Pexton apology: https://www.washingtonpost.com/blogs/omblog/post/origins-of-e-mail-my-mea-culpa/2012/03/01/gIQAiOD5kR_blog.html --> </p> <p> The late Dave Walden also created a <a href="http://walden-family.com/bbn/email-invention.html" title="new window: http://walden-family.com/bbn/email-invention.html" target="_blank" rel="noopener"><span class="nb"><img src="mulimg/tinyglob.gif" alt="" width="12" height="11" style="display: inline;"> Web page with pointers to email history</span></a> on his site. </p> <hr> <p>You may also be interested in my note on <a href="../thvv/emailbad.html" title="effective use of electronic communication">The Risks of Electronic Communication</a>.</p> <hr> <p class="datemod"> Posted 01 Feb 2001 <br> updated 06 Oct 2002, 30 Apr 2003, 29 Oct 2003, 10 Sep 2004, 25 May 2008, 20 Dec 2010, 20 Mar 2012, 08 Aug 2013, 06 Jul 2018, 23 Mar 2024. <br> Thanks to Bob Frankston, Jerry Saltzer, Quinn DuPont, and Larry Roberts for corrections, to Prof. David Hemmendinger for information on the Q32 TSS, and to Roger Roach for CTSS BULLETIN 88. </p> <p class="dochist"> Peter Salus interviewed me on this subject in 1998 for the <span class="deadlink" title="dead link"><cite>Matrix News</cite></span>. </p> <p class="dochist"> An article by me based on this web page was published as <a href="../thvv/anhc-34-1-anec.html" title="Journal article on the history of electronic mail and instant messaging">"Electronic Mail and Text Messaging in CTSS, 1965-1973"</a>, in the <cite>IEEE Annals of the History of Computing</cite> Vol. 34, No. 1: January-March 2012, pp. 4-6. It is available from IEEE as <a href="https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6161671" target="_blank">DOI 10.1109/MAHC.2012.6</a>. My profound thanks to Dave Walden, editor of the Anecdotes department, and another pioneer of electronic mail. </p> <p class="copyright"> Copyright (c) 2001-2024 by Tom Van Vleck </p> <div class="tail"> <div class="textnav"> <a href="../thvv/tvv-home.html?1" title="Home Page">Home</a> | <a href="../thvv/tvvvita.html?1" title="Vita">Resume</a> | <a href="../multics.html" title="Multics site home page">Multics</a> | <a href="../thvv/7094.html?1" title="The IBM 7094 computer, and MIT Computation Center's CTSS time-sharing system.">CTSS</a> <br> <a href="../thvv/tvvswe.html?1" title="Stories about software engineering practices and lessons.">SE Stories</a> | <a href="../thvv/mulvaney.html?1" title="Cartoon booklet about bomb disposal from World War II.">Mulvaney</a> | <a href="../thvv/mushrooms.html?1" title="Lessons about hunting mushrooms.">Mushrooms</a> | <a href="../thvv/affinity.html?1" title="How to use Affinity Photo to prepare web graphics.">Photo</a> | <a href="../thvv/borges-animals.html?1" title="Jorge Luis Borges' essay on classification of animals.">Borges</a> </div> <form method="post" action="https://multicians.org/cgi-sys/cgiwrap/thvv/squirnet.cgi" class="mf"><address><input type="hidden" name="formtpt" value="vvmft.txt"><input type="hidden" name="name" value="Tom Van Vleck"><input type="hidden" name="sortkey" value="editor"><input type="text" name="approved" size="9" class="mfx"><input name="send" type="submit" value="mail Tom Van Vleck" title="send mail to Tom Van Vleck" class="mfaddr"></address></form> </div> </div> </body> </html>