Closed GoogleCodeExporter closed 9 years ago
As it is written in the done() javadoc, the done function is called even if
none of the other MessageHandler methods are called. This is the correct
behavior, otherwise proper cleanup were not always possible. The same situation
also occurs when the client connects and then immediately quits, only done() is
called.
On the other hand this is indeed not really intuitive. As I see MessageHandler
mostly corresponds to the "mail transaction" term of RFC 5321. The only
difference is that a mail transaction only starts after the MAIL command, while
MessageHandler is created immediately (on connection or after a successful DATA
or RSET). If we strictly follow the mail transaction definition, then a
MessageHandler instance should be created only after the MAIL command is
received. In this case done() will not be called in the described situations,
because no MessageHandler instance will exist.
Original comment by hontvari@flyordie.com
on 18 Oct 2011 at 8:21
Original comment by hontvari@flyordie.com
on 19 Oct 2011 at 1:00
This is ripe for a unit test. ;-)
Original comment by latch...@gmail.com
on 19 Oct 2011 at 1:11
Original issue reported on code.google.com by
gotnob...@gmail.com
on 17 Oct 2011 at 9:49