Skip to main content

SMTP — Servei d'email

Què és i per a què serveix

El servei SMTP permet enviar emails des de LDP. S'utilitza per:

  • Verificació d'email: Quan un usuari es registra, rep un email amb un codi de verificació
  • Reset de contrasenya: Flux de recuperació de contrasenya amb token temporal
  • Notificacions: Futures notificacions als usuaris

Per defecte, LDP està configurat per Gmail SMTP, però funciona amb qualsevol proveïdor SMTP.

Opció A: Gmail (producció)

Prerequisits

  • Compte Gmail
  • Autenticació en 2 passos (2FA) activada al compte

Crear App Password

  1. Ves a Seguretat del compte Google
  2. Confirma que Verificació en 2 passos està activada
  3. Ves a App Passwords
  4. Crea una nova contrasenya d'aplicació:
    • Nom: Line Dance Platform (o el que vulguis)
  5. Copia la contrasenya generada (16 caràcters, sense espais)

Variables d'entorn

SPRING_MAIL_HOST=smtp.gmail.com
SPRING_MAIL_PORT=587
SPRING_MAIL_USERNAME=el-teu-email@gmail.com
SPRING_MAIL_PASSWORD=<app password de 16 caràcters>
APP_MAIL_ENABLED=true
APP_MAIL_FROM=el-teu-email@gmail.com

Opció B: Mailtrap (desenvolupament)

Per entorns de desenvolupament on no vols enviar emails reals, Mailtrap captura els emails en una safata virtual.

  1. Registra't a Mailtrap (pla gratuït disponible)
  2. Crea una inbox
  3. Ves a SMTP Settings i copia les credencials
SPRING_MAIL_HOST=sandbox.smtp.mailtrap.io
SPRING_MAIL_PORT=2525
SPRING_MAIL_USERNAME=<el teu username de Mailtrap>
SPRING_MAIL_PASSWORD=<el teu password de Mailtrap>
APP_MAIL_ENABLED=true

Opció C: Desactivar email

Si no necessites email (ex: desenvolupament local sense verificació):

APP_MAIL_ENABLED=false

Amb email desactivat:

  • El registre funciona però no envia verificació
  • El reset de contrasenya no funciona
  • Els logs mostren els emails que s'haurien enviat

Variables completes

VariableDescripcióDefault
SPRING_MAIL_HOSTServidor SMTPsmtp.gmail.com
SPRING_MAIL_PORTPort SMTP587
SPRING_MAIL_USERNAMEEmail del remitent
SPRING_MAIL_PASSWORDContrasenya / App Password
APP_MAIL_ENABLEDActiva/desactiva l'enviamenttrue
APP_MAIL_FROMAdreça "From" dels emails= SPRING_MAIL_USERNAME
APP_VERIFICATION_BASE_URLURL base per links de verificacióhttp://localhost:5173/verify-email
APP_RESET_BASE_URLURL base per links de resethttp://localhost:5173/reset-password
APP_SUPPORT_EMAILEmail de suport als emailssupport@linedance-platform.local
APP_NAMENom de l'app als emailsLine Dance Platform

Verificació

  1. Configura les variables SMTP
  2. Arrenca el backend
  3. Registra un nou usuari amb un email real
  4. Hauries de rebre un email de verificació
  5. Als logs del backend, busca MailService per confirmar l'enviament

Resolució de problemes

Error "Authentication failed"

  • Per Gmail: assegura't d'usar una App Password, no la contrasenya normal
  • La 2FA ha d'estar activada al compte Google

Error "Connection refused" / timeout

  • Verifica que el host i port són correctes
  • Algunes xarxes corporatives bloquegen el port 587

Els emails no arriben

  • Revisa la carpeta de spam
  • Per Gmail: verifica que el compte no té restriccions de seguretat
  • Amb Mailtrap: els emails es capturen a la inbox virtual, no s'envien realment