XFOR: Internet Mail Service Not Trying Next MX Record if Session to Port 25 Established (190785)



The information in this article applies to:

  • Microsoft Commercial Internet System 1.0
  • Microsoft Commercial Internet System 2.0

This article was previously published under Q190785

SYMPTOMS

Some organizations on the Internet have multiple MX records that resolve to a computer that has port 25 listening but does not have a Simple Mail Transfer Protocol (SMTP) daemon on the other end to actually send the Service Ready response.

This problem can cause a large number of non-delivery reports (NDRs). The NDRs can result in a large number of calls to an Internet Service Provider or a company's internal Help desk.

RESOLUTION

A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem. This fix may receive additional testing. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Microsoft Windows NT 4.0 service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The typical support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English version of this fix should have the following file attributes or later:

Component: SMTP Service

File nameVersion
Smtpsvc.dll5.5.1877.26

STATUS

Microsoft has confirmed that this is a problem in Microsoft CommercialInternet System versions 1.0 and 2.0.

MORE INFORMATION

Steps to Reproduce the Problem

An application listens on Port 25, accepts an incoming request, but never does anything with the connection.
  1. Set up an Internet Mail Service 1.0 server.
  2. Point this server to a Domain Name System (DNS) computer with the following MX records:

    microsoft.com MX preference = 300, mail exchanger = example1.microsoft.com
    microsoft.com MX preference = 50, mail exchanger = example2.microsoft.com

  3. On example2, install an application that listens to port 25 but does not do anything with the connection.
  4. Send a message from a client on the Internet Mail Service server to user@microsoft.com.

Result

A query to DNS returns both example1 and example2. Because example2 has a lower preference, an attempt to send the message to example2 is performed. Because port 25 is listening and accepting connections, you see the Internet Mail Service server do a Syn-SynAck-Ack handshake with example2. It never moves on to the next MX record for example1.

Additional Information

This fix attempts to deliver messages to all the MX records for a site until the messages are delivered under the following conditions:
  • Unable to reach the server the MX record points to.
  • The MX record points to a server that does not have SMTP running.
  • The MX record points to a server where SMTP accepts the connection but then stops responding.
  • The SMTP connection is refused.
  • The connection is dropped or times out before the message receipt is acknowledged.
  • A 4XX level (transient) error is received from any command.
After all MX records have been exhausted, if the message has not been successfully sent, the message is placed in the retry queue. Each retry makes an attempt to deliver to all the MX records listed for a given site. This cycle continues until all of the retries as configured by the system administrator have been exhausted.

SMTP adheres to the MX record preference as listed in the DNS record. Records are tried in order from the highest to lowest preference. If there are multiple MX records for a given site with the same preference, SMTP exhausts all of the MX records at the same preference level before trying MX records at a lower preference level.

If the number of retries as configured by the system administrator is exhausted, the message generates a non-delivery report (NDR) as because of the maximum number of retries is exceeded.

If at any point the message is rejected by an SMTP server (that is, the user account does not exist or a 550 No Relay is returned), SMTP returns the message to the sender as an NDR.

If an authoritative Host Not Found is returned for all recipients of the message, the message immediately generates an NDR.

Modification Type:MinorLast Reviewed:10/7/2005
Keywords:kbHotfixServer kbQFE kbbug kbfix KB190785