Zhang Huangbin:
> On Sunday, July 28, 2013 at 8:24 PM, Wietse Venema wrote:
> 
> > 1) Use a network sniffer to see what Python actually sends. You may
> > assume that your program sends \n, but Postfix does not receive \n.
> 
> Thanks Wietse, and John.
> I think this is the root cause, will try a network sniffer later.
> > 2) Unrelated to this bug: closing the connection after one request
> > is inefficient.
> 
> My program closes the connection immediately.

Caution: it is not a good idea to close a connection immediately
after writing data to it.  Some TCP/IP implementations may discard
unsent data when a connection is closed.

In Postfix, I avoid "write-close" bugs by keeping a connection open
until the receiver closes it (with of course a time limit that
forces the connection to be closed when things take too long).

        Wietse 

Reply via email to