SIGESA: Enviar correo

  • Requiere
import javax.mail.internet.MimeUtility;
  • Para envio de parametros
Map<String, String> parametros = new HashMap<>();

parametros.put("etapaPlanNombre", etapaPlan.getNombre());

// Obtener plantilla
bodyCorreo = plantillaCorreoService.getHtmlContent("TPPIPPOAVISOINICIOFINALIZACIONETAPASPPO", parametros);
  • Envio de correo
 public void enviarCorreoAvisoInicioFinalizacionEtapasPPO(
                List<Usuario> usuariosEnviarCorreo, 
                String bodyCorreo,
                String subject) {
        try {

            List<Persona> personas = new ArrayList();
            personas = agregarPersonasPorUsuarios(personas, usuariosEnviarCorreo);

            subject = MimeUtility.encodeText(subject, "UTF-8", null);


            if (!personas.isEmpty()) {
                for (Persona persona : personas) {

                    List<String> correos = new ArrayList();

                    persona.getPersonaCorreos().stream()
                            .filter(personaCorreo -> ((personaCorreo.getActivo() == 1) && (personaCorreo.getPrioridad() == 1)))
                            .map(personaCorreo -> personaCorreo.getCorreoElectronico())
                            .forEachOrdered(destinatario -> {
                                correos.add(destinatario);
                            });

                    if (!correos.isEmpty()) {
                        mailService.sendMail(MailMessageData.builder()
                                .to(correos)
                                .subject(subject)
                                .body(bodyCorreo)
                                .build());
                    }
                }
            }

        } catch (Exception ex) {

        }
    }
  • Adicionales
  String plantillaContenido = plantillaCorreoService.getHtmlContent("NFBOLVACPROCREC", parametros);
            if (plantillaContenido.contains("&lt;") || plantillaContenido.contains("&gt;")) {
                plantillaContenido = plantillaContenido.replace("&lt;", "<");
                plantillaContenido = plantillaContenido.replace("&gt;", ">");
                return plantillaContenido;
            }
            return plantillaContenido;