✉️ Infraestructura

Correo transaccional vía Resend

Your Office AI envía correo transaccional a través de Resend. Necesitas dos cosas: una clave API y un dominio de envío verificado. Ambas se configuran en el servidor de autenticación, que es el servicio responsable del registro y los flujos de cuenta.

ℹ️
El correo vive en el servidor de autenticación

A diferencia de la mayoría de los secretos, la clave de Resend va en la configuración del servidor de autenticación: command_center_server/config/passwords.yaml. El servidor de autenticación gestiona la identidad, por lo que es el que envía los correos de verificación e invitación.

Qué envía Resend

El correo es necesario para el ciclo de vida de la cuenta: sin él, los usuarios no pueden verificar su dirección, restablecer una contraseña ni aceptar una invitación.

📝RegistroCódigo de verificación
🔑Restablecimiento de contraseñaEnlace / código de restablecimiento
👥Invitación a la organizaciónUnirse a un espacio de trabajo
Los tres correos transaccionales que envía Your Office AI.
CorreoCuándo se envía
Código de verificaciónAl registrarse, para confirmar la dirección de correo del usuario.
Restablecimiento de contraseñaCuando un usuario solicita un restablecimiento desde la pantalla de inicio de sesión.
Invitación a la organizaciónCuando un administrador invita a alguien a una organización.

Configuración

  1. Crea una cuenta de Resend y una clave API

    Regístrate en resend.com, luego abre API Keys → Create API Key con acceso de envío. Copia la clave (tiene el aspecto de re_…) inmediatamente: Resend solo la muestra una vez.

  2. Verifica un dominio de envío (recomendado)

    En Resend → Domains, añade tu dominio y crea los registros DNS de SPF, DKIM y DMARC que Resend proporciona en tu proveedor de DNS. Un dominio verificado ofrece una entregabilidad mucho mejor y evita que el correo acabe en spam. Sin él, el correo se envía desde el remitente de prueba compartido onboarding@resend.dev de Resend.

  3. Configura el servidor de autenticación

    En command_center_server/config/passwords.yaml establece resendApiKey y, una vez que tu dominio esté verificado, resendFromEmail con una dirección en él (por ejemplo, noreply@tudominio.com). Usa una clave distinta por entorno (development / staging / production).

  4. Verifica que envía

    Arranca el servidor de autenticación y regístrate con una dirección de prueba. El servidor registra "[EmailService] Email sent successfully", el correo de verificación llega a la bandeja de entrada y el envío aparece en Logs en el panel de Resend.

Adónde van los valores

ValorArchivoClave
Clave API de Resendcommand_center_server/config/passwords.yamldevelopment.resendApiKey
Dirección de envío (dominio verificado) (opcional)command_center_server/config/passwords.yamldevelopment.resendFromEmail
💡
La verificación del dominio importa

Hasta que establezcas resendFromEmail con una dirección en un dominio verificado, el correo se envía desde onboarding@resend.dev y es probable que sea filtrado como spam. Para cualquier despliegue real, verifica tu dominio y establece una dirección de envío en él.

ℹ️
Resistente por diseño

Si un envío falla, el servidor de autenticación registra una advertencia y sigue anotando el código de verificación en sus registros, luego devuelve un fallo al llamador: la aplicación sigue funcionando incluso cuando el correo está temporalmente caído. Vigila los registros del servidor y la vista Logs del panel de Resend para confirmar la entrega.

¿Prefieres SMTP?

No, todavía no. El servicio de correo del servidor de autenticación solo llama a la API HTTPS de Resend (un POST firmado a api.resend.com/emails usando resendApiKey): no existe ningún cliente SMTP en el código, y no hay ningún ajuste de host, puerto, usuario o contraseña SMTP en passwords.yaml. Cambiar de proveedor de correo transaccional implica usar uno compatible con la API de Resend, o añadir soporte SMTP como nuevo desarrollo.

ℹ️
Siguiente

Eso completa la cadena de servicios externos. Vuelve al Resumen de configuración e infraestructura para revisar la lista de comprobación completa, o lee sobre Seguridad y privacidad.