Ir al contenido

TalentBricksAI envía emails transaccionales (verificación de cuenta, reset de contraseña). En desarrollo usa un proveedor Dummy. En producción requiere SendGrid.


En desarrollo, la app usa el proveedor Dummy de Wasp. No envía emails reales — en cambio, imprime los links en la consola del servidor.

Cuando un usuario se registra o pide reset de contraseña, busca en la terminal donde corre wasp start:

✅ Verification email for user sent! ✅
Click the following link to verify your email:
http://localhost:3000/email-verification?token=abc123...
Password reset email sent!
Click the following link to reset your password:
http://localhost:3000/password-reset?token=xyz789...

Copia ese link y ábrelo en el browser — no hay email real que revisar.


Emails que envía la plataforma automáticamente

Sección titulada «Emails que envía la plataforma automáticamente»
TriggerDestinatarioContenido
Registro nuevoUsuarioLink de verificación de email
”Olvidé mi contraseña”UsuarioLink de reset (válido 1 hora)
Pago exitosoUsuarioConfirmación de compra (via Stripe, no la app)

Nota: Los emails de confirmación de pago los envía Stripe directamente, no la app.


  1. Ir a sendgrid.com y crear una cuenta (plan gratuito: 100 emails/día)
  2. Completar el onboarding de SendGrid

Paso 2: Verificar el dominio o email de envío

Sección titulada «Paso 2: Verificar el dominio o email de envío»

SendGrid requiere que verifiques quién envías los emails.

Opción A — Verificar un dominio (recomendado para producción):

  1. SendGrid → Settings → Sender Authentication → Authenticate Your Domain
  2. Ingresar tu dominio (talentbricks.ai)
  3. Agregar los registros DNS que muestra SendGrid en tu proveedor de DNS
  4. Verificar la autenticación (puede tomar hasta 48 horas)

Opción B — Verificar un email individual (más fácil, menos profesional):

  1. SendGrid → Settings → Sender Authentication → Verify a Single Sender
  2. Ingresar el email desde el que enviarás (noreply@talentbricks.ai)
  3. Verificar el link que te llega por email
  1. SendGrid → Settings → API Keys → Create API Key
  2. Nombre: TalentBricksAI Production
  3. Permisos: “Restricted Access” → Mail Send → Full Access
  4. Copiar la API Key (se muestra una sola vez)

En .env.server (desarrollo/prueba):

SENDGRID_API_KEY=SG.tu-api-key

En producción (Fly.io):

Ventana de terminal
wasp deploy fly cmd --context server secrets set SENDGRID_API_KEY="SG.tu-api-key"

En app/main.wasp, cambiar Dummy por SendGrid:

// ANTES (desarrollo):
emailSender: {
provider: Dummy,
defaultFrom: {
name: "TalentBricksAI",
email: "noreply@talentbricks.ai"
},
},
// DESPUÉS (producción):
emailSender: {
provider: SendGrid,
defaultFrom: {
name: "TalentBricksAI",
email: "noreply@talentbricks.ai", // ← Debe coincidir con el email verificado en SendGrid
},
},

⚠️ Importante: El email en defaultFrom debe coincidir exactamente con el email o dominio verificado en SendGrid.

Después de cambiar, reconstruir y redesplegar:

Ventana de terminal
cd app && wasp deploy fly deploy

Ventana de terminal
# 1. Registrar un usuario de prueba
# 2. Ver en la consola de wasp start:
grep "verification" # buscar el link de verificación

Después de configurar:

  1. Registrar un usuario de prueba con un email real
  2. Verificar que el email de verificación llega (revisar spam)
  3. Ir a SendGrid Dashboard → Activity para ver el historial de envíos

  1. Verificar que SENDGRID_API_KEY está configurada:

    Ventana de terminal
    flyctl secrets list -a talentbricksai | grep SENDGRID
  2. Verificar en SendGrid Activity: SendGrid Dashboard → Activity → buscar el email del usuario. Si aparece como “Delivered” pero no llega, puede estar en spam.

  3. Verificar que el remitente está verificado: SendGrid → Sender Authentication — debe aparecer como “Verified”

  4. El email en defaultFrom no coincide con el verificado: Si SendGrid rechaza el email, aparece como “Failed” en Activity con el error.

Error “Forbidden” en los logs del servidor

Sección titulada «Error “Forbidden” en los logs del servidor»
Error sending email: 403 Forbidden

→ La API Key no tiene permisos de Mail Send. Regenerar la Key con los permisos correctos.

→ El email configurado en defaultFrom no está verificado en SendGrid. Verificar el email o dominio.