[comp.protocols.tcp-ip] Mail addresses with '%'

dcrocker@TWG.COM (Dave Crocker) (11/17/88)

Sometime back, Bill Lewandowski asked tcp-ip and sun-spots about the origin
of using per-cent (%) in mail addresses and whether he could use dollar
sign ($) instead, due to some constraints.  I don't know the address of
sun-spots, so this is being sent just to tcp-ip.  Bill tells me that he
got many replies, none of which could elucidate the usage.  To my knowledge,
I introduced it into common use, so here is the history:

At the University of Delaware, we began relaying mail, circa 1979, via
The Rand Corp.  They were attached to the Arpanet and UDel was not. RFC733,
the addressing/format standard in effect at the time, allowed the use of
multiple at-signs (@), which would permit specification of routes.  This would
have been just fine for our needs, except that we could not find a single
mail server or user agent that could handle it.  (The test was not exhaustive,
but after five or ten, it didn't matter, since the addressing scheme had to
be universally acceptable.)

This required that the additional routing information be buried -- i.e.,
Arpanet hosts could be allowed to see only the next-hop host, in this case
Rand.  Any additional route information, usually only one more host, the
destination, had to be invisible.

I checked for the set of characters that were not special to mail systmes OR
TO TERMINAL HANDLERS, ETC.  The mail relay software we had developed (MMDF)
had a telephone link protocol that went through un-modified, line-at-a-time
terminal handlers -- e.g., you did not have to put Unix into raw -- so that
I needed to avoid any operating system-specific special characters.  Only
two or three characters passed this test, with per-cent laying claim to some
degree of being common-sense, since it also is used to mean "in care of",
thereby already being established for one kind of mail processing.

All of this was to be a short-term hack, waiting for addressing standards
to add the ability to specify routing information.  Domain names and the
<@a.b.c, foo@d.e.f> syntax of RFCs 821/822, came a few years later.  
Unfortunately, it was too late.  Some places have actually enacted new
standards that specify semantics for per-cent, officially.  Sigh.

Besides adding complexity, the damn character is upper-case, in that you need
to type shift.  This slows down typing.

Once again we learn that there is no such thing as throw-away code..

Dave