Mejore el rendimiento en el envío de correos electrónicos masivos a través de spring-mail
Tengo una aplicación independiente que utiliza un simple código de correo electrónico de primavera como se muestra a continuación, elto
y elmessage
se construye utilizando los valores iterados del mapa.
Ya he tenido algunas sugerencias para la pregunta.aquí , pero necesito algún consejo específico para esto. a continuación está mi código
for (Map.Entry<String, List<values>> entry : testMap
.entrySet()) {
String key = entry.getKey();
StringBuilder htmlBuilder = new StringBuilder();
List<Model> valueList = entry.getValue();
for (Model value : valueList) {
htmlBuilder.append('List Values in the message');
}
mail.sendMail( msgFrom,body); // call my sendMail function in another class
}
Código para enviar correo:
MimeMessage email = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(email, true);
helper.setFrom(new InternetAddress(from));
helper.setTo(new InternetAddress(to));
helper.setText(msg, true);
helper.addInline("identifier1234", res);
mailSender.send(email);
Tarda entre 3 y 4 segundos en enviar el correo. Tengo una gran lista de usuarios de alrededor de 400,000 cada día para enviar
¿Estoy haciendo algo mal u otro enfoque para acelerar este proceso? Necesito asesoramiento de expertos
Gracias por tu tiempo y ayuda :)