On Mon, Dec 11, 2006 at 06:17:01PM +0800, d tbsky wrote:
> hi:
> some of our users now use outlook 2003. the smtp session
> idle timeout default is 60 seconds for outlook 2003 and 2007.
Is this timeout for application layer or for trasport layer of
the SMTP protocol?
In other words, does the timeout occur when no SMTP replies are
received for a time or if no TCP packets are received?
> we use qmail-scanner and clamav for virus scans. it would
> take about 70 seconds to scan a 15 MB email. so the outlook
> 2003/2007 think smtp-timeout when clamav is working.
> outlook disconnect and try send the mail again in a few minutes.
> but qmail think the mail is ok, so it deliver the mail to user.
>
> so outlook try to send the same mail again and again, and
> the user receive the same mail again and again.
This is reasonable. The qmail process doesn't check for a reply from
the client (when the message is in the queue, it is in the queue), and
the client disconnects before receiving the return code, so it states
the delivery failed.
> change outlook timeout fix this. but i wonder if we can let qmail-smtpd
> sent out a "keep alive" message when qmail-queue is working?
> thanks for help!!
If the timeout is at trasport layer, you can activate the tcp keepalive
and solve the issue, if it's an application layer timeout I don't know
any way to do this, because the first reply to the mail data is the
status of message processing and the RFC doesn't consider such situations.
Bye
Fabio
|