¿Cómo enviar múltiples correos electrónicos en una sesión?

Quiero enviar miles de correos electrónicos diferentes a diferentes destinatarios y me gustaría abrir la conexión a mi SMTP y retenerla. Espero que esto sea más rápido, luego vuelva a abrir la conexión para el correo ervy. Me gustaría usar el correo electrónico de Apache Commons para eso, pero podría recurrir a la API de Java Mail si es necesario.

En este momento estoy haciendo esto, lo que abre y cierra la conexión cada vez:

HtmlEmail email = new HtmlEmail();
email.setHostName(server.getHostName());
email.setSmtpPort(server.getPort());
email.setAuthenticator(new DefaultAuthenticator(server.getUsername(), server.getPassword()));
email.setTLS(true);
email.setFrom("[email protected]");
email.addTo(to);
email.setSubject(subject);
email.setHtmlMsg(htmlMsg);
email.send();

Respuestas a la pregunta(4)

Su respuesta a la pregunta