|
Hi,
sorry, I lost the original email. Somehow I
thought it saw a "BDAT" instead of "DATA" in the log - but I could be
mistaken. (Curious to see it
again.)
In any case, take a look at this:
This seems to imply, that the sender does not have to "look
for" return codes until HE is complete with the data. In fact, your server
would have responded to the DATA command with a 3xx reply saying, okay, start
sending, I'll wait until I see a CR . CR.
If your server sends something out of turn, then that may
not register. It will look like a dropped connection - and thus
retry. In fact, I know that this is a know behavior of certain mail
servers (that they will simply keep retrying if you drop the connection during a
DATA transfer.)
Now, if it was indeed a BDAT (chunking) transfer, then the
RFC is very specific - that your server must wait its turn - even disk-full
would not be an "excuse" to respond while data is being
transmitted:
After all MAIL and RCPT responses are collected and
processed, the
message is sent using a series of BDAT commands. The BDAT command takes one required argument, the exact length of the data segment in octets. The message data is sent immediately after the trailing <CR> <LF> of the BDAT command line. Once the receiver-SMTP receives the specified number of octets, it will return a 250 reply code. ... snip ...
A 250 response MUST be sent to each successful
BDAT data block within
a mail transaction. If a failure occurs after a BDAT command is received, the receiver-SMTP MUST accept and discard the associated message data before sending the appropriate 5XX or 4XX code. ... snip ...
Note: An error on the
receiver-SMTP such as disk full or imminent
shutdown can only be reported after the BDAT segment has been received. It is therefore important to choose a reasonable chunk size given the expected end-to-end bandwidth. Best
Regards From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matt Sent: Saturday, July 09, 2005 05:06 PM To: [email protected] Subject: Re: [Declude.JunkMail] Somewhat OT: Sending server ignoring 552 SMTP error on large messages One minute and 20 seconds after that log snippet showing the 552 error, MS SMTP logs the following: 2005-07-09 05:11:09 204.0.181.214 mailhost1.neimanmarcus.com SMTPSVC1 VALHALLA 66.109.52.201 0 QUIT - mailhost1.neimanmarcus.com 240 102953 105 4 102719 SMTP - -The QUIT command is issued by the sending server of course. It then apparently waits for a 250 response and never gets one because MS SMTP has already given up on the message after the 552 error, and therefore the sending server just requeues the message and tries again on the next run. I do have MS SMTP set to close connections after 1 minute of inactivity, but I'm not sure that it would have issued a proper response to the message after it has already done so earlier. So the fact that after it reached my max size, it continued on for another 1:20 might be part of the issue, but not the whole issue. I'm not totally sure why this happens, but I get messages all of the time that are too large for the server to accept and they are handled properly, even when plain HELO is used. I suspect that some servers don't bother to listen during the session for any types of responses, and because MS SMTP gives up on the message before the QUIT arrives, this produces a form of a loop. Because this is so isolated, and I am using one of the most popular gateways out there, I strongly suspect that this is the sending server's problem. I don't see why one couldn't issue an error during the DATA being sent as there are lots of things that can go wrong during this process. If it is in fact in the RFC's that one should wait until the DATA command is finished before sending the error, I could see that MS SMTP was in error here, but I don't see why this would be so. Matt Sanford Whiteman wrote:
-- ===================================================== MailPure custom filters for Declude JunkMail Pro. http://www.mailpure.com/software/ ===================================================== |
- RE: [Declude.JunkMail] Somewhat OT: Sending server ignori... Andy Schmidt
