Esta página se tradujo automáticamente con la API de traducción de Google Cloud.
Algunas páginas se pueden leer mejor en su totalidad.
El envío de correos electrónicos es una parte fundamental de muchas aplicaciones. Se utiliza para todo, desde notificar a los usuarios sobre eventos del sistema hasta enviar restablecimientos de contraseña y correos electrónicos de confirmación.
En esta publicación, exploraremos cómo agregar capacidades de correo electrónico a una aplicación Spring Boot. Cubriremos los siguientes temas:
Spring Boot facilita la configuración del envío de correo electrónico en su aplicación. Todo lo que necesita es agregar la dependencia correcta y configurar algunas propiedades en su archivo application.properties.
Lo primero que debe hacer es agregar la dependencia spring-boot-starter-mail a su proyecto. Este iniciador extraerá todas las dependencias que necesita para comenzar a enviar correos electrónicos en Spring Boot.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
Una vez que tenga la dependencia en su lugar, puede configurar las siguientes propiedades en su archivo application.properties:
Ahora que tiene el correo electrónico configurado en su aplicación Spring Boot, echemos un vistazo a cómo enviar un correo electrónico simple.
Lo primero que necesita es una instancia de la interfaz JavaMailSender. Esta interfaz proporciona métodos para enviar correos electrónicos. Puede inyectar esta interfaz en su aplicación Spring Boot usando la anotación @Autowired.
@Autowired
private JavaMailSender javaMailSender;
Una vez que tenga una instancia de la interfaz JavaMailSender, puede usar el siguiente código para enviar un correo electrónico simple:
javaMailSender.send(new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
messageHelper.setFrom("sender@example.com");
messageHelper.setTo("receiver@example.com");
messageHelper.setSubject("Email subject");
messageHelper.setText("Email body");
}
});
En el código anterior, usamos el método send() de la interfaz JavaMailSender para enviar un correo electrónico. También usamos MimeMessagePreparator para preparar el mensaje de correo electrónico.
MimeMessagePreparator es una interfaz que le permite preparar una instancia de MimeMessage antes de enviarla. Esto es útil si necesita hacer cosas como establecer encabezados o archivos adjuntos en el correo electrónico.
En el código anterior, usamos la clase MimeMessageHelper para ayudarnos a preparar el mensaje de correo electrónico. La clase MimeMessageHelper proporciona métodos convenientes para configurar encabezados de correo electrónico y contenido del cuerpo comunes.
Una vez que se prepara el mensaje de correo electrónico, se pasa al método send() de la interfaz JavaMailSender y se envía el correo electrónico.
Además de enviar correos electrónicos de texto simple, también puede enviar correos electrónicos HTML usando Spring Boot. Para hacer esto, solo necesita configurar el mensaje de texto del correo electrónico para que sea una cadena HTML.
javaMailSender.send(new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
messageHelper.setFrom("sender@example.com");
messageHelper.setTo("receiver@example.com");
messageHelper.setSubject("Email subject");
messageHelper.setText("<p>Email body</p>", true);
}
});
En el código anterior, estamos configurando el mensaje de texto del correo electrónico para que sea una cadena HTML. También estamos configurando el segundo parámetro del método setText() en verdadero. Esto le dice a MimeMessageHelper que el mensaje de texto es HTML y debe representarse como tal.
También puede enviar archivos adjuntos con sus mensajes de correo electrónico usando Spring Boot. Para hacer esto, solo necesita usar el método addAttachment() de la clase MimeMessageHelper.
javaMailSender.send(new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
messageHelper.setFrom("sender@example.com");
messageHelper.setTo("receiver@example.com");
messageHelper.setSubject("Email subject");
messageHelper.setText("Email body");
messageHelper.addAttachment("attachment.txt", new File("attachment.txt"));
}
});
En el código anterior, usamos el método addAttachment() para agregar un archivo adjunto al mensaje de correo electrónico. El primer parámetro es el nombre del archivo adjunto y el segundo parámetro es el archivo que se adjuntará.
Puede llamar al método addAttachment() varias veces para agregar varios archivos adjuntos a un mensaje de correo electrónico.
En esta publicación, hemos visto cómo agregar capacidades de correo electrónico a una aplicación Spring Boot. Hemos cubierto los siguientes temas:
Con el conocimiento que ha adquirido en esta publicación, debería poder agregar capacidades de correo electrónico a cualquier aplicación Spring Boot.