Skip to content

ALEX7320/send-email-springboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Enviar correo con SpringBoot (Gmail)

En este repositorio te mostraremos un pequeños ejemplo para enviar correo con SpringBoot, hemos creado una plantilla de "Recuperar contraseña" (en HTML).

Entorno de desarrollo

Herramienta Versión
Spring Tool Suite 4 4.12.0.RELEASE
Java 16
Postman 10.20.0

Conectar cuenta Google

Conexión en Spring

# CONFIGURACION DE CONEXION
...
support.name=SendEmailSpring TEST
spring.mail.username=alex7320f@gmail.com
spring.mail.password=cdkfpsiumctfuavp
  • support.name : Nombre de pila que se mostrará en el correo.
  • spring.mail.username : Correo Gmail del remitente.
  • spring.mail.password : Contraseña de aplicación Google (No es la contraseña de la cuenta Google)

Obtener contraseña de App Google

Ver la guía aquí.

La contraseña que generemos debemos colocarlo en spring.mail.password

Dependencia: SpringBoot

Se ha agregado al pom.xml la dependencia spring-boot-starter-mail v2.7.17

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-mail</artifactId>
</dependency>		

Plantilla HTML

Podemos modificar la plantilla en la función contenidoHtml (Clase: EmailService)

public String contenidoHtml(String username, String email, String newpassword) {
	
	String imagen = "https://i.postimg.cc/Gt1rWjyY/imgemail.jpg";

	String contenido = String.format(""+
		"<div style='background-color: white'>"+
		    "<div style='padding: 30px;display: flex;align-items: center;'>"+
			"<div>"+
			    "<div style='max-width: 600px; background-color: white;border: 1px solid rgb(211, 211, 211);border-radius: 7px; padding-bottom: 20px;'>"+
				"<center>"+
				    "<img src='%s' style='width: 350px; margin-top: 15px;' alt='logo'>"+
				"</center>"+
				"<center  style='margin-left: 3rem;margin-right: 3rem;font-size: 18px;'>"+
				    "Se ha realizado el cambio de contraseña el día %s, de su cuenta <b>%s</b> (%s)"+
				"</center>"+
				"<div style='margin-left: 3rem; margin-right: 3rem;margin-top: 40px; margin-bottom: 17px;'>"+
				    "<div class='input-group'>"+
					"<b>Nueva contraseña </b>"+
					"<span style='border: 1px solid gray; border-radius: 5px; padding: 5px;'>%s</span>"+
				    "</div>"+
				"</div>"+
			    "</div>"+
			"</div>"+
		    "</div>"+
		"</div>",imagen, this.generarFecha(),username, email, newpassword);
	
	return contenido;
}

Uso en Postman

Utilizar la siguiente uri con el metodo POST.

http://localhost:8080/user/forgot

Estos son los datos para el receptor del correo. Debemos utilizar la siguiente estructura en JSON, configurado en Spring en el paquete send.email.template , clase EmailTemplate (Por favor no utilizar el siguiente correo, solo es de ejemplo)

{
    "templateEmail":"alex7320k@gmail.com",
    "templateUsername":"ALEX7320"
}

Previsualización

Enlaces de apoyo

Consideración

Si tienes el antivirus Avast deberás desactivarlo, de lo contrario te saldrá error al enviar el correo mediante SpringBoot.

About

Enviar correo con SpringBoot (Gmail)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages