Typically, if you run a network trace, you note that the receiving server sends a "250 2.6.1" return code to the originating server after the sender successfully completes the DATA portion of the message.
In the trace, the last lines of this 250 return code resemble the following data (this data is displayed in the network trace hexadecimal data):
51 75 65 75 65 64 20 6D 61 69 6C 20 66 6F 72 | Queued mail for |
20 64 65 6C 69 76 65 72 79 0D 0A | delivery |
NOTE: Review the last four hexadecimal values in your trace. If these values match the values that are displayed in the preceding table, this the article does not apply to you.
The last hexadecimal values (0D 0A) represent a carriage return and line feed. These values indicate that the 250 return code is complete and that the server is acting correctly.
The symptoms that are described in the "Symptoms" section of this article occur because the MTS-ID message that is returned with the 250 return code is greater than the buffer size that is allocated for the return string (the buffer size is 1024 kilobytes [KB]). If this behavior occurs, the server that sends the 250 return code does not send the carriage return and line feed codes (0D 0A), and a "250 2.6.1" return code is not created. As a result the sender is not notified that the message was successfully received. The connection times out while the server that sent the message is waiting for the 250 return code, and a 451 packet is sent back by the receiving server. As a result the connection is marked as "down" (a link state problem), messages get stuck in the queue, and non-delivery reports (NDRs) are sent to the senders.