I would like to get a feel from our MTA developers and operators what they feel about this below:
Glenn Anderson wrote:
Suppose your MTA was connecting to our server, and you were sending mail to 3 accounts and the RCPT reply codes was:RCPT TO: user1 ---> 250 RCPT TO: user2 ---> 450 RCPT TO: user3 ---> 550 because there was at least one 250, you were allowed to go to DATA DATA 354 continue ... payload transfered ... 550 not accepted. With the 550 DATA server response, Q1 - How will your MTA behave here? A) continue to try USER1? B) continue to try USER1 and USER2? C) not continue to try any? D) Other scheme?D, continue to try USER2, as that transaction was delayed.
Glenn's answer assumes USER1 will be getting the message here. I believe the correct answer is C. It matches the specifications: [2821/2821bis - 4.2.5] When an SMTP server returns a permanent error status (5yz) code after the DATA command is completed with <CRLF>.<CRLF>, it MUST NOT make any subsequent attempt to deliver the message. As with temporary error status codes, the SMTP client retains responsibility for the message, but SHOULD not again attempt delivery to the same server without user review of the message and response and appropriate intervention.I hope that others can chime in one way or another because we are talking about changing the specifications if other systems behave as Glenn's MTA.
-- Sincerely Hector Santos, CTO http://www.santronics.com http://santronics.blogspot.com