1
2
3
4
5
6
7Network Working Group                                            M. Rose
8Request for Comments: 1081                                           TWG
9                                                           November 1988
10
11                    Post Office Protocol - Version 3
12
13
14Status of this Memo
15
16   This memo suggests a simple method for workstations to dynamically
17   access mail from a mailbox server.  This RFC specifies a proposed
18   protocol for the Internet community, and requests discussion and
19   suggestions for improvements.  Distribution of this memo is
20   unlimited.
21
22   This memo is based on RFC 918 (since revised as RFC 937).  Although
23   similar in form to the original Post Office Protocol (POP) proposed
24   for the Internet community, the protocol discussed in this memo is
25   similar in spirit to the ideas investigated by the MZnet project at
26   the University of California, Irvine.
27
28   Further, substantial work was done on examining POP in a PC-based
29   environment.  This work, which resulted in additional functionality
30   in this protocol, was performed by the ACIS Networking Systems Group
31   at Stanford University.  The author gratefully acknowledges their
32   interest.
33
34Introduction
35
36   On certain types of smaller nodes in the Internet it is often
37   impractical to maintain a message transport system (MTS).  For
38   example, a workstation may not have sufficient resources (cycles,
39   disk space) in order to permit a SMTP server and associated local
40   mail delivery system to be kept resident and continuously running.
41   Similarly, it may be expensive (or impossible) to keep a personal
42   computer interconnected to an IP-style network for long amounts of
43   time (the node is lacking the resource known as "connectivity").
44
45   Despite this, it is often very useful to be able to manage mail on
46   these smaller nodes, and they often support a user agent (UA) to aid
47   the tasks of mail handling.  To solve this problem, a node which can
48   support an MTS entity offers a maildrop service to these less endowed
49   nodes.  The Post Office Protocol - Version 3 (POP3) is intended to
50   permit a workstation to dynamically access a maildrop on a server
51   host in a useful fashion.  Usually, this means that the POP3 is used
52   to allow a workstation to retrieve mail that the server is holding
53   for it.
54
55
56
57
58Rose                                                            [Page 1]
59
60RFC 1081                          POP3                     November 1988
61
62
63   For the remainder of this memo, the term "client host" refers to a
64   host making use of the POP3 service, while the term "server host"
65   refers to a host which offers the POP3 service.
66
67A Short Digression
68
69   This memo does not specify how a client host enters mail into the
70   transport system, although a method consistent with the philosophy of
71   this memo is presented here:
72
73      When the user agent on a client host wishes to enter a message
74      into the transport system, it establishes an SMTP connection to
75      its relay host (this relay host could be, but need not be, the
76      POP3 server host for the client host).
77
78   If this method is followed, then the client host appears to the MTS
79   as a user agent, and should NOT be regarded as a "trusted" MTS entity
80   in any sense whatsoever.  This concept, along with the role of the
81   POP3 as a part of a split-UA model is discussed later in this memo.
82
83   Initially, the server host starts the POP3 service by listening on
84   TCP port 110.  When a client host wishes to make use of the service,
85   it establishes a TCP connection with the server host.  When the
86   connection is established, the POP3 server sends a greeting.  The
87   client and POP3 server then exchange commands and responses
88   (respectively) until the connection is closed or aborted.
89
90   Commands in the POP3 consist of a keyword possibly followed by an
91   argument.  All commands are terminated by a CRLF pair.
92
93   Responses in the POP3 consist of a success indicator and a keyword
94   possibly followed by additional information.  All responses are
95   terminated by a CRLF pair.  There are currently two success
96   indicators: positive ("+OK") and negative ("-ERR").
97
98   Responses to certain commands are multi-line.  In these cases, which
99   are clearly indicated below, after sending the first line of the
100   response and a CRLF, any additional lines are sent, each terminated
101   by a CRLF pair.  When all lines of the response have been sent, a
102   final line is sent, consisting of a termination octet (decimal code
103   046, ".") and a CRLF pair.  If any line of the multi-line response
104   begins with the termination octet, the line is "byte-stuffed" by
105   pre-pending the termination octet to that line of the response.
106   Hence a multi-line response is terminated with the five octets
107   "CRLF.CRLF".  When examining a multi-line response, the client checks
108   to see if the line begins with the termination octet.  If so and if
109   octets other than CRLF follow, the the first octet of the line (the
110   termination octet) is stripped away.  If so and if CRLF immediately
111
112
113
114Rose                                                            [Page 2]
115
116RFC 1081                          POP3                     November 1988
117
118
119   follows the termination character, then the response from the POP
120   server is ended and the line containing ".CRLF" is not considered
121   part of the multi-line response.
122
123   A POP3 session progresses through a number of states during its
124   lifetime.  Once the TCP connection has been opened and the POP3
125   server has sent the greeting, the session enters the AUTHORIZATION
126   state.  In this state, the client must identify itself to the POP3
127   server.  Once the client has successfully done this, the server
128   acquires resources associated with the client's maildrop, and the
129   session enters the TRANSACTION state.  In this state, the client
130   requests actions on the part of the POP3 server.  When the client has
131   finished its transactions, the session enters the UPDATE state.  In
132   this state, the POP3 server releases any resources acquired during
133   the TRANSACTION state and says goodbye.  The TCP connection is then
134   closed.
135
136The AUTHORIZATION State
137
138   Once the TCP connection has been opened by a POP3 client, the POP3
139   server issues a one line greeting.  This can be any string terminated
140   by CRLF.  An example might be:
141
142      S.  +OK dewey POP3 server ready (Comments to: PostMaster@UDEL.EDU)
143
144   Note that this greeting is a POP3 reply.  The POP3 server should
145   always give a positive response as the greeting.
146
147   The POP3 session is now in the AUTHORIZATION state.  The client must
148   now issue the USER command.  If the POP3 server responds with a
149   positive success indicator ("+OK"), then the client may issue either
150   the PASS command to complete the authorization, or the QUIT command
151   to terminate the POP3 session.  If the POP3 server responds with a
152   negative success indicator ("-ERR") to the USER command, then the
153   client may either issue a new USER command or may issue the QUIT
154   command.
155
156   When the client issues the PASS command, the POP3 server uses the
157   argument pair from the USER and PASS commands to determine if the
158   client should be given access to the appropriate maildrop.  If so,
159   the POP3 server then acquires an exclusive-access lock on the
160   maildrop.  If the lock is successfully acquired, the POP3 server
161   parses the maildrop into individual messages (read note below),
162   determines the last message (if any) present in the maildrop that was
163   referenced by the RETR command, and responds with a positive success
164   indicator.  The POP3 session now enters the TRANSACTION state.  If
165   the lock can not be acquired or the client should is denied access to
166   the appropriate maildrop or the maildrop can't be parsed for some
167
168
169
170Rose                                                            [Page 3]
171
172RFC 1081                          POP3                     November 1988
173
174
175   reason, the POP3 server responds with a negative success indicator.
176   (If a lock was acquired but the POP3 server intends to respond with a
177   negative success indicator, the POP3 server must release the lock
178   prior to rejecting the command.)  At this point, the client may
179   either issue a new USER command and start again, or the client may
180   issue the QUIT command.
181
182                 NOTE: Minimal implementations of the POP3 need only be
183                 able to break a maildrop into its component messages;
184                 they need NOT be able to parse individual messages.
185                 More advanced implementations may wish to have this
186                 capability, for reasons discussed later.
187
188   After the POP3 server has parsed the maildrop into individual
189   messages, it assigns a message-id to each message, and notes the size
190   of the message in octets.  The first message in the maildrop is
191   assigned a message-id of "1", the second is assigned "2", and so on,
192   so that the n'th message in a maildrop is assigned a message-id of
193   "n".  In POP3 commands and responses, all message-id's and message
194   sizes are expressed in base-10 (i.e., decimal).
195
196   It sets the "highest number accessed" to be that of the last message
197   referenced by the RETR command.
198
199   Here are summaries for the three POP3 commands discussed thus far:
200
201           USER name
202               Arguments: a server specific user-id (required)
203               Restrictions: may only be given in the AUTHORIZATION
204                   state after the POP3 greeting or after an
205                   unsuccessful USER or PASS command
206               Possible Responses:
207                   +OK name is welcome here
208                   -ERR never heard of name
209               Examples:
210                   C:    USER mrose
211                   S:    +OK mrose is a real hoopy frood
212                     ...
213                   C:    USER frated
214                   S:    -ERR sorry, frated doesn't get his mail here
215
216           PASS string
217               Arguments: a server/user-id specific password (required)
218               Restrictions: may only be given in the AUTHORIZATION
219                   state after a successful USER command
220               Possible Responses:
221                   +OK maildrop locked and ready
222                   -ERR invalid password
223
224
225
226Rose                                                            [Page 4]
227
228RFC 1081                          POP3                     November 1988
229
230
231                   -ERR unable to lock maildrop
232               Examples:
233                   C:    USER mrose
234                   S:    +OK mrose is a real hoopy frood
235                   C:    PASS secret
236                   S:    +OK mrose's maildrop has 2 messages
237                         (320 octets)
238                     ...
239                   C:    USER mrose
240                   S:    +OK mrose is a real hoopy frood
241                   C:    PASS secret
242                   S:    -ERR unable to lock mrose's maildrop, file
243                         already locked
244
245           QUIT
246               Arguments: none
247               Restrictions: none
248               Possible Responses:
249                   +OK
250               Examples:
251                   C:    QUIT
252                   S:    +OK dewey POP3 server signing off
253
254
255The TRANSACTION State
256
257   Once the client has successfully identified itself to the POP3 server
258   and the POP3 server has locked and burst the appropriate maildrop,
259   the POP3 session is now in the TRANSACTION state.  The client may now
260   issue any of the following POP3 commands repeatedly.  After each
261   command, the POP3 server issues a response.  Eventually, the client
262   issues the QUIT command and the POP3 session enters the UPDATE state.
263
264   Here are the POP3 commands valid in the TRANSACTION state:
265
266           STAT
267               Arguments: none
268               Restrictions: may only be given in the TRANSACTION state.
269               Discussion:
270
271                 The POP3 server issues a positive response with a line
272                 containing information for the maildrop.  This line is
273                 called a "drop listing" for that maildrop.
274
275                 In order to simplify parsing, all POP3 servers are
276                 required to use a certain format for drop listings.
277                 The first octets present must indicate the number of
278                 messages in the maildrop.  Following this is the size
279
280
281
282Rose                                                            [Page 5]
283
284RFC 1081                          POP3                     November 1988
285
286
287                 of the maildrop in octets.  This memo makes no
288                 requirement on what follows the maildrop size.
289                 Minimal implementations should just end that line of
290                 the response with a CRLF pair.  More advanced
291                 implementations may include other information.
292
293                      NOTE: This memo STRONGLY discourages
294                      implementations from supplying additional
295                      information in the drop listing.  Other,
296                      optional, facilities are discussed later on
297                      which permit the client to parse the messages
298                      in the maildrop.
299
300                 Note that messages marked as deleted are not counted in
301                 either total.
302
303               Possible Responses:
304                   +OK nn mm
305               Examples:
306                   C:    STAT
307                   S:    +OK 2 320
308
309           LIST [msg]
310               Arguments: a message-id (optionally)  If a message-id is
311                   given, it may NOT refer to a message marked as
312                   deleted.
313               Restrictions: may only be given in the TRANSACTION state.
314               Discussion:
315
316                 If an argument was given and the POP3 server issues a
317                 positive response with a line containing information
318                 for that message.  This line is called a "scan listing"
319                 for that message.
320
321                 If no argument was given and the POP3 server issues a
322                 positive response, then the response given is
323                 multi-line.  After the initial +OK, for each message
324                 in the maildrop, the POP3 server responds with a line
325                 containing information for that message.  This line
326                 is called a "scan listing" for that message.
327
328                 In order to simplify parsing, all POP3 servers are
329                 required to use a certain format for scan listings.
330                 The first octets present must be the message-id of
331                 the message.  Following the message-id is the size of
332                 the message in octets.  This memo makes no requirement
333                 on what follows the message size in the scan listing.
334                 Minimal implementations should just end that line of
335
336
337
338Rose                                                            [Page 6]
339
340RFC 1081                          POP3                     November 1988
341
342
343                 the response with a CRLF pair.  More advanced
344                 implementations may include other information, as
345                 parsed from the message.
346
347                      NOTE: This memo STRONGLY discourages
348                      implementations from supplying additional
349                      information in the scan listing.  Other, optional,
350                      facilities are discussed later on which permit
351                      the client to parse the messages in the maildrop.
352
353                 Note that messages marked as deleted are not listed.
354
355               Possible Responses:
356                   +OK scan listing follows
357                   -ERR no such message
358               Examples:
359                   C:    LIST
360                   S:    +OK 2 messages (320 octets)
361                   S:    1 120
362                   S:    2 200
363                   S:    .
364                     ...
365                   C:    LIST 2
366                   S:    +OK 2 200
367                     ...
368                   C:    LIST 3
369                   S:    -ERR no such message, only 2 messages in
370                         maildrop
371
372           RETR msg
373               Arguments: a message-id (required)  This message-id may
374                   NOT refer to a message marked as deleted.
375               Restrictions: may only be given in the TRANSACTION state.
376               Discussion:
377
378                 If the POP3 server issues a positive response, then the
379                 response given is multi-line.  After the initial +OK,
380                 the POP3 server sends the message corresponding to the
381                 given message-id, being careful to byte-stuff the
382                 termination character (as with all multi-line
383                 responses).
384
385                 If the number associated with this message is higher
386                 than the "highest number accessed" in the maildrop, the
387                 POP3 server updates the "highest number accessed" to
388                 the number associated with this message.
389
390
391
392
393
394Rose                                                            [Page 7]
395
396RFC 1081                          POP3                     November 1988
397
398
399               Possible Responses:
400                   +OK message follows
401                   -ERR no such message
402               Examples:
403                   C:    RETR 1
404                   S:    +OK 120 octets
405                   S:    <the POP3 server sends the entire message here>
406                   S:    .
407
408           DELE msg
409               Arguments: a message-id (required)  This message-id
410                   may NOT refer to a message marked as deleted.
411               Restrictions: may only be given in the TRANSACTION state.
412               Discussion:
413
414                 The POP3 server marks the message as deleted.  Any
415                 future reference to the message-id associated with the
416                 message in a POP3 command generates an error.  The POP3
417                 server does not actually delete the message until the
418                 POP3 session enters the UPDATE state.
419
420                 If the number associated with this message is higher
421                 than the "highest number accessed" in the maildrop,
422                 the POP3 server updates the "highest number accessed"
423                 to the number associated with this message.
424
425               Possible Responses:
426                   +OK message deleted
427                   -ERR no such message
428               Examples:
429                   C:    DELE 1
430                   S:    +OK message 1 deleted
431                     ...
432                   C:    DELE 2
433                   S:    -ERR message 2 already deleted
434
435           NOOP
436               Arguments: none
437               Restrictions: may only be given in the TRANSACTION state.
438               Discussion:
439
440                 The POP3 server does nothing, it merely replies with a
441                 positive response.
442
443               Possible Responses:
444                   +OK
445
446
447
448
449
450Rose                                                            [Page 8]
451
452RFC 1081                          POP3                     November 1988
453
454
455               Examples:
456                   C:    NOOP
457                   S:    +OK
458
459           LAST
460               Arguments: none
461               Restrictions: may only be issued in the TRANSACTION state.
462               Discussion:
463
464                 The POP3 server issues a positive response with a line
465                 containing the highest message number which accessed.
466                 Zero is returned in case no message in the maildrop has
467                 been accessed during previous transactions.  A client
468                 may thereafter infer that messages, if any, numbered
469                 greater than the response to the LAST command are
470                 messages not yet accessed by the client.
471
472             Possible Response:
473                   +OK nn
474
475             Examples:
476                   C:      STAT
477                   S:      +OK 4 320
478                   C:      LAST
479                   S:      +OK 1
480                   C:      RETR 3
481                   S:      +OK 120 octets
482                   S:      <the POP3 server sends the entire message
483                           here>
484                   S:      .
485                   C:      LAST
486                   S:      +OK 3
487                   C:      DELE 2
488                   S:      +OK message 2 deleted
489                   C:      LAST
490                   S:      +OK 3
491                   C:      RSET
492                   S:      +OK
493                   C:      LAST
494                   S:      +OK 1
495
496           RSET
497               Arguments: none
498               Restrictions: may only be given in the TRANSACTION
499                   state.
500               Discussion:
501
502                 If any messages have been marked as deleted by the POP3
503
504
505
506Rose                                                            [Page 9]
507
508RFC 1081                          POP3                     November 1988
509
510
511                 server, they are unmarked.  The POP3 server then
512                 replies with a positive response.  In addition, the
513                 "highest number accessed" is also reset to the value
514                 determined at the beginning of the POP3 session.
515
516               Possible Responses:
517                   +OK
518               Examples:
519                   C:    RSET
520                   S:    +OK maildrop has 2 messages (320 octets)
521
522
523
524The UPDATE State
525
526   When the client issues the QUIT command from the TRANSACTION state,
527   the POP3 session enters the UPDATE state.  (Note that if the client
528   issues the QUIT command from the AUTHORIZATION state, the POP3
529   session terminates but does NOT enter the UPDATE state.)
530
531           QUIT
532               Arguments: none
533               Restrictions: none
534               Discussion:
535
536                 The POP3 server removes all messages marked as deleted
537                 from the maildrop.  It then releases the
538                 exclusive-access lock on the maildrop and replies as
539                 to the success of
540                 these operations.  The TCP connection is then closed.
541
542               Possible Responses:
543                   +OK
544               Examples:
545                   C:    QUIT
546                   S:    +OK dewey POP3 server signing off (maildrop
547                         empty)
548                     ...
549                   C:    QUIT
550                   S:    +OK dewey POP3 server signing off (2 messages
551                         left)
552                     ...
553
554
555Optional POP3 Commands
556
557   The POP3 commands discussed above must be supported by all minimal
558   implementations of POP3 servers.
559
560
561
562Rose                                                           [Page 10]
563
564RFC 1081                          POP3                     November 1988
565
566
567   The optional POP3 commands described below permit a POP3 client
568   greater freedom in message handling, while preserving a simple POP3
569   server implementation.
570
571                 NOTE: This memo STRONGLY encourages implementations to
572                 support these commands in lieu of developing augmented
573                 drop and scan listings.  In short, the philosophy of
574                 this memo is to put intelligence in the part of the
575                 POP3 client and not the POP3 server.
576
577           TOP msg n
578               Arguments: a message-id (required) and a number.  This
579                   message-id may NOT refer to a message marked as
580                   deleted.
581               Restrictions: may only be given in the TRANSACTION state.
582               Discussion:
583
584                 If the POP3 server issues a positive response, then
585                 the response given is multi-line.  After the initial
586                 +OK, the POP3 server sends the headers of the message,
587                 the blank line separating the headers from the body,
588                 and then the number of lines indicated message's body,
589                 being careful to byte-stuff the termination character
590                 (as with all multi-line responses).
591
592                 Note that if the number of lines requested by the POP3
593                 client is greater than than the number of lines in the
594                 body, then the POP3 server sends the entire message.
595
596               Possible Responses:
597                   +OK top of message follows
598                   -ERR no such message
599               Examples:
600                   C:    TOP 10
601                   S:    +OK
602                   S:    <the POP3 server sends the headers of the
603                          message, a blank line, and the first 10 lines
604                          of the body of the message>
605                   S:    .
606                     ...
607                   C:    TOP 100
608                   S:    -ERR no such message
609
610           RPOP user
611               Arguments: a client specific user-id (required)
612               Restrictions: may only be given in the AUTHORIZATION
613                   state after a successful USER command; in addition,
614                   may only be given if the client used a reserved
615
616
617
618Rose                                                           [Page 11]
619
620RFC 1081                          POP3                     November 1988
621
622
623                   (privileged) TCP port to connect to the server.
624               Discussion:
625
626                 The RPOP command may be used instead of the PASS
627                 command to authenticate access to the maildrop.  In
628                 order for this command to be successful, the POP3
629                 client must use a reserved TCP port (port < 1024) to
630                 connect tothe server.  The POP3 server uses the
631                 argument pair from the USER and RPOP commands to
632                 determine if the client should be given access to
633                 the appropriate maildrop.  Unlike the PASS command
634                 however, the POP3 server considers if the remote user
635                 specified by the RPOP command who resides on the POP3
636                 client host is allowed to access the maildrop for the
637                 user specified by the USER command (e.g., on Berkeley
638                 UNIX, the .rhosts mechanism is used).  With the
639                 exception of this differing in authentication, this
640                 command is identical to the PASS command.
641
642                 Note that the use of this feature has allowed much wider
643                 penetration into numerous hosts on local networks (and
644                 sometimes remote networks) by those who gain illegal
645                 access to computers by guessing passwords or otherwise
646                 breaking into the system.
647
648               Possible Responses:
649                   +OK maildrop locked and ready
650                   -ERR permission denied
651               Examples:
652                   C:    USER mrose
653                   S:    +OK mrose is a real hoopy frood
654                   C:    RPOP mrose
655                   S:    +OK mrose's maildrop has 2 messages (320
656                         octets)
657
658       Minimal POP3 Commands:
659           USER name               valid in the AUTHORIZATION state
660           PASS string
661           QUIT
662
663           STAT                    valid in the TRANSACTION state
664           LIST [msg]
665           RETR msg
666           DELE msg
667           NOOP
668           LAST
669           RSET
670
671
672
673
674Rose                                                           [Page 12]
675
676RFC 1081                          POP3                     November 1988
677
678
679           QUIT                    valid in the UPDATE state
680
681       Optional POP3 Commands:
682           RPOP user               valid in the AUTHORIZATION state
683
684           TOP msg n               valid in the TRANSACTION state
685
686       POP3 Replies:
687           +OK
688           -ERR
689
690       Note that with the exception of the STAT command, the reply given
691       by the POP3 server to any command is significant only to "+OK"
692       and "-ERR".  Any text occurring after this reply may be ignored
693       by the client.
694
695Example POP3 Session
696
697    S: <wait for connection on TCP port 110>
698        ...
699    C: <open connection>
700    S:    +OK dewey POP3 server ready (Comments to: PostMaster@UDEL.EDU)
701    C:    USER mrose
702    S:    +OK mrose is a real hoopy frood
703    C:    PASS secret
704    S:    +OK mrose's maildrop has 2 messages (320 octets)
705    C:    STAT
706    S:    +OK 2 320
707    C:    LIST
708    S:    +OK 2 messages (320 octets)
709    S:    1 120
710    S:    2 200
711    S:    .
712    C:    RETR 1
713    S:    +OK 120 octets
714    S:    <the POP3 server sends message 1>
715    S:    .
716    C:    DELE 1
717    S:    +OK message 1 deleted
718    C:    RETR 2
719    S:    +OK 200 octets
720    S:    <the POP3 server sends message 2>
721    S:    .
722    C:    DELE 2
723    S:    +OK message 2 deleted
724    C:    QUIT
725
726
727
728
729
730Rose                                                           [Page 13]
731
732RFC 1081                          POP3                     November 1988
733
734
735    S:    +OK dewey POP3 server signing off (maildrop empty)
736    C:  <close connection>
737    S:  <wait for next connection>
738
739Message Format
740
741   All messages transmitted during a POP3 session are assumed to conform
742   to the standard for the format of Internet text messages [RFC822].
743
744   It is important to note that the byte count for a message on the
745   server host may differ from the octet count assigned to that message
746   due to local conventions for designating end-of-line.  Usually,
747   during the AUTHORIZATION state of the POP3 session, the POP3 client
748   can calculate the size of each message in octets when it parses the
749   maildrop into messages.  For example, if the POP3 server host
750   internally represents end-of-line as a single character, then the
751   POP3 server simply counts each occurrence of this character in a
752   message as two octets.  Note that lines in the message which start
753   with the termination octet need not be counted twice, since the POP3
754   client will remove all byte-stuffed termination characters when it
755   receives a multi-line response.
756
757The POP and the Split-UA model
758
759   The underlying paradigm in which the POP3 functions is that of a
760   split-UA model.  The POP3 client host, being a remote PC based
761   workstation, acts solely as a client to the message transport system.
762   It does not provide delivery/authentication services to others.
763   Hence, it is acting as a UA, on behalf of the person using the
764   workstation.  Furthermore, the workstation uses SMTP to enter mail
765   into the MTS.
766
767   In this sense, we have two UA functions which interface to the
768   message transport system: Posting (SMTP) and Retrieval (POP3).  The
769   entity which supports this type of environment is called a split-UA
770   (since the user agent is split between two hosts which must
771   interoperate to provide these functions).
772
773                 ASIDE:  Others might term this a remote-UA instead.
774                 There are arguments supporting the use of both terms.
775
776   This memo has explicitly referenced TCP as the underlying transport
777   agent for the POP3.  This need not be the case.  In the MZnet split-
778   UA, for example, personal micro-computer systems are used which do
779   not have IP-style networking capability.  To connect to the POP3
780   server host, a PC establishes a terminal connection using some simple
781   protocol (PhoneNet).  A program on the PC drives the connection,
782   first establishing a login session as a normal user.  The login shell
783
784
785
786Rose                                                           [Page 14]
787
788RFC 1081                          POP3                     November 1988
789
790
791   for this pseudo-user is a program which drives the other half of the
792   terminal protocol and communicates with one of two servers.  Although
793   MZnet can support several PCs, a single pseudo-user login is present
794   on the server host.  The user-id and password for this pseudo-user
795   login is known to all members of MZnet.  Hence, the first action of
796   the login shell, after starting the terminal protocol, is to demand a
797   USER/PASS authorization pair from the PC.  This second level of
798   authorization is used to ascertain who is interacting with the MTS.
799   Although the server host is deemed to support a "trusted" MTS entity,
800   PCs in MZnet are not.  Naturally, the USER/PASS authorization pair
801   for a PC is known only to the owner of the PC (in theory, at least).
802
803   After successfully verifying the identity of the client, a modified
804   SMTP server is started, and the PC posts mail with the server host.
805   After the QUIT command is given to the SMTP server and it terminates,
806   a modified POP3 server is started, and the PC retrieves mail from the
807   server host.  After the QUIT command is given to the POP3 server and
808   it terminates, the login shell for the pseudo-user terminates the
809   terminal protocol and logs the job out.  The PC then closes the
810   terminal connection to the server host.
811
812   The SMTP server used by MZnet is modified in the sense that it knows
813   that it's talking to a user agent and not a "trusted" entity in the
814   message transport system.  Hence, it does performs the validation
815   activities normally performed by an entity in the MTS when it accepts
816   a message from a UA.
817
818   The POP3 server used by MZnet is modified in the sense that it does
819   not require a USER/PASS combination before entering the TRANSACTION
820   state.  The reason for this (of course) is that the PC has already
821   identified itself during the second-level authorization step
822   described above.
823
824                 NOTE: Truth in advertising laws require that the author
825                 of this memo state that MZnet has not actually been
826                 fully implemented.  The concepts presented and proven
827                 by the project led to the notion of the MZnet
828                 split-slot model.  This notion has inspired the
829                 split-UA concept described in this memo, led to the
830                 author's interest in the POP, and heavily influenced
831                 the the description of the POP3 herein.
832
833   In fact, some UAs present in the Internet already support the notion
834   of posting directly to an SMTP server and retrieving mail directly
835   from a POP server, even if the POP server and client resided on the
836   same host!
837
838                 ASIDE: this discussion raises an issue which this memo
839
840
841
842Rose                                                           [Page 15]
843
844RFC 1081                          POP3                     November 1988
845
846
847                 purposedly avoids: how does SMTP know that it's talking
848                 to a "trusted" MTS entity?
849
850References
851
852     [MZnet]   Stefferud, E., J. Sweet, and T. Domae, "MZnet: Mail
853               Service for Personal Micro-Computer Systems",
854               Proceedings, IFIP 6.5 International Conference on
855               Computer Message Systems, Nottingham, U.K., May 1984.
856
857     [RFC821]  Postel, J., "Simple Mail Transfer Protocol",
858               USC/Information Sciences Institute, August 1982.
859
860     [RFC822]  Crocker, D., "Standard for the Format of ARPA-Internet
861               Text Messages", University of Delaware, August 1982.
862
863     [RFC937]  Butler, M., J. Postel, D. Chase, J. Goldberger, and J.
864               Reynolds, "Post Office Protocol - Version 2", RFC 937,
865               USC/Information Sciences Institute, February 1985.
866
867     [RFC1010] Reynolds, J., and J. Postel, "Assigned Numbers", RFC
868               1010, USC/Information Sciences Institute, May 1987.
869
870Author's Address:
871
872
873   Marshall Rose
874   The Wollongong Group
875   1129 San Antonio Rd.
876   Palo Alto, California 94303
877
878   Phone: (415) 962-7100
879
880   Email: MRose@TWG.COM
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898Rose                                                           [Page 16]
899