Message Posting Protocol (MPP)
RFC 1204

Document Type RFC - Experimental (February 1991; No errata)
Last updated 2013-03-02
Stream Legacy
Formats plain text pdf htmlized bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 1204 (Experimental)
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                             S. Yeh
Request for Comments: 1204                                        D. Lee
                                              Netix Communications, Inc.
                                                           February 1991

                     Message Posting Protocol (MPP)

Status of this Memo

   This memo describes a protocol for posting messages from workstations
   (e.g., PCs) to a mail service host.  This RFC specifies an
   Experimental Protocol for the Internet community.  Discussion and
   suggestions for improvement are requested.  Please refer to the
   current edition of the "IAB Official Protocol Standards" for the
   standardization state and status of this protocol.  Distribution of
   this memo is unlimited.

1. INTRODUCTION

   Operating systems for personal computers do not provide a mechanism
   for user authentication.  However, such a mechanism is crucial for
   electronic mail system since authenticating message sender's identity
   is important in preventing mail forgery.  Hence, adding personal
   computers to an electronic mail network requires an agent (message
   posting server) to authenticate sender's identity and then submit
   mail to the message delivery system (e.g., Sendmail, MMDF) on behalf
   of the sender at a PC.  The Netix Message Posting Protocol is
   developed to be the interface between the message posting server and
   the PC (client).  The protocol is designed to use TCP and is based on
   the command and reply structures defined for Simple Mail Transfer
   Protocol (RFC 821) and File Transfer Protocol (RFC 959).

2. SPECIFICATIONS

2.1.  Command List

      USER <SP> <username> <CRLF>
      PASS <SP> <password> <CRLF>
      DATA <CRLF>
      NOOP <CRLF>
      QUIT <CRLF>

2.2.  Reply List

      220 Message Posting Service Ready.
      221 Closing Connection.
      250 Command OK.

Yeh & Lee                                                       [Page 1]
RFC 1204                          MPP                      February 1991

      354 Enter mail, end with <CRLF>.<CRLF>
      451 Local error encountered.
      500 Command unrecognized.
      501 Argument syntax error.
      503 Illegal command sequence.
      530 Authentication Failure.
      550 Error.

2.3.  Command and Reply Descriptions

      USER <SP> <username> <CRLF>

         The USER command informs the message posting server about the
         username of the user trying to submit mail to the network.  The
         required argument for the USER command is a string specifying
         the message sender's username.

         The USER command can only be used under three conditions:

         - when the session with the message posting server has just
           started;

         - right after a message text (terminated by the "<CRLF>.<CRLF>"
           sequence) has been successfully submitted to the message
           posting server;

         - right after a USER command that gets the reply code 501.

         List of possible reply codes for the USER command:

         - 250   The username of the message sender has been accepted.

         - 451   Internal error has occurred in the message posting
                 server.

         - 501   Syntax error detected in the username argument.

         - 503   The USER command has been used under an inappropriate
                 condition (i.e., one that is not specified above).

         It is recommended that the message posting server should return
         250 even if the username is not recognized by the message
         posting server, as long as the username is syntactically
         correct.  This is an attempt to prevent the message posting
         server from releasing too much information about the user
         database.  Client should not be able to test the existence of a
         certain username.

Yeh & Lee                                                       [Page 2]
RFC 1204                          MPP                      February 1991

      PASS <SP> <password> <CRLF>

         The PASS command is used to inform the message posting server
         about the password associated with the username previously
         specified.  The required argument for the PASS command is a
         string specifying the message sender's password.

         The PASS command can only be used under two conditions:

         - right after a USER command that gets the reply code 250;

         - right after a PASS command that gets the reply code 501.

         List of possible reply codes for the PASS command:

         - 250   The password has been accepted and verified to be
                 correctly associated with the username previously
                 specified.

         - 451   Internal error has occurred in the message posting
                 server.

         - 501   Syntax error detected in the password argument.

         - 503   The PASS command has been used under an inappropriate
Show full document text