Purushotham Nayak:
> Thanks so much for the information! Also, tempfail does work correctly. But
> couple of questions though,
> 
> 1. When default action is tempfail and the milter is unavailable, smtpd
> sends 451 (Requested action aborted: error in processing). Wonder if there
> is a way to send 421 (Service not available, closing transmission channel)

Following the SMTP protocol rules, Postfix does not close connections
unless it has to.

> and then close the connection. 451 works fine except that some of the
> clients keeps retrying for several minutes before giving up and creating a
> new connection. If we have a config option to send 421 and close the
> connection it might help it be faster.

If developer cycles were unlimited, we could make Postfix 100x as
complex just to handle all possible client badness. But, we don't
have an unlimited budget.

> 2. I noticed that when the milter application exits, it sends FIN to smtpd

That is incorrect. Milters don't send FIN, and Postfix does not
receive FIN. Such signals are sent between the TCP layers of the
network stack.

The Milter protocol as defined is a half-duplex protocol, meaning
that each party waits for its turn to speak. A 'spontaneous'
disconnect by one party won't be detected until the other tries to
send or receive something.

This might be different if there Milters and Postfix were sending
packets at each other, but that is not how they work.

        Wietse

Reply via email to