A few years later, but I can say there are libraries combining asynchronous operation with multiple threads and SMTP connection reuse. Have a look at
Simple Java Mail
smtp-connection-pool