Network Working Group D. Smallberg Request for Comments: 876 ISI September 1983
Survey of SMTP Implementations
----------------------
This memo is a survey of implementation status. It does not specify an official PRotocol, but rather notes the status of impementation of aspects of a protocol. It is eXPected that the status of the hosts reported on will change. This information must be treated as a snapshot of the state of these implementations.
----------------------
From May to August 1983, I tested SMTP servers on the Internet to see whether they accepted connections from the Arpanet (a Class A network) and ISI-Net (a Class B network), whether they accepted the user "postmaster" as a mail recipient, and whether a nonexistent user was immediately rejected as a mail recipient.
The hosts from which the tests were condUCted were ISI-VAXA on the Arpanet (running 4.1bsd UNIX), and ISI-MOE on ISI-Net (running 4.1a). Internet hosts were tested at various times throughout the last four months. During the survey, I noted anomalies in a few dozen hosts' SMTP servers; examples included a RSET command causing the server to close the connection, a VRFY POSTMASTER evoking a reply containing an illegal mailbox, and some cases of improper reply codes. These bugs were reported and in most cases promptly fixed.
I would class three problems as significant because about 40 hosts exhibit at least one of them:
1) In reply to a RSET and/or a NOOP command, some servers reply "200", which is never a legal reply code, instead of "250". (See sections 4.2 and 4.3 of RFC821.)
2) If a VRFY command occurs before a MAIL command, some hosts reply "554 Nested MAIL command". The end of section 4.1.1 of RFC821 states that a VRFY may occur anywhere in the session.
3) If a mail transaction is started, with a sender and receiver specified, and a RSET is issued before the text of the message itself is collected, some servers send a message to the sender about being unable to deliver mail because no message was collected. While RFC821 doesn't rule this out, it certainly is not consistent with the notion of resetting the transaction.
In the table in the appendix, the names and addresses of the hosts tested were taken from the NIC host table of 17 August 1983. TACs and echo hosts were not included in the survey.
Page 1
RFC876
Here are the summarized results of the survey:
483 hosts were tested
283 are claimed by the host table to support SMTP 49 of those 283 (17%) failed to permit a connection to be opened from either ISI-VAXA or ISI-MOE. 51 hosts did not claim to support SMTP, but did allow a connection to be opened from at least one of the two ISI test hosts.
285 hosts were connected to from ISI-VAXA 170 hosts were connected to from ISI-MOE; all 170 were connected to from ISI-VAXA as well. 115 hosts out of the 285 (40%), therefore, could be connected to from ISI-VAXA only.
69 of the 285 connectable hosts (24%) returned a positive reply to the command "VRFY postmaster"
162 hosts out of the 285 connectable hosts (57%) immediately rejected mail addressed to a nonexistent user; that is, they gave an "unknown user" reply to the command "RCPT TO:<jqkxwzvb@host>", where "host" was the foreign host. 115 hosts out of the 285 (40%) gave a positive acknowledgement to a RCPT command with a nonexistent user. 8 hosts (3%) were never up during this part of the test.
121 hosts out of the 162 which immediately reject mail to nonexistent users (75%) accepted mail for the recipient "postmaster". Thus, 42% (121 out of 285) of the connectable hosts do not immediately reject mail for "postmaster".
References:
RFC821 Postel, J., "Simple Mail Transfer Protocol", RFC821, Network Information Center, SRI International, Menlo Park, August 1982.
Page 2
RFC876 APPENDIX
The hosts in this table are taken from the NIC host table of 17 August 1983, with TACs and echo hosts omitted, and are grouped by network. There are six result entries for each host:
Claim SMTP + = the host table lists this host as supporting SMTP; - = such support is not listed
Arpanet + = a connection could be opened from ISI-VAXA - = no such connection could be opened
ISI-Net + = a connection could be opened from ISI-MOE - = no such connection could be opened
VRFY Post + = the command "VRFY postmaster" evoked a positive reply - = it did not
RCPT Post + = the command "RCPT TO:<postmaster@host>" elicited a positive reply - = it did not
Bad jqkx + = the command "RCPT TO:<jqkxwzvb@host>" elicited a negative reply (i.e. unknown user) - = it received a positive reply (i.e. recipient accepted)