RFC 561

Standardizing Network Mail Headers

πŸ“… published September 1973, from ietf

RFC 561 ✨ Standardizing Network Mail Headers

okay bestie, let's get into it πŸŽ€ Here's the title block tea: this is RFC 561 (NIC # 18516), written by four legends: Abhay Bhushan (AKB) at MIT-DMCG, Ken Pogran (KP) at MIT-MULTICS, Ray Tomlinson (RST) at BBN-TENEX, and Jim White (JEW) at SRI-ARC. It's dated 5 September 73 πŸ¦‹. The original doesn't state a category or status, and it doesn't list anything it obsoletes or updates, so there's nothing more to add there πŸ’….


The big problem with the current FTP mail protocol is that it has no way to explicitly specify header info like author, title, and date 😭. Lots of systems send that info, but every one of them uses a different format. That's a seriously messy situation, because it's next to impossible for a system or user program to intelligently process incoming mail πŸ’€.

The long-term fix is probably to add commands for specifying that info to the mail protocol command space (as suggested in RFC 524 -- 17140,). But the authors want something that can be implemented way faster for the interim, so they propose exactly that ✨.

So here's the vibe: the text of network mail gets governed by the syntax below, whether it's sent over the FTP telnet connection (using the MAIL command) or over a separate data connection (using the MLFL command) 🌸.

Example

   From: White at SRI-ARC
   Date: 24 JUL 1973 1527-PDT
   Subject: Multi-Site Journal Meeting Announcement
   NIC: 17996

   At 10 AM Wednesday 25-JULY there will be a meeting
   to discuss a Multi-Site Journal in the context of
   the Utility.  Y'all be here.

Formal Syntax πŸ“œ

   <mailtext>    ::= <header> <CRLF> <message>
   <header>      ::= <headeritem> ! <headeritem> <header>
   <headeritem>  ::= <item> <CRLF>
   <item>        ::= <authoritem> ! <dateitem> !
                     <subjectitem> ! <miscitem>

   <authoritem>  ::= FROM: <SP> <user> <SP> AT <SP> <host>
   <dateitem>    ::= DATE: <SP> <date> <SP> <time> - <zone>
   <subjectitem> ::= SUBJECT: <SP> <line>
   <miscitem>    ::= <keyword> : <SP> <line>
   <date>        ::= <vdate> ! <tdate>
   <vdate>       ::= <dayofmonth> <SP> <vmonth> <SP> <vyear>

   <tdate>       ::= <tmonth> / <dayofmonth> / <tyear>
   <dayofmonth>  ::= one or two decimal digits
   <vmonth>      ::= JAN ! FEB ! MAR ! APR ! MAY ! JUN !
                     JUL ! AUG ! SEP ! OCT ! NOV ! DEC
   <tmonth>      ::= one or two decimal digits
   <vyear>       ::= four decimal digits
   <tyear>       ::= two decimal digits
   <zone>        ::= EST ! EDT ! CST ! CDT ! MST ! MDT !
                     PST ! PDT ! GMT ! GDT
   <time>        ::= four decimal digits
   <user>        ::= <word>
   <host>        ::= a standard host name
   <message>     ::= <line> <CRLF> ! <line> <CRLF> <message>

   <keyword>     ::= <word>
   <line>        ::= a string containing any of the 128 ASCII
                     characters except CR and LF
   <word>        ::= a string containing any of the 128 ASCII
                     characters except CR, LF, and SP
   <CRLF>        ::= CR LF
   <SP>          ::= space

Things to note, bestie 🧚:

  1. <authoritem>, <dateitem>, and <subjectitem> MAY each appear at most once in <header>, but <miscitem> MAY occur any number of times. The order of <authoritem>, <dateitem>, and <subjectitem> is insignificant, but they MUST come before all occurrences of <miscitem> πŸŽ€.
  2. The case (upper or lower) of keywords is insignificant. We're talking specifically about 'FROM', 'DATE', 'SUBJECT', 'AT', <host>, <zone>, <vmonth>, and <keyword>. Even though 'FROM' shows up in uppercase in the formal syntax above, in the header of an actual message it MAY appear as 'From' (like in the example), or 'from', or 'FrOm', etc. Iconic chaos πŸ’–.
  3. No attempt has been made to legislate the format of <user>, except to exclude spaces from it πŸ™ˆ.
  4. The time has no internal punctuation.
  5. No provision is made for multiple authors πŸ’€.

The authors recommend that mail-sending subsystems which prefix header information to the text of the user's message get modified appropriately. They also recommend that other hosts pass the above conventions along to their users 🫢🌈.

πŸ“¦ where this page comes from