The following extract appears to show that the ConnectionListener.opened() method is called at the wrong time, i.e. after the message and the QUIT message have already sent.
...
DATA
354 End your message with a period.
Date: Thu, 15 Dec 2011 16:04:01 +1100 (EST)
[rest of message elided]
.
250 Accepted message qp 25803 bytes 1352
QUIT
221 Good bye.
15/12/2011 4:04:03 PM com.xxx.mail.MailConnectListener opened
INFO: event=javax.mail.event.ConnectionEvent[source=smtp://xxxx@yyyy.net]
15/12/2011 4:04:05 PM com.xxx.jsf.JSFMailTransportListener messageDelivered
INFO: email delivered to [aaaa@bbbb.com]
15/12/2011 4:04:05 PM com.xxx.mail.MailConnectListener closed
INFO: event=javax.mail.event.ConnectionEvent[source=smtp://xxxx@yyyy.net]
I'm finding that a little odd. Java Mail 1.4.4.