August 1982 RFC 821 Simple Mail Transfer Protocol
4.2.2. NUMERIC ORDER LIST OF REPLY CODES
211 System status, or system help reply
214 Help message
[Information on how to use the receiver or the meaning of a
particular non-standard command; this reply is useful only
to the human user]
220 <domain> Service ready
221 <domain> Service closing transmission channel
250 Requested mail action okay, completed
251 User not local; will forward to <forward-path>
354 Start mail input; end with <CRLF>.<CRLF>
421 <domain> Service not available,
closing transmission channel
[This may be a reply to any command if the service knows it
must shut down]
450 Requested mail action not taken: mailbox unavailable
[E.g., mailbox busy]
451 Requested action aborted: local error in processing
452 Requested action not taken: insufficient system storage
500 Syntax error, command unrecognized
[This may include errors such as command line too long]
501 Syntax error in parameters or arguments
502 Command not implemented
503 Bad sequence of commands
504 Command parameter not implemented
550 Requested action not taken: mailbox unavailable
[E.g., mailbox not found, no access]
551 User not local; please try <forward-path>
552 Requested mail action aborted: exceeded storage allocation
553 Requested action not taken: mailbox name not allowed
[E.g., mailbox syntax incorrect]
554 Transaction failed
4.5.3. SIZES
There are several objects that have required minimum maximum sizes. That is, every implementation must be able to receive objects of at least these sizes, but must not send objects larger than these sizes.
user
The maximum total length of a user name is 64 characters.
domain
The maximum total length of a domain name or number is 64 characters.
path
The maximum total length of a reverse-path or forward-path is 256 characters (including the punctuation and element separators).
command line
The maximum total length of a command line including the command word and the <CRLF> is 512 characters.
reply line
The maximum total length of a reply line including the reply code and the <CRLF> is 512 characters.
RFC 821 August 1982 Simple Mail Transfer Protocol
text line
The maximum total length of a text line including the <CRLF> is 1000 characters (but not counting the leading dot duplicated for transparency).
recipients buffer
The maximum total number of recipients that must be buffered is 100 recipients.
Errors due to exceeding these limits may be reported by using the reply codes, for example:
500 Line too long.
501 Path too long
552 Too many recipients.
552 Too much mail data.
--------------------------------------------------------------------------------
RFC 2259 Simple Nomenclator Query Protocol (SNQP) January 1998
4. Replies
Most SNQP replies are short. They have a rely code followed by a continuation character and reply text. If the continuation character is blank, the reply is complete. If the continuation character is a dash ("-"), the reply continues on the next line. Text within the reply can vary, but the reply code remains the same. A two line reply example is given below:
nnn-Message1
nnn Message2
In some cases commands or replies may be long, so these commands/replies use the '.'-terminated block structure that is used for message bodies in SMTP. Blocks are comprised of lines of text that constitute the command/reply. Blocks are terminated with a period on a line by itself.
The theory of reply codes explained for SMTP in RFC 821 is used here. Table 2 defines the reply code structure. Reply codes are three digits, xyz. The x digit indicates the command status. The y digit indicates the component of the system that generated the reply. The z digit allows for further distinctions within replies from the same component.
1yz Positive preliminary reply (not used in SNQP)
2yz Positive completion reply
3yz Positive intermediate reply
4yz Transient negative completion reply
5yz Permanent negative completion reply
6yx Transient negative intermediate reply
7yx Permanent negative intermediate reply
x0z Syntax or semantic problem
x1z Informational reply
x2z Related to transmission channel
x3z Formatted (location coded) report for GUI
x4z Status message to be displayed by GUI
x5z Related to query resolver
x6z Related to data repository
x9z Component generating the error is unknown or suspect
Table 2: Reply Code Structure
The GUI-related reply codes are only used if the server has been informed that it is communicating with a graphical user interface, via the imagui command. For such codes in the x3z space, digit "z" takes on the role of digit "y" in other codes. I.e. 735 are permanent negative intermediate replies about the query resolver.
Table 3a and Table 3b list the defined regular (non-GUI) reply codes. Text messages for the reply codes may vary. The codes are sorted numerically.
210-The following commands are available:
211-There are <n> relations defined:
212-There are <n> attributes in relation "<relation>":
213 Performing <comparison-type> type equality comparisons
214 Basic advice enabled. Query responses disabled.
214 Advice enabled for "<attribute>" in "<relation>"
215 GUI responses enabled
215 GUI responses disabled
216 Query responses enabled. Advice disabled.
220 <domain-name> <snqp-service-name> Query Service ready
221 <domain-name> closing transmission channel
250 All queries processed
250 All queries processed. Current through <time>.
251 All pending queries and responses discarded
340 Searching <n> data repositories
350 Send the query text, end with .
351 Partial response follows, ended with .
352 Beginning next query in batch
352 Beginning next query in batch. Previous current through <time>.
353 Starting next query. Any pending responses discarded.
354 The query will contact <n> data repositories, ended with .
355 There are <n> attributes that may constrain the query, ended with .
356 There are <n> possible values for attribute "<attribute>":
357 There are <n> constraining values for attribute "<attribute>":
420 Too many connections in progress. Try later.
421 Error in communicating with <snqp-service-name>
450 No query in progress
451 Cancel ignored
Table 3a: Reply Codes
450 Query already in progress
490 Internal error: Invalid query reference number
491 System error: <error number or message>
492 Internal error: Out of client table space
499 <snqp-service-name> shutting down
500 Sorry, no help is available for "<command>"
501 Unknown command
502 Too many arguments for this command
502 Not enough arguments for this command
514 Advice not available
514 Advice not available on <attribute>
552 Query blocks are limited to one SQL query
553 Unknown relation
553 Unknown relation. Current through <TIME>.
554 Unknown attribute
555 Unknown comparison type
556 T-bounds not supported
557 Will not list more than <n> data repositories
557 Will not list more than <n> attribute values
557 Will not list more than <n> responses
557 Too many data repositories to list
557 Too many attribute values to list
557 Too many responses to list
557 Too many data repositories to search
651 <Error message from query resolver>
653 <Communications error> with <location> <location description>
660 <Error> from <location> <location description>
700 <SQL parse error message>
750 <SQL semantic error message>
751 <Error message from query resolver>
761 <Requirements error> for <location> <location description>
790 Internal error: <fatal error from SNQP server>
Table 3b: Reply Codes (Continued)
Table 4 lists the defined GUI reply codes. Text messages for the reply codes may vary. The codes are sorted numerically. An explanation of the codes follows the table.
331 nnnnnnn! <message>
331 nnnnnnn.mmmmmm <message>
331 nnnnnnn-mmmmmm <message>
730 nnnnnnnammmmmm e <parse error message>
735 nnnnnnnammmmmm e <semantic error message>
340 <status>
Table 4: GUI Reply Codes
In Table 4, nnnnnnn is the line number in a query block, and mmmmmm is the column in the line. Both numbers begin counting with 1. The exclamation point response directs the program to list information after line n. The period response directs the program to break line n at column m. The hyphen response directs the program to flag line n at column m. Replies 730 and 735 direct the GUI to indicate the parsing or semantic error at line n, column m. Response 340 provides status information that can be displayed immediately in the GUI's status line. A sample status message is one that indicates which data repository is being contacted.
--------------------------------------------------------------------------------
RFC 2554 SMTP Service Extension for Authentication March 1999
6. Error Codes
The following error codes may be used to indicate various conditions
as described.
432 A password transition is needed
This response to the AUTH command indicates that the user needs to
transition to the selected authentication mechanism. This typically
done by authenticating once using the PLAIN authentication mechanism.
534 Authentication mechanism is too weak
This response to the AUTH command indicates that the selected
authentication mechanism is weaker than server policy permits for
that user.
538 Encryption required for requested authentication mechanism
This response to the AUTH command indicates that the selected
authentication mechanism may only be used when the underlying SMTP
connection is encrypted.
454 Temporary authentication failure
This response to the AUTH command indicates that the authentication
failed due to a temporary server failure.
530 Authentication required
This response may be returned by any command other than AUTH, EHLO,
HELO, NOOP, RSET, or QUIT. It indicates that server policy requires
authentication in order to perform the requested action.
535 Authentication unsuccessful