Saltar al contenido principal

Correos transaccionales

api/src/lib/mailer.js envía correos HTML con Nodemailer por SMTP.

Configuración​

VariableDescripción
SMTP_HOSTServidor SMTP (p. ej. smtp.gmail.com)
SMTP_PORTPuerto (por defecto 587)
SMTP_SECUREtrue para TLS directo (puerto 465)
SMTP_USER, SMTP_PASSCredenciales. En Gmail, usa una contraseña de aplicación
SMTP_FROMRemitente (por defecto SMTP_USER)
ADMIN_NOTIFICATION_EMAILDestinatario de los avisos de registro. Si falta, esos avisos se omiten
APP_URLURL pública del frontend, para los enlaces de los correos

Si faltan SMTP_HOST, SMTP_USER o SMTP_PASS, el sistema funciona igual y solo registra una advertencia.

Correos que se envían​

FunciónAsuntoDestinatarioCuándo
sendAdminNewRegistrationEmailNuevo registro: Empresa — <nombre>ADMIN_NOTIFICATION_EMAILPOST /companies
sendAdminNewRegistrationEmailNuevo registro: Cliente — <nombre>ADMIN_NOTIFICATION_EMAILPOST /users con rol client
sendAdvisorNewClientEmailNuevo cliente asignado: <cliente>Asesor de la sucursalPOST /users con rol client y sucursal con asesor
sendAdvisorCompanyAssignedEmailNueva empresa asignada: <empresa>AsesorUn admin crea una sucursal con asesor o cambia su asesor
sendClientAdvisorAssignedEmailTu asesor comercial: <asesor>Email de la empresaIgual que el anterior, si la empresa tiene email

Comportamiento​

  • Los correos se envían después de responder la petición (fire-and-forget): un error de SMTP nunca hace fallar la operación, solo se registra en consola.
  • Las fechas se formatean en es-CO con zona America/Bogota.
  • En serverless, un correo enviado después de responder puede no completarse si la invocación termina antes.