1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
|
RFC # 724
NIC #37435 12 May 1977
Proposed Official Standard for the
Format of ARPA Network Messages
by
Ken Pogran, MIT-LCS/CSR (Pogran at MIT-Multics)
John Vittal, BBN (Vittal at BBN-TENEXA)
Dave Crocker, RAND-ISD (DCrocker at Rand-Unix)
Austin Henderson, BBN (Henderson at BBN-TENEXD)
^L
Proposed Standard for Message Format / ii
PREFACE
ARPA's Committee on Computer-Aided Human Communication
(CAHCOM) wishes to promulgate an official standard for the format
of ARPA Network mail headers which will adequately meet the needs
of the various message service subsystems on the Network today.
The authors of this RFC constitute the CAHCOM subcommittee
charged with the task of developing this new standard; this
document presents our current thoughts on the matter and a
specific proposal.
This document is organized as follows: First, we present a
history, of the development of what has become known as the ARPA
Network "mail" or "message" service, and the issues which we feel
are most pressing -- problems for which solutions are lacking
today, inhibiting the further development of message subsystems.
We then present the specification for the new ARPA Network
Message Header standard. This is followed by a References
section.
Essentially, we propose a revision to Request for Comments
(RFC) 561, "Standardizing Network Mail Headers", and RFC 680,
"Message Transmission Protocol". This revision removes and
compacts portions of the previous syntax and adds several
features to network address specification. In particular, we
focus on people and not mailboxes as recipients and allow
reference to stored address lists. We expect this syntax to
provide sufficient capabilities to meet most users' immediate
needs and, therefore, give developers enough breathing room to
produce a new mail transmission protocol "properly". We believe
that there is enough of a consensus in the Network community in
favor of such a standard syntax to make possible its adoption at
this time.
We would like to make clear the status of this proposed
standard: The CAHCOM Steering Committee has replaced the Message
Service Committee as the ARPANET standards-setting organization
in the area of message services. It is expected that the
proposal of this CAHCOM subcommittee, when in its final form,
will be adopted as an ARPANET standard by CAHCOM. In the
interests of making this standard the best possible one, we are
distributing this proposal as an RFC.
Please send any comments and criticisms to any of the
authors of this RFC by 15 June 1977. It is planned that the
standard will be officially adopted by 1 September 1977, with
hosts expected to accept its syntax by 1 January 1978.
^L
Proposed Standard for Message Format / iii
CONTENTS
I. PROBLEMS WITH ARPANET
MESSAGE STANDARDS
A. Background and History
B. Issues and Conclusions
C. Message Parts
D. Adoption of the Standard
II. STANDARD FOR THE FORMAT
OF ARPA NETWORK MESSAGES
A. Framework
B. Syntax
C. Semantics
D. Examples
III. REFERENCES
APPENDIX
A. Alphabetical Listing of Syntax Rules
^L
I. Problems with ARPANET Message Standards / 1
A. Background and History
I. PROBLEMS WITH ARPANET MESSAGE STANDARDS
A. BACKGROUND AND HISTORY
Today's ARPA Network "mail" or "message" service uses, for
its delivery mechanism, two special commands of the File Transfer
Protocol. Viewed from within the structure of FTP, the entire
message, both header and text, is data for the FTP MAIL and MLFL
commands. This facility was added to the File Transfer Protocol
as an afterthought; it was an interim solution to be used only
until a separate mail transmission protocol was specified.
Several versions of such a protocol have been proposed, but none
has yet received general acceptance. Meanwhile, attempts have
been made to improve upon the original interim facility.
As message service subsystems on various host systems
(especially TENEX) developed to the point where rudimentary
parsing of incoming messages was being done, it became clear that
it would be desirable to standardize the format and content of
the headers of messages transmitted between hosts using these FTP
commands. To this end, an ad hoc committee wrote RFC 561, which
suggested a standard message header format. The committee was
unofficial, so it could not legislate a standard, it could only
recommend. However, the standard it suggested adequately met an
urgent need, and was generally adopted.
Several salient points should be noted:
1. RFC 561 defined the concept of a message header, and
specified the syntax which delimited it from the actual
text of a message;
2. It proposed a standard format for the most obvious and
most urgently-needed header items: "From:", "Date:", and
"Subject:";
3. It proposed that a general standard syntax be used for
all other header items;
4. RFC 561 is still, today, an unofficial standard, adhered
to by most because of its utility;
5. Its syntax was designed to allow humans to read the text
easily, without the aid of special message processing
systems.
^L
I. Problems with ARPANET Message Standards / 2
A. Background and History
As message services grew in sophistication, the need for
specific header items in RFC 561's "miscellaneous" category grew:
"To:" and "cc:", especially, were generated and recognized by
several different message services. However, there was no
specific standard for the syntax of the contents of these items.
The message service subsystems on TENEX developed a particular
format for these items; since more messages originated from the
TENEX hosts on the Network than from any other type of host
system, the TENEX format for these fields soon became a de facto
standard. Message service subsystems on TENEX began to parse
these fields, expecting them to be in the TENEX-generated format.
Message service subsystems on other hosts -- Multics, for example
-- began to dabble with other formats for these fields, since
there was no standard for them, only to receive complaints from
users of TENEX message service subsystems that their "non-
standard" message headers could not be parsed according to the
(de facto) "standard" syntax.
Recognizing that the time had come to make an attempt to
standardize the additional header fields that had come into use
since RFC 561 was published, ARPA's Message Service Committee
chartered a small group in 1975 to develop a revised version of
RFC 561 which would define the syntax of these additional message
header fields. Several things should be noted about this small
group of people: first, they were TENEX-oriented; when the
functionality of the message header items they desired was
matched by the functionality of an already-existing message
header item of the TENEX message subsystems, they adopted the
syntax used by the TENEX message subsystems. Second, they based
additional header items not already found on TENEX message
subsystems on the deliberations of the Message Service Committee.
Third, they were not familiar with the procedure for publication
of a document as a Network RFC.
The document which this group produced, labelled RFC 680,
"Message Transmission Protocol", received only limited
distribution. Matters were further confused because its title
was misleading, since it was not a protocol for the transmission
of messages between ARPA Network hosts, but rather a standard for
the format of messages transmitted via the standard File Transfer
Protocol. Some, including the Message Service Committee,
believed that RFC 680 became a Network Standard. This was not
strictly true, because it never received proper distribution, and
it had never been "officially blessed" by anyone, to turn it from
a request for comments into an accepted official ARPA Network
standard document. Reflecting this confusion over the status of
the document are the facts that the document DOES currently
reside in the "official" ARPANET Protocol Handbook, and most
users and message system implementors remain unaware that this is
so.
^L
I. Problems with ARPANET Message Standards / 3
A. Background and History
For all its shortcomings, RFC 680 has performed a needed
service, just as did RFC 561 before it. It defined additional
message header items at a time when this needed to be done.
Unfortunately, since the group had not sought ideas and input
from others, the specification did not adequately respond to a
sufficient set of community needs. In addition, the manner in
which the document was promulgated -- or not promulgated -- left
a great deal to be desired. Implementators of message-processing
subsystems who had not received RFC 680 proceeded to go their own
ways, feeling justified in doing so, while those who accepted RFC
680 as a standard felt justified in complaining to -- and about
-- those whom they considered to be maverick implementors of
idiosyncratic message service subsystems.
Perhaps because of the ad-hoc nature of the interim mail
facility, users have not, until recently, attempted to push the
system to the limits of their imagination. Presently, however,
several different sites are using the "interim" mail facility for
more than it was designed and in ways which are incompatible both
with each other and with the original intent of the facility.
Mail subsystem implementors are increasingly being asked to
provide for the handling of mail from idiosyncratic hosts. Also,
it has become clear that there are a few very specific features,
too useful to ignore, which cannot reasonably be specified within
the syntax of RFC 680.
B. ISSUES AND CONCLUSIONS
At first glance, it would seem that a resolution of today's
somewhat chaotic situation could best be obtained by immediately
junking the existing "interim" mail facility, and adopting a true
mail transmission protocol. We strongly believe that this would
be ill-advised at this time, for we feel that there is no general
understanding within the Network community today of how to
specify and implement a full and adequate mail transmission
protocol. However, we are convinced that there is, finally, a
strong commitment within the Network community to attack this
problem (which there was not at the time the "interim" mail
transmission facility was specified and developed).
The frontal attacks on the mail protocol problem have, so
far, resulted in at least two suggestions for a mail transmission
protocol. Why should not one of these protocols be adopted
immediately? We feel that, in general, there has been a tendency
for experimental Network software to be prematurely treated as
though it were adequately designed and fully operational.
Typically, the system or protocol proposed is so much better than
what was previously available that its experimental nature is
disregarded, and it is pressed into service before it has had a
^L
I. Problems with ARPANET Message Standards / 4
B. Issues and Conclusions
chance to properly develop and mature. We are very concerned
that this phenomenon not afflict the Network mail system any more
than it already has.
While it is true that there are several sites in the ARPA
Community which have mail systems that understand the syntax
specified in RFC's 561 and 680, in addition to some of the "non-
standard" syntax provided by the mail generating programs at
several other sites, most mail systems do not parse much of the
contents of received messages. A consideration of the syntax
specified here is that messages which are sent to people should
be easily read by people. Parsers which can turn an ugly,
syntactically expedient form into something which is easy to read
are the exception, rather than the rule, in today's message
systems. Also, the modifications to the existing "non-standard"
syntax should be kept to a minimum, enhancing the probability
that the requirement of small perturbations to existing software
will be accepted.
With this syntax, we introduce mechanisms so that:
1. Users of mail systems can have multiple mailboxes, either
on one machine or multiple machines, all of which are
treated identically; the default mailbox for a user is
not necessarily associated (directly) with his login
name.
2. Mail for a person can be sent to other than a single,
default mailbox.
3. Named groups may consist of both individuals and
(possibly) other named groups (i.e., nesting within
groups is permitted).
4. Address lists may contain references to other, stored,
lists. The complete path with which one can retrieve the
stored list may be specified in order to allow either
manual or automatic retrieval of the stored list.
5. Address lists may contain references to addresses which
are not accessible through the standard ARPANET message
system. For example, U.S. Postal system addresses can
be specified. Such addresses are, of course, expected to
be ignored by the ARPANET system, although individual
sites may provide services for using the information
(e.g., automatically sending a copy of the message to a
line printer, in preparation for transmission through the
Postal system).
6. Parenthetical remarks, or comments, can be included and
syntactically recognized as such within some header
items.
^L
I. Problems with ARPANET Message Standards / 5
B. Issues and Conclusions
7. Received messages are capable of being read by humans
without a program having to parse the message (or parts
of it) before presenting the message to the user; however
there is sufficient formal syntax to enable a parsing
program to modify the appearance and content of material
presented to users. Although message-display software
may exercise considerable control over message
appearance, the degree to which a message's actual format
is PLEASANT for humans to read is entirely the
responsibility of the message creation program.
No mechanism for authentication is provided, since the Network
provides no mechanisms for enforcing mail security. The syntax
does provide for one aspect of "correctness": a distinction is
made between an address which is claimed to be a valid network
address and one which is simply free text, included for the
convenience of the human participants.
C. MESSAGE PARTS
Some confusion has existed over the roles played by
different message parts. Einar Stefferud has suggested using the
perspective of envelope, letter head, and letter content. The
presence of structured portions in messages additionally requires
reference to "headers".
In computer-based message systems, human users do not
generally encounter "envelopes", which are often constructed
automatically, to be used by the participating system(s) to
deliver the message. For example on TENEX, the envelope is the
name of the file containing a message awaiting transmission. For
FTP servers, it is the data portion of the MAIL or MLFL command
line. Some systems attach "envelope-like" information to the
message header, such as time-stamp and originating host name.
In paper-based communications, headers occur both before
(e.g., "To:" and "From:" and after (e.g., "cc:" and "enclosure:")
the body of the message. Within this standard, all headers occur
before the body of the message, although local message display
programs may choose to alter that ordering.
Wayne Hathaway has pointed out that ARPANET message format
does not support specification of letterheads, since these are a
type of organizational public relations symbol. Some
idiosyncrasies are supported, however, by way of choosing special
field names.
In general, it is important to realize that the header
portion of a message plays several roles during the life of a
^L
I. Problems with ARPANET Message Standards / 6
C. Message Parts
message, variously participating in each of the three functions
suggested by Stefferud.
D. ADOPTION OF THE STANDARD
During the early phases of specifying this standard, a great
deal of concern was expressed over the problems which may be
experienced during the transition from the current standard to
this new one. We feel that the true problem is the lack of
realization that THERE IS NO CURRENT OFFICIAL STANDARD. Enough
systems have enough overlapping behaviors to allow the current
mail environment to function, but this in no way constitutes a
standard.
In fact, we strongly believe that the new requirements
imposed by the proposed standard involve less complexity than the
ambiguities resulting from the current variations in system
behaviors.
^L
II. Standard for the Format of Messages / 7
II. STANDARD FOR THE FORMAT
OF ARPA NETWORK MESSAGES
This standard supercedes the informal standards specified in
ARPANET Request for Comments numbers 561, "Standardizing Network
Mail Headers", and 680, "Message Transmission Protocol". In this
document, a general framework is described. The formal syntax is
then specified, followed by a discussion of the semantics.
Finally, a number of examples are given.
This specification is intended strictly as a definition of
what is to be passed between hosts on the ARPANET. It is NOT
intended to dictate either features which systems on the Network
are expected to support, or user interfaces to message creating
or reading programs.
A distinction should be made between what the specification
requires and what it allows. Certain equivalences are defined,
such as between a space character <space> and an end-of-line
character <crlf>, which both facilitate the formal specification
and indicate what the OFFICIAL semantics are for messages.
Particular implementations may wish to preserve further
distinctions which the specification does not require.
A. FRAMEWORK
Since there are many message systems which exist outside the
ARPANET environment, as well as those within it, it may be useful
to consider the general framework, and resulting capabilities and
limitations, of this standard.
Messages are expected to consist of lines of text. No
special provisions are made, at this time, for encoding drawings,
facimile, speech, or structured text.
No significant consideration has been given to questions of
data compression or transmission/storage efficiency. The
standard, in fact, tends to be very free with the number of bits
consumed. For example, field names are specified as free text,
rather than special terse codes.
A general "memo" framework is used. That is, a message
consists of some information, in a rigid format, followed by the
main part of the message, which is text and whose format is not
^L
II. Standard for the Format of Messages / 8
A. Framework
specified in this document. The syntax of several fields of the
rigidly-formated ("header") section is defined in this
specification; some of the header fields must be included in all
messages. In addition to the fields specified in this document,
it is expected that other fields will gain common use. User-
defined header fields allow systems to extend their functionality
while maintaining a uniform framework. Our approach is similar
to that of the TELNET protocol, in that we are defining a basic
standard which includes a mechanism for (optionally) extending
itself. The authors of this document will regulate the
publishing of specifications for these extensions.
Such a framework severely constrains document "tone" and
appearance and is primarily useful for most intra-organization
communications and relatively structured inter-organization
communication. A more robust environment might allow for multi-
font, multi-color, multi-dimension encoding of information. A
less robust environment, as is present in most single-machine
message systems, would more severely constrain the ability to add
fields and the decision to include specific fields. Relative to
paper-based communication, it is interesting to note that the
RECEIVER of a message can exercise an extraordinary amount of
control over the message's appearance. The amount of actual
control available to message receivers is contingent upon the
capabilties of their individual message systems.
^L
II. Standard for the Format of Messages / 9
B. Syntax
B. SYNTAX
This syntax is given in four parts. The first part
describes a base-level lexical analyzer which feeds the higher-
level parser described in the succeeding sections. The second
part gives a general syntax for messages and standard header
fields. The third part specifies the syntax of addresses. A
final section specifies some general syntax which supports the
other sections.
1. LEXICAL ANALYSIS OF MESSAGES
a. General Description
A message consists of headers and, optionally, a body (i.e.
the <message-text>). The <message-text> part is just a
sequence of ASCII characters; it is separated from the
headers by a null line (i.e., a line with nothing preceding
the <crlf>).
1) Folding and unfolding of headers
Each header item can be viewed as a single, logical, long
line of ASCII characters. For convenience, this
conceptual entity can be split into a multiple-line
representation (i.e., "folded"). The general rule is that
wherever there can be <linear-white-space> characters, you
can instead insert a <crlf> immediately followed by AT
LEAST one <linear-white-space> character. Thus, the
single line
To: "Joe Dokes & J. Harvey" <ddd at Host>, JJV at BBN
can be represented as
To: "Joe Dokes & J. Harvey" <ddd at Host>,
JJV at BBN
and
To: "Joe Dokes & J. Harvey"
<ddd at Host>,
JJV at BBN
^L
II. Standard for the Format of Messages / 10
B. Syntax
1. Lexical Analysis
and
To: "Joe Dokes
& J. Harvey" <ddd at Host>, JJV at BBN
The process of moving from this folded multiple-line
representation of a header field to its single line
representation will be called "unfolding". Unfolding is
accomplished by regarding <crlf> immediately followed by a
<linear-white-space-char> as equivalent to the <linear-
white-space-char>.
2) Structure of header fields
Once header fields have been unfolded, they may be viewed
as being composed of a <field-name> followed by a ":"
(colon), followed by a <field-body>. The <field-name>
must be composed of printable ASCII characters (i.e.,
characters which have decimal values between 33 and 126)
and <linear-white-space> characters. The <field-body> may
composed of any ASCII characters (other than <cr> and
<lf>, which have been removed by unfolding).
Certain header fields may be interpreted according to an
internal syntax which some systems may wish to parse.
These fields will be referred to as structured fields.
Examples include fields containing dates and addresses.
Other fields, such as the subject field, are regarded
simply as a single line of text.
3) Field names
To aid in the creation and reading of <field-name>s, the
free insertion of <linear-white-space> characters is
allowed in reasonable places. Rather than obscuring the
syntax specification for <field-name> with the explicit
syntax for these <linear-white-space> characters, the
existence of a simple "lexical" analyzer is assumed. The
analyzer reinterprets the unfolded text which comprises
the <field-name> as a sequence of <atoms> separated by
<linear-white-space> characters. The field name may be
conveniently represented by the sequence of these atoms,
separated by a single ASCII space character.
^L
II. Standard for the Format of Messages / 11
B. Syntax
1. Lexical Analysis
4) Field bodies
To aid in the creation and reading of structured fields,
the free insertion of <linear-white-space> characters is
allowed in reasonable places. Rather than obscuring the
syntax specifications for these structured fields with
explicit syntax for these <linear-white-space> characters,
the existence of another simple "lexical" analyzer is
assumed. It provides an interpretation of the unfolded
text comprising the body of the field as a sequence of
lexical symbols. These include
- individual special characters
- quoted strings
- comments
- atoms
The first three symbols are self-delimiting. Atoms are
not; they therefore are delimited by the self-delimiting
symbols and by <linear-white-space>.
So, for example, the folded body of an address field
":sysmail"@ Some-Host,
Muhammed(I am the greatest)Ali at WBA
is analyzed into the following lexical symbols and types:
":sysmail" quoted string
@ special
Some-Host atom
, special
Muhammed atom
(I am the greatest) comment
Ali atom
at atom
WBA atom
b. Formal Definition
<field> ::= <field-name> ":" <field-body>
<field-name> ::= <atom>
| <atom> <field-name>
<field-body> ::= <field-body-contents>
| <field-body-contents> <crlf>
<linear-white-space-char>
<field-body>
^L
II. Standard for the Format of Messages / 12
B. Syntax
1. Lexical Analysis
<field-body-contents> ::= <the TELNET ASCII characters making
up the <field-body>, as defined in
the following sections, and
consisting of combinations of
<atom>, <quoted-string>, <text-line>,
and <specials> tokens>
<atom> ::= <a sequence of one or more TELNET
ASCII alpha-numeric or graphics
characters, excluding all control
characters (those characters with
a decimal value less than 33 or
equal to 127) and <delimeters> >
<quoted-string> ::= <double quote mark ("), decimal 34>
<a sequence of one or more TELNET
ASCII characters, where two
adjacent quotes are treated as a
single quote and part of the
string> <">
<text-line> ::= <a sequence of one or more TELNET
ASCII characters excluding <cr>
and <lf> >
<message-text> ::= <a sequence of zero of more TELNET
ASCII characters>
<delimeters> ::= <specials> | <comment>
| <linear-white-space> | <crlf>
<specials> ::= "(" | ")" | "<" | ">"
| "@" | "," | ";" | ":" | <">
<comment> ::= "(" <TELNET ASCII characters, except
<crlf> > ")"
<linear-white-space>::= <linear-white-space-char>
| <linear-white-space-char>
<linear-white-space>
<linear-white-space-char>::= <space> | <horizontal-tab>
<space> ::= <TELNET ASCII space (decimal 32)>
<tab> ::= <TELNET ASCII tab (decimal 9)>
<cr> ::= <TELNET ASCII carriage return
(decimal 13)>
<lf> ::= <TELNET ASCII line feed (decimal 10)>
<crlf> ::= <TELNET ASCII carriage return/line
feed (decimal 13, followed by
decimal 10)>
^L
II. Standard for the Format of Messages / 13
B. Syntax
1. Lexical Analysis
c. Clarifications
1) Comments
Comments may appear only within <field-body>s of
structured fields. A comment is any set of TELNET ASCII
characters, which is not within a quoted string, and which
is enclosed in matching parentheses; parentheses nest, so
that if a left paren occurs in a comment string, there
must also be a matching right paren.
Comments are NOT passed to the FTP server, as part of a
MAIL or MLFL command, since comments are not part of the
"formal" address.
2) "White space"
Remember that in structured fields, MULTIPLE LINEAR WHITE
SPACE TELNET ASCII CHARACTERS (namely <tab>s and <space>s)
ARE TREATED AS SINGLE SPACES AND MAY FREELY SURROUND ANY
SYMBOL. In all header fields, at least one <space> is
REQUIRED only at the beginning of folded lines.
Writers of mail-sending (i.e. header generating) programs
should realize that there is no Network-wide definition of
the effect of <tab> TELNET ASCII characters on the
appearance of text at another Network host; therefore, the
use of <tab>s in message headers, though permitted, is
discouraged.
Note that the contents of messages are required to conform
with TELNET NVT conventions (e.g. <cr> must be followed
by either <lf>, making a <crlf>, or <null>, if the <cr> is
to stand alone).
3) Quoted strings
Where permitted (i.e., in structured fields) quoted
strings are treated as a single symbol (i.e. equivalent
to an <atom> syntactically). However, if quoted strings
are to be "folded" onto multiple lines, then the syntax
for folding must be adhered to (See items II.B.1.a.1,
above, and II.B.1.c.6, below.) Note that the official
semantics do not encounter <crlf>s in quoted strings,
although particular parsing programs may wish to note
their presence.
^L
II. Standard for the Format of Messages / 14
B. Syntax
1. Lexical Analysis
4) Bracketing characters
There are two types of brackets which must be well nested:
- Parentheses are used to indicate comments.
- Angle brackets ("<" and ">") are used
where there is a question of the presence
of machine-usable code (e.g. deliminating
mailboxes).
5) Case independence of certain specials <atom>s
It should be assumed by all mail reading programs that
certain <atom>s can be represented in any combination of
upper and lower case. These are:
- <field-name>s,
- "File", in a <path>,
- "at", in an <at-indicator>,
- <host-name>s,
- <day-of-week>s,
- <string-month>s, and
- <time-zone>s
For example, the <field-name>s "From", "FROM", "from", and
even "FroM" should all be treated identically. Note that,
at the level of this specification, case IS relevant to
other <word>s and <text-line>s. Also see Section
II.C.1.a.4, below.
6) Folding long lines
Each header item (field of the message) may be represented
on exactly one line consisting of the name of the field
and its body, and this is what the parser sees. For
readability, it is recommended that the <field-body>
portion of long header items be "folded" onto multiple
lines of the actual header.
7) Backspace characters
Backspace TELNET ASCII characters (ASCII BS, decimal 8)
may be included in <text-line> and <quoted-string> to
effect overstriking; however, any use of backspaces which
effects an overstrike to the left of the beginning of the
<text-line> or <quoted-string> is prohibited.
^L
II. Standard for the Format of Messages / 15
B. Syntax
2. Messages
2. GENERAL SYNTAX OF MESSAGES:
NOTE: The syntax indicates that items in <required-headers>
must be in a specific order and precede all other header
items. Header fields, in fact, are NOT required to occur in
any particular order. Required header items must be unique
(occur exactly once). This specification permits multiple
occurrences of most optional fields. However, the
interpretation of such multiple occurrences is not specified
here.
<message> ::= <headers>
| <headers> <crlf> <message-text>
<headers> ::= <required-headers>
| <required-headers> <optional-headers>
<required-headers> ::= <date-field> <originator>
<originator> ::= <mach-from-field>
| <mach-from-list> <sender-field>
| <mach-from-field> <reply-to-field>
| <any-from-field> <sender-field>
<reply-to-field>
<date-field> ::= "Date" ":" <date-time>
<mach-from-field> ::= "From" ":" <mach-addr-item>
<mach-from-list> ::= "From" ":" <mach-addr-list>
<any-from-field> ::= "From" ":" <address-list>
<sender-field> ::= "Sender" ":" <host-phrase>
<reply-to-field> ::= "Reply-To" ":" <mach-addr-list>
<optional-headers>::= <optional-header-field>
| <optional-headers>
<optional-header-field>
<optional-header-field> ::= <addressee-field>
| <extension-field>
<addressee-field> ::= "To" ":" <address-list>
| "cc" ":" <address-list>
| "bcc" ":" <address-list>
| "Fcc" ":" <path-list>
<extension-field> ::= "In-Reply-To" ":" <reference-list>
| "Keywords" ":" <phrase-list>
| "Message-Id" ":" <mach-host-phrase>
| "References" ":" <reference-list>
| "Subject" ":" <text-line>
| "Comments" ":" <text-line>
| <user-defined-field>
^L
II. Standard for the Format of Messages / 16
B. Syntax
2. Messages
<user-defined-field> ::= <A <field> which has a <field-name>
not defined in this specification>
The following syntax for the bodies of various fields should be
thought of as describing each field body as a single long string
(or line). The section on Lexical Analysis (section II.B.1)
indicated how such long strings can be represented on more than
one line in the actual transmitted message.
3. SYNTAX OF GENERAL ADDRESSEE ITEMS
<mach-addr-list> ::= <mach-addr-item>
| <mach-addr-item> "," <address-list>
<address-list> ::= <null>
| <address-item>
| <address-item> "," <address-list>
<address-item> ::= <mach-addr-item>
| <group-name> ":" <address-list> ";"
| <any-name>
| <path>
<mach-addr-item> ::= <mailbox>
| <phrase> "<" <mailbox-list> ">"
<group-name> ::= <phrase>
<any-name> ::= <quoted-string>
<mailbox-list> ::= <mailbox>
| <mailbox> "," <mailbox-list>
<mailbox> ::= <host-phrase>
<path> ::= ":" "File" ":" <path-name>
<path-name> ::= <path-item>
| "<" <path-list> ">"
<path-list> ::= <path-item>
| <path-item> "," <path-list>
<path-item> ::= <host-phrase>
^L
II. Standard for the Format of Messages / 17
B. Syntax
4. Supporting Constructs
4. SUPPORTING SYNTAX
<reference-list> ::= <null>
| <reference-item>
| <reference-item> "," <reference-list>
<reference-item> ::= <phrase>
| <mach-host-phrase>
<mach-host-phrase>::= "<" <host-phrase> ">"
<host-phrase> ::= <phrase> <host-indicator>
<host-indicator> ::= <at-indicator> <host-name>
<at-indicator> ::= "at" | "@"
<host-name> ::= <atom>
| <decimal host address>
<date-time> ::= <day> <date> <time>
<day> ::= <null>
| <day-of-week> ","
<day-of-week> ::= "Monday" | "Mon"
| "Tuesday" | "Tue"
| "Wednesday" | "Wed"
| "Thursday" | "Thu"
| "Friday" | "Fri"
| "Saturday" | "Sat"
| "Sunday" | "Sun"
<date> ::= <string-date>
| <slash-date>
<string-date> ::= <day-of-month> <string-month>
<4-digit-year>
<slash-date> ::= <numeric-month> "/" <date-of-month>
"/" <2-digit-year>
<numeric-month> ::= <one or two decimal digits>
<day-of-month> ::= <one or two decimal digits>
<string-month> ::= "January" | "Jan"
| "February" | "Feb"
| "March" | "Mar"
| "April" | "Apr"
| "May"
| "June" | "Jun"
| "July" | "Jul"
| "August" | "Aug"
| "September"| "Sep"
| "October" | "Oct"
| "November" | "Nov"
| "December" | "Dec"
<4-digit-year> ::= <four decimal digits>
<2-digit-year> ::= <two decimal digits>
<time> ::= <24-hour-time> "-" <time-zone>
<24-hour-time> ::= <hour> <minute>
<hour> ::= <two decimal digits>
<minute> ::= <two decimal digits>
^L
II. Standard for the Format of Messages / 18
B. Syntax
4. Supporting Constructs
<time-zone> ::= "GMT" | "Z" | "GDT"
| "AST" | "ADT"
| "EST" | "EDT" | "CST" | "CDT"
| "MST" | "MDT" | "PST" | "PDT"
| "YST" | "YDT" | "HST" | "HDT"
<phrase> ::= <word>
| <word> <phrase>
<phrase-list> ::= <null>
| <phrase>
| <phrase> "," <phrase-list>
<word> ::= <atom>
| <quoted-string>
^L
II. Standard for the Format of Messages / 19
C. Semantics
1. Address Fields
C. SEMANTICS
1. ADDRESS FIELDS
a. General
1) <path>s are used to refer to a location, on the ARPANET,
containing a stored address list. The <phrase> should
contain text which the referenced host can resolve to a
file. This standard is not a protocol and so does not
prescribe HOW data is to be retrieved from the file.
However, the following requirements are made:
- the file must be accessible through the local
operating system interface (if it exists), given
adequate user access rights; and
- if a host has an FTP server and a user is able to
retrieve any files from the host using that server,
then the file must be accessible through FTP, using
DEFAULT transfer settings, given adequate user access
rights.
It is intended that this mechanism will allow programs to
retrieve such lists automatically.
The interpretation of a <path> follows. This is not
intended to imply any particular implementation scheme, but
is included to aid in understanding the notion of <path>s:
- The contents of the file indicated by a <path-name> is
treated as an <address-list> and is inserted as an
<address-item> in the position of the <path-name> item
in the syntax. That is, the TELNET ASCII character
string of the <path-name> or, if present, the <path-
list> containing it, is replaced by the contents of
the file to which the <path-name> refers. Therefore,
the contents of the file indicated by a <path-name>
must be syntactically self-contained and must adhere
to the full syntax prescribed herein for <address-
list>.
- <Path-item>s of a <path-list> are alternates and the
contents of ONLY ONE of them is to be included in the
resultant address list.
2) The <phrase> part of a <mailbox> is understood to be
whatever the receiving FTP Server allows (for example,
^L
II. Standard for the Format of Messages / 20
C. Semantics
1. Address Fields
TENEX systems do not now understand addresses of the form
"P. D. Q. Bach", but another system might).
Note that a <mailbox> is a conceptual entity which does not
necessarily pertain to file storage. For example, some
sites may choose to print mail on their line printer and
deliver the output to the addressee's desk.
A user may have several mailboxes. The use of the second
alternative of <mach-addr-item> (<phrase> "<" <mailbox-
list> ">") indicates that a copy of the message is to be
sent to EACH mailbox named.
3) <any-name> may contain any sequence of "words". This
sequence of words, used as an <address-item>, is used to
facilitate reference to non-standard (e.g. non-Network)
addresses. Such an address might be one which is
acceptable to the U.S. Postal Service.
4) The <host-name> in a <host-phrase> must be THE official
name of a Network host, or else a decimal number indicating
the Network address for that host. The USE OF NUMBERS IS
STRONGLY DISCOURAGED and is permitted only due to the
occasional necessity of bypassing local host-name tables.
The <phrase> in a <host-phrase> is intended to be
meaningful only to the indicated host. To all other hosts,
the <phrase> is treated as a literal string. No case
transformations should be (automatically) performed on the
<phrase>. The <phrase> is passed to the local host's mail
sending program; it is the responsibility of the
destination host's mail receiving (distribution) program to
perform case mapping on this <phrase>, if required, to
deliver the mail.
b. Originator Fields
WARNING: The standard allows only a subset of the
combinations possible with the From,
Sender, and Reply-to fields. The
limitation is intentional; the permitted
alternatives have been carefully chosen
and are adequate for the purposes of this
standard.
^L
II. Standard for the Format of Messages / 21
C. Semantics
1. Address Fields
1) From:
This field contains the identity of the person(s) who
wished this message to be sent. The message-creation
process should default this field to be a single machine
address, indicating the user entering the message; if and
only if this is done, the "Sender:" field need not be
present.
2) Sender:
This field contains the identity of the person who sends
the message. It need not be present in the header of the
message if it is the SAME as the "From:" field.
The <sender-field-body> includes a <phrase> which must
correspond to a user, rather than a standard <address-
item>, to indicate the expectation that the field will
refer to the PERSON responsible for sending the mail and
not simply include the name of a mailbox, from which the
mail was sent. For example in the case of a shared login
name, the name, by itself, would not be adequate. The
<phrase> (user) is a system entity, not a generalized
person reference.
3) Reply-to:
This field provides a general mechanism for indicating any
mailbox(es) to which responses are to be sent. Three
different uses for this feature can be distinguished. In
the first case, the author(s) may not have regular
machine-based mailboxes and therefore wish to indicate an
alternate machine address. In the second case, an author
may wish additional persons to be made aware of, or
responsible for, responses; responders should send their
replies to the "Reply-to:" mailbox(es). More interesting
is a case such as text-message teleconferencing in which an
automatic distribution facility is provided and a user
submitting an "entry" for distribution only needs to send
their message to the mailbox(es) indicated in the "Reply-
to:" field.
If there is no <reply-to-field>, then the <from-field> MUST
contain AT LEAST ONE machine address. In all cases when
used and even if a <sender> field is present, the Reply-to
field must contain at least one machine address.
NOTE: For systems which automatically generate address lists
for replies to messages, the following requirements are made:
^L
II. Standard for the Format of Messages / 22
C. Semantics
1. Address Fields
- The receiver, when replying to a message, must NEVER
automatically include the <sender-field-body> in the
reply's address list
- If the <reply-to-field> exists, then the reply should
go ONLY to the <reply-to-field-body> addressees.
(Extensive examples are provided in Section II.D.) This
recommendation is intended only for <originator-field>s and in
no way is intended to reflect that replies should not be sent,
also, to the other recipients of this message. It is up to
the respective mail handling programs as to what additional
facilities will be provided.
c. Receiver Fields
1) To:
This field contains the identity of the primary recipients
of the message.
2) cc:
This field contains the identity of the secondary
recipients of the message.
3) Bcc:
This field contains the identity of additional recipients
of the message who are to remain hidden from the primary
and secondary recipients. Some systems may choose to
include the text of the "Bcc:" field only in the
author(s)'s copy, while others may include it in the text
sent to all those indicated in the "Bcc:" list.
4) Fcc:
This field contains the identity of any message files in
which copies of this message are being placed by the
originator. Note that the presence of this field does NOT
guarantee long-term availability of the message in any of
the indicated files.
^L
II. Standard for the Format of Messages / 23
C. Semantics
2. Reference Specification Fields
2. REFERENCE SPECIFICATION FIELDS
a. Message-Id:
This field contains a unique identifier (the <phrase>) to
refer to this version of this message. The uniqueness of the
message identifier is guaranteed by each host. This
identifier is intended to be machine readable, and not
necessarily meaningful to humans. A message-id pertains to
exactly one instantiation of a particular message; subsequent
revisions to the message should receive new message-id's.
b. In-Reply-To:
The contents of this field identify previous correspondence
which this message answers. If message identifiers are used
in this field, they should be enclosed in angle brackets (<>).
c. References:
The contents of this field identify other correspondence which
this message references. If message identifiers are used,
they should be enclosed in angle brackets (<>).
d. Keywords:
This field contains keywords or phrases, separated by commas.
3. OTHER FIELDS AND SYNTACTIC ITEMS
a. Subject:
The "subject:" field is intended to provide as much
information as necessary to adequately summarize or indicate
the nature of the message.
b. Comments:
Permits adding text comments onto the message without
disturbing the contents of the message's body.
^L
II. Standard for the Format of Messages / 24
C. Semantics
4. Dates
4. DATES
It is recommended that, because of differing international
interpretations, the <string-day> option be used instead of
the <slash-day> option in the specification of a <day>.
If included, <day-of-week> must be the day implied by the
<date> specification.
<Time-zones> allow reference to Greenwich and to each of the
zones in the United States. The zone references beginning
with "A" are for Atlantic time which are one hour faster than
the corresponding Eastern times. "Y" indicates Yukon time in
Alaska, which is one hour slower than the corresponding
Pacific times, and "H" indicates Hawaiian times, which are two
hours slower.
^L
II. Standard for the Format of Messages / 25
D. Examples
D. EXAMPLES
1. ADDRESSES
a. Alfred E. Newman <Newman at BBN-TENEXA>
Newman@BBN-TENEXA
These two "Alfred E. Newman" examples have identical
semantics, as far as the operation of the local host's mailer
and the remote host's FTP server are concerned. In the first
example, the "Alfred E. Newman" is ignored by the mailer, as
"Newman at BBN-TENEXA" completely specifies the recipient.
The second example contains no superfluous information, and,
again, "Newman@BBN-TENEXA" is the intended recipient.
b. Al Newman at BBN-TENEXA
This is identical with "Al Newman<Al Newman at BBN-TENEXA>."
That is, the full <phrase>, "Al Newman", is passed to the FTP
server. Note that not all FTP servers accept multi-word
identifiers; and some that do accept them will treat each word
as a different addressee (in this case, attempting to send a
copy of the message to "Al" and a copy to "Newman").
c. "George Lovell, Ted Hackle" <Shared-Mailbox at Office-1>
This form might be used to indicate that a single mailbox is
shared by several users. The quoted string is ignored by the
originating host's mailer, as "Shared-Mailbox at Office-1"
completely specifies the destination mailbox.
d. Wilt (the Stilt) Chamberlain at NBA
The "(the Stilt)" is a comment, which is NOT included in the
destination mailbox address handed to the originating system's
mailer. The address is the string "Wilt Chamberlain", with
exactly one space between the first and second words. (The
quotation marks are not included.)
^L
II. Standard for the Format of Messages / 26
D. Examples
2. ADDRESS LISTS
Gourmets: Pompous Person <WhoZiWhatZit at Cordon-Bleu>,
Cooks: Childs at WGBH, Galloping Gourmet at
ANT (Australian National Television);
Wine Lovers: Drunk at Discount-Liquors,
Port at Portugal;;,
Jones at SEA
This group list example points out the use of comments, the
nesting of groups, and the mixing of addresses and groups.
Note that the two consecutive semi-colons preceding "Jones at
SEA" mean that Jones is NOT a member of the Gourmets group.
3. ORIGINATOR ITEMS
a. George Jones logs into his Host as "Jones". He sends mail
himself.
From: Jones at Host
or
From: George Jones <Jones at Host>
b. George Jones logs in as Jones on his Host. His secretary, who
logs in as Secy on her Host (SHost) sends mail for him.
Replies to the mail should go to George, of course.
From: George Jones <Jones at Host>
Sender: Secy at SHost
c. George Jones logs in as Group at Host. He sends mail himself;
replies should go to the Group mailbox.
From: George Jones <Group at Host>
d. George Jones' secretary sends mail for George in his capacity
as a member of Group while logged in as Secy at Host. Replies
should go to Group.
From: George Jones<Group at Host>
Sender: Secy at Host
Note that there need not be a space between "Jones" and the
"<", but adding a space enhances readability (as is the case
in other examples).
e. George Jones asks his secretary (Secy at Host) to send a
message for him in his capacity as Group. He wants his
secretary to handle all replies.
^L
II. Standard for the Format of Messages / 27
D. Examples
From: George Jones <Group at Host>
Sender: Secy at Host
Reply-to: Secy at Host
f. A non-ARPANET user friend of George's, Sarah, is visting.
George's secretary sends some mail to a friend of Sarah in
computer-land. Replies should go to George, whose mailbox is
Jones at Host.
From: Sarah Friendly
Sender: Secy at Host
Reply-to: Jones at Host
g. George is a member of a committee. He wishes to have any
replies to his message go to all committee members.
From: George Jones
Sender: Jones at Host
Reply-To: Big-committee: Jones at Host,
Smith at Other-Host,
Doe at Somewhere-Else;
Note that if George had not included himself in the
enumeration of Big-committee, he would not have gotten a
reply; the presence of the "Reply-to:" field SUPERSEDES the
sending of a reply to the person named in the "From:" field.
h. (Example of INCORRECT USE)
George desires a reply to go to his secretary; therefore his
secretary leaves his mailbox address off the "From:" field,
leaving only his name, which is not, itself, a mailbox
address.
From: George Jones
Sender: Secy at SHost
THIS IS NOT PERMITTED. Replies are NEVER implicitly sent to
the "Sender:"; George's secretary should have used the
"Reply-to:" field, or the mail creating program she was using
should have forced her to.
i. George's secretary sends out a message which was authored
jointly by all the members of the "Big-committee".
From: Big-committee: Jones at Host,
Smith at Other-Host,
Doe at Somewhere-Else;
Sender: Secy at SHost
^L
II. Standard for the Format of Messages / 28
D. Examples
4. COMPLETE HEADERS
a. Minimum required:
Date: 26 August 1976 1429-EDT
From: Jones at Host
b. Using some of the additional fields:
Date 26 August 1976 1430-EDT
From: George Jones<Group at Host>
Sender: Secy at SHOST
To: Al Newman at Mad-Host,
Sam Irving at Other-Host
Message-id: some string at SHOST
c. About as complex as you're going to get:
Date: 27 Aug 1976 0932-PDT
From: Ken Davis <KDavis at Other-Host>
Sender: KSecy at Other-Host
Reply-to: Sam Irving at Other-Host
Subject: Re: The Syntax in the RFC
To: George Jones <Group at Host>,
Al Newman at Mad-Host
cc: Tom Softwood <Balsa at Another-Host>,
Sam Irving at Other-Host,
Standard Distribution:
:File:
</main/davis/people/standard at Other Host,
"<Jones>standard.dist.3" at Tops-20-Host>
In-Reply-to: <some string at SHOST>
Message-ID: 4231.629.XYzi-What at Other-Host
Comment: Sam is away on business. He asked me to handle
his mail for him today. He'll be able to
provide a more accurate explanation tomorrow
when he returns.
^L
III. References
III. REFERENCES
--- TELNET Protocol Specification. Network Information Center
No. 18639; Augmentation Research Center, Stanford Research
Institute: Menlo Park, August 1973.
Bhushan, A.K. The File Transfer Protocol. ARPANET Request for
Comments, No. 354, Network Information Center No. 10596;
Augmentation Research Center, Stanford Research Institute:
Menlo Park, July 1972.
Bhushan, A.K. Comments on the File Transfer Protocol. ARPANET
Request for Comments, No. 385, Network Information Center No.
11357; Augmentation Research Center, Stanford Research
Institute: Menlo Park, August 1972.
Bhushan, A.K., Pogran, K.T., Tomlinson, R.S., and White, J.E.
Standardizing Network Mail Headers. ARPANET Request for
Comments, No. 561, Network Information Center No. 18516;
Augmentation Research Center, Stanford Research Institute:
Menlo Park, September 1973.
Feinler, E.J. and Postel, J.B. ARPANET Protocol Handbook.
Network Information Center No. 7104; Augmentation Research
Center, Stanford Research Institute: Menlo Park, April 1976.
(NTIS AD A003890).
McKenzie, A. File Transfer Protocol. ARPANET Request for
Comments, No. 454, Network Information Center No. 14333;
Augmentation Research Center, Stanford Research Institute:
Menlo Park, February 1973.
Myer, T.H. and Henderson, D.A. Message Transmission Protocol.
ARPANET Request for Comments, No. 680, Network Information
Center No. 32116; Augmentation Research Center, Stanford
Research Institute: Menlo Park, 1975.
Neigus, N. File Transfer Protocol. ARPANET Request for
Comments, No. 542, Network Information Center No. 17759;
Augmentation Research Center, Stanford Research Institute:
Menlo Park, July 1973.
Postel, J.B. Revised FTP Reply Codes. ARPANET Request for
Comments, No. 640, Network Information Center No. 30843;
Augmentation Research Center, Stanford Research Institute:
Menlo Park, June 1974.
^L
Appendix / 30
Alphabetical Listing of Syntax Rules
APPENDIX
A. ALPHABETICAL LISTING OF SYNTAX RULES
<2-digit-year> ::= <two decimal digits>
<4-digit-year> ::= <four decimal digits>
<24-hour-time> ::= <hour> <minute>
<addressee-field> ::= "To" ":" <address-list>
| "cc" ":" <address-list>
| "bcc" ":" <address-list>
| "Fcc" ":" <path-list>
<address-item> ::= <mach-addr-item>
| <group-name> ":" <address-list> ";"
| <any-name>
| <path>
<address-list> ::= <null> | <address-item>
| <address-item> "," <address-list>
<any-from-field> ::= "From" ":" <address-list>
<any-name> ::= <quoted-string>
<at-indicator> ::= "at" | "@"
<atom> ::= <a sequence of one or more TELNET ASCII
alpha-numeric or graphics characters,
excluding all control characters
(those characters with a decimal value
less than 33 or equal to 127) and
<delimeters> >
<comment> ::= "(" <TELNET ASCII characters, except
<crlf> > ")"
<cr> ::= <TELNET ASCII carriage return (decimal 13)>
<crlf> ::= <TELNET ASCII carriage return/line feed
(decimal 13, followed by decimal 10)>
<date> ::= <string-date> | <slash-date>
<date-field> ::= "Date" ":" <date-time>
<date-time> ::= <day> <date> <time>
<day> ::= <null> | <day-of-week> ","
<day-of-month> ::= <one or two decimal digits>
<day-of-week> ::= "Monday" | "Mon"
| "Tuesday" | "Tue"
| "Wednesday" | "Wed"
| "Thursday" | "Thu"
^L
Appendix / 31
Alphabetical Listing of Syntax Rules
| "Friday" | "Fri"
| "Saturday" | "Sat"
| "Sunday" | "Sun"
<delimeter> ::= <specials> | <comment>
| <linear-white-space> | <crlf>
<field> ::= <field-name> ":" <field-body>
<field-body> ::= <field-body-contents>
| <field-body-contents> <crlf>
<linear-white-space-CHAR> <field-body>
<field-body-contents> ::= <the TELNET ASCII characters making up
the field body, as defined in the
following sections and consisting of
combinations of <atom>, <quoted-
string>, <text-line>, and <specials>
tokens>
<field-name> ::= <atom> | <atom> <field-name>
<group-name> ::= <phrase>
<headers> ::= <required-headers>
| <required-headers> <optional-headers>
<host-indicator> ::= <at-indicator> <host-name>
<host-name> ::= <atom> | <decimal host address>
<host-phrase> ::= <phrase> <host-indicator>
<hour> ::= <two decimal digits>
<lf> ::= <TELNET ASCII line feed (decimal 10)>
<linear-white-space>::= <linear-white-space-char>
| <linear-white-space-char>
<linear-white-space>
<linear-white-space-char>::= <space> | <horizontal-tab>
<mach-addr-item> ::= <mailbox> | <phrase> "<" <mailbox-list> ">"
<mach-addr-list> ::= <mach-addr-item>
| <mach-addr-item> "," <address-list>
<mach-from-field> ::= "From" ":" <mach-addr-item>
<mach-from-list> ::= "From" ":" <mach-addr-list>
<mach-host-phrase>::= "<" <host-phrase> ">"
<mailbox> ::= <host-phrase>
<mailbox-list> ::= <mailbox> | <mailbox> "," <mailbox-list>
<message> ::= <headers>
| <headers> <crlf> <message-text>
^L
Appendix / 32
Alphabetical Listing of Syntax Rules
<message-text> ::= <a sequence of zero of more TELNET ASCII
characters>
<minute> ::= <two decimal digits>
<numeric-month> ::= <one or two decimal digits>
<optional-headers>::= <optional-header-field>
| <optional-headers> <optional-header-field>
<optional-header-field> ::= <addressee-field> | <extension-field>
<originator> ::= <mach-from-field>
| <mach-from-list> <sender-field>
| <mach-from-field> <reply-to-field>
| <any-from-field> <sender-field>
<reply-to-field>
<path> ::= ":" "File" ":" <path-name>
<path-item> ::= <host-phrase>
<path-list> ::= <path-item> | <path-item> "," <path-list>
<path-name> ::= <path-item> | "<" <path-list> ">"
<phrase> ::= <word> | <word> <phrase>
<phrase-list> ::= <null> | <phrase>
| <phrase> "," <phrase-list>
<reference-item> ::= <phrase> | <mach-host-phrase>
<reference-list> ::= <null> | <reference-item>
| <reference-item> "," <reference-list>
<quoted-string> ::= <double quote mark ("), decimal 34>
<a sequence of one or more TELNET
ASCII characters, where two adjacent
quotes are treated as a single quote
and part of the string> <">
<reply-to-field> ::= "Reply-To" ":" <mach-addr-list>
<required-headers> ::= <date-field> <originator>
<sender-field> ::= "Sender" ":" <host-phrase>
<slash-date> ::= <numeric-month> "/" <date-of-month>
"/" <2-digit-year>
<space> ::= <TELNET ASCII space (decimal 32)>
<specials> ::= "(" | ")" | "<" | ">"
| "@" | "," | ";" | ":" | <">
<string-date> ::= <day-of-month> <string-month>
<string-month> ::= "January" | "Jan" | "February" | "Feb"
^L
Appendix / 33
Alphabetical Listing of Syntax Rules
| "March" | "Mar" | "April" | "Apr"
| "May" | "June" | "Jun"
| "July" | "Jul" | "August" | "Aug"
| "September"| "Sep" | "October" | "Oct"
| "November" | "Nov" | "December" | "Dec"
<tab> ::= <TELNET ASCII tab (decimal 9)>
<text-line> ::= <a sequence of one or more TELNET ASCII
characters excluding <cr> and <lf> >
<time> ::= <24-hour-time> "-" <time-zone>
<time-zone> ::= "GMT" | "Z" | "GDT" | "AST" | "ADT
| "EST" | "EDT" | "CST" | "CDT"
| "MST" | "MDT" | "PST" | "PDT"
| "YST" | "YDT" | "HST" | "HDT"
<user-defined-field> ::= <A <field> which has a <field-name> not
defined in this specification>
<word> ::= <atom> | <quoted-string>
^L
|