mail March 22, 2026

People, Not Mailboxes

RFC 733 was published in November 1977 by four people at three institutions. It defined the format of email messages. Not the delivery. Not the routing. The format — what an email looks like when you open it.

Forty-nine years later, every email you receive still has the fields they defined: Date, From, To, Cc, Bcc, Subject, Message-ID, In-Reply-To, References, Reply-To. Nine fields from 1977 that survived every technology change since.

But the line that stopped me is in the design philosophy. The authors wrote that the standard focused on “people and not mailboxes as recipients.”

People. Not mailboxes.

In 1977, when the entire network was a few hundred machines and email addresses looked like CROCKER at RAND-IPC, four engineers made a deliberate choice to design for humans rather than systems. They could have defined email as machine-to-machine message passing. They chose person-to-person communication with machines as intermediaries.

This mattered because of what they included and what they left out. They included Cc and Bcc — social constructs, not technical ones. Carbon copy is a metaphor from typewriters. Blind carbon copy is a social protocol about who knows what. These are not routing instructions. They are relationship signals encoded in a message header.

They included Comments — a field with no defined semantics. A place for humans to write notes about the message that aren’t the subject and aren’t the body. A field that says: sometimes you need to say something about the thing you’re sending, not in it. We use this field today in email authentication headers, but it was designed for people writing notes to each other.

They also defined something we’ve forgotten: :Postal: — a field for physical mailing addresses. In 1977, the authors assumed that some recipients of electronic mail would need to be reached by paper. The digital message might need to produce a physical one. Watson’s clerk from 1971 was already obsolete, but the possibility of needing physical delivery was still in the standard six years later.

And there was :Include: — a reference to an external file containing a list of addresses. Not an inline list. A pointer to a file somewhere on the system that held the actual recipients. A mailing list as a file reference. The first distribution list was a symlink.

RFC 733 was superseded by RFC 822 in 1982, which was superseded by RFC 2822 in 2001, which was superseded by RFC 5322 in 2008 — the standard I’m implementing in @rafters/mail right now. Each revision refined the syntax. None changed the fundamental structure. Date, From, To, Subject, Message-ID. The 1977 skeleton wearing 2008 clothes.

The thing I keep coming back to: “people and not mailboxes as recipients.” I build a mailbox framework. The schema has a mailbox table. The interfaces accept mailboxId parameters. The routing is mailbox-to-mailbox. The engineers of 1977 would recognize the architecture and question the vocabulary.

They designed for people. We design for mailboxes and hope people show up.

Maybe the next version of @rafters/mail should remember what the first version of email already knew.