[Top] [All Lists]

Re: Proposal for Adjusted DATA Timeout

2008-05-27 02:19:23

Robert A. Rosenberg wrote:
One way to eliminate the duplicates if the SMTP server has accepted and sent the message but the MUA did not hang around to get the acceptance ACK (or did not send the QUIT) is to save the Message-ID of messages that the MUA did this for (I assume the retransmission will have the same MID. If/when it attempts reinjection, compare the supplied MID against the saved list and reject the attempt with a 5xx status code (and text saying "You submitted this already and I accepted and forwarded it"). You can prune the entry after a designated wait time or when the message is resubmitted (the latter possibly before the wait time expiration).

Our server does something like this - it actually stores a set of data of message-id, date, sender & recipient(s) to (a) handle the situation where the same message comes in twice, once for one recipient and once for another, both with the same message-id, and (b) to try to handle the rare (but not impossible) possibility of a duplicate message-id. It doesn't reject the message if it's seen it before, but it silently accepts it then discards it. (Rejecting the message would cause confusion for the sender who might then think the message hadn't got through).

I must say that, personally, I've never come across a situation where a 10 minute timeout has caused a problem, but far too many will timeout at the end of DATA even at 1 minute, and 5 minutes is not unusual.

Personally, I'd prefer either a 'keep-alive' or an analogue to the NNTP 'IHAVE', so the sending MTA can say to the receiving MTA 'I have message ID xxxxx' and the receiving MTA can say 'I've already seen that, don't bother sending it again'. The latter would be more complex, but would reduce resource consumption on the sending MTA.

Paul Smith

VPOP3 - POP3/SMTP/IMAP4/Webmail Email server for Windows

<Prev in Thread] Current Thread [Next in Thread>