79725496

Date: 2025-08-05 00:35:36
Score: 7
Natty:
Report link

les dejo la solucion que me funciono a mi, espero sea de ayuda y de paso les dejo un link para que visiten mi pagina, saludo grande a todos (https://programacion365.com/):

el codigo de mi clase principal es el siguiente:

package com.example.spring_email; 

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class SpringEmailApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringEmailApplication.class, args);
    }

    @Bean
    CommandLineRunner runner(EmailService emailService) {
        return args -> {
            String destinatarios = "[email protected],[email protected]";
            String asunto = "Correo de prueba";
            String cuerpo = "<h1>Hola a todos</h1><p>Este es un mensaje para mĂșltiples destinatarios.</p>";
            emailService.enviarCorreo(destinatarios, asunto, cuerpo);
        };
    }

}

creamos un controlador con el siguiente codigo:

package com.example.spring_email.controladores;

import com.example.spring_email.EmailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

@Controller
public class EmailController {

    @Autowired
    private EmailService emailService;

    @GetMapping("/formulario")
    public String mostrarFormulario() {
        return "email_form";
    }

    @PostMapping("/enviar")
    public String enviarCorreo(
            @RequestParam("destinatarios") String destinatarios,
            @RequestParam("asunto") String asunto,
            @RequestParam("cuerpo") String cuerpo,
            Model model) {

        try {
            emailService.enviarCorreo(destinatarios, asunto, cuerpo);
            model.addAttribute("mensaje", "Correo enviado exitosamente.");
        } catch (Exception e) {
            model.addAttribute("mensaje", "Error al enviar el correo: " + e.getMessage());
        }

        return "email_form";
    }
}

tambien creamos un servicio:

package com.example.spring_email;

import jakarta.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;

@Service
public class EmailService {

    @Autowired
    private JavaMailSender mailSender;

    public void enviarCorreo(String destinatarios, String asunto, String mensajeHtml) throws Exception {
        MimeMessage mensaje = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mensaje, true);

        String[] destinatariosArray = destinatarios.split("[;,]");
        helper.setTo(destinatariosArray);
        helper.setSubject(asunto);

        // Agregar contenido HTML con firma
        String htmlConFirma = mensajeHtml +
                "<br><br><img src='cid:firmaImagen' alt='Firma' width='200'/>";

        helper.setText(htmlConFirma, true);

        // Cargar imagen desde resources
        ClassPathResource imagen = new ClassPathResource("static/images/logo.png");
        helper.addInline("firmaImagen", imagen);

        mailSender.send(mensaje);
    }
}












y por ultimo creamos el formulario de envio en html:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Enviar Correo</title>
    <meta charset="UTF-8">
</head>
<body>
<h1>Enviar correo a mĂșltiples destinatarios</h1>

<form th:action="@{/enviar}" method="post">
    <label>Destinatarios (separados por coma):</label><br>
    <input type="text" name="destinatarios" style="width: 400px;" required><br><br>

    <label>Asunto:</label><br>
    <input type="text" name="asunto" style="width: 400px;" required><br><br>

    <label>Cuerpo del mensaje:</label><br>
    <textarea name="cuerpo" rows="10" cols="50" required></textarea><br><br>

    <button type="submit">Enviar</button>
</form>

<p th:text="${mensaje}" style="color: green;"></p>
</body>
</html>





Reasons:
  • Blacklisted phrase (2): ayuda
  • Blacklisted phrase (2): espero
  • Blacklisted phrase (2.5): solucion
  • Contains signature (1):
  • Long answer (-1):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: programacion365.com