Personalizar Plantillas de Correo
Auris envía correos transaccionales en los momentos críticos del ciclo de vida del usuario: verificación de email, restablecimiento de contraseña, inicio de sesión con magic link, invitaciones, alertas de seguridad y más. Por defecto, estos correos usan una plantilla limpia renderizada con la marca de tu tenant (nombre de empresa, logo, color primario). Personalizarlos te da control total del HTML, para que cada punto de contacto — desde el primer correo de verificación hasta una alerta de inicio de sesión sospechoso meses después — sea coherente con tu producto.
Esta guía te acompaña en la edición de plantillas desde la Consola, el uso de variables dinámicas y bloques condicionales, la previsualización y prueba de cambios, la gestión de idiomas y la gestión programática vía API.
Tipos de Plantilla
Auris incluye trece tipos de plantilla de correo. Cada uno se activa automáticamente en el momento adecuado.
| Tipo de plantilla | Cuándo se envía |
|---|---|
verification | Tras el registro, para verificar la dirección de email |
password_reset | Cuando un usuario solicita restablecer su contraseña |
invitation | Cuando un usuario es invitado a un tenant |
mfa_code | Cuando la 2FA por correo envía un código |
magic_link | Cuando un usuario solicita un acceso sin contraseña vía magic link |
login_alert | Cuando se detecta un nuevo inicio de sesión en la cuenta |
welcome | Después de que un usuario verifica con éxito su email |
password_changed | Cuando se confirma un cambio de contraseña |
account_locked | Cuando una cuenta se bloquea tras demasiados intentos fallidos |
suspicious_login | Cuando se detecta un acceso desde ubicación, dispositivo o IP inusuales |
email_changed | Cuando cambia el email principal (enviado a la dirección antigua) |
license_issued | Cuando se emite una clave de licencia para un cliente |
ciba | Cuando una aplicación solicita la aprobación del acceso vía flujo CIBA |
Cada plantilla se personaliza de forma independiente, y de forma independiente por idioma.
Paso 1: Abre el Editor de Plantillas
- Abre la Consola de Auris y ve a Configuración, luego Plantillas de Email
- Verás los trece tipos de plantilla con su estado actual (predeterminada o personalizada)
- Haz clic en el tipo de plantilla que quieres editar
Paso 2: Elige un Modo de Edición
El editor ofrece tres modos:
- Editor de tema — personaliza identidad (logo, nombre de marca, texto del pie), colores, tipografía, botones, layout y contenido mediante paneles visuales.
- Builder visual — compón el correo con bloques sobre un lienzo.
- Editor de código — edita HTML y CSS en crudo. Una biblioteca de snippets ofrece puntos de partida listos.
Uses el modo que uses, el resultado es un documento HTML completo guardado por tipo de plantilla e idioma. La mayoría de los clientes de correo tienen soporte CSS limitado: los estilos inline y los layouts de tablas son el enfoque más fiable.
Paso 3: Usa las Variables de las Plantillas
Las variables usan la sintaxis {{nombreVariable}}. Cuando Auris envía el correo, cada placeholder se sustituye por el valor real de ese usuario y ese evento. En el cuerpo, los valores llevan escape HTML automático; en el asunto se insertan como texto plano.
Variables Globales (disponibles en todas las plantillas)
| Variable | Descripción | Valor de ejemplo |
|---|---|---|
{{year}} | Año actual | 2026 |
{{month}} | Mes actual, dos dígitos | 07 |
{{day}} | Día actual, dos dígitos | 23 |
{{date}} | Fecha actual, YYYY-MM-DD | 2026-07-23 |
Variables por Tipo
| Plantilla | Variables |
|---|---|
verification | {{email}}, {{link}}, {{expiresIn}} |
password_reset | {{email}}, {{link}}, {{expiresIn}} |
invitation | {{email}}, {{orgName}}, {{role}}, {{inviterEmail}}, {{link}}, {{expiresIn}} |
mfa_code | {{email}}, {{code}}, {{expiresIn}} |
magic_link | {{email}}, {{link}}, {{approveLink}}, {{expiresIn}}, {{tenantName}} |
login_alert | {{email}}, {{device}}, {{ipAddress}}, {{location}}, {{time}} |
welcome | {{email}}, {{name}}, {{orgName}}, {{dashboardLink}} |
password_changed | {{email}}, {{name}}, {{time}}, {{ipAddress}} |
account_locked | {{email}}, {{name}}, {{lockDuration}}, {{attempts}}, {{ipAddress}}, {{time}} |
suspicious_login | {{email}}, {{name}}, {{device}}, {{ipAddress}}, {{location}}, {{time}}, {{reason}} |
email_changed | {{email}}, {{name}}, {{newEmail}}, {{time}} |
license_issued | {{key}}, {{jwtToken}}, {{product}}, {{expiresAt}}, {{features}} |
ciba | {{email}}, {{appName}}, {{bindingMessage}}, {{approveUrl}}, {{denyUrl}} |
Condicionales e Interpolación Raw
{{#if variable}}...{{/if}}conserva el contenido encerrado solo cuando la variable tiene un valor no vacío. En caso contrario el bloque — markup incluido — se elimina.{{{variable}}}inserta el valor en crudo sin escape HTML. Úsala solo para fragmentos HTML de confianza construidos en el servidor.
Ejemplo para una plantilla magic_link:
<h1>Inicia sesión en {{tenantName}}</h1>
<p><a href="{{link}}">Iniciar sesión en este dispositivo</a></p>
{{#if approveLink}}
<p><a href="{{approveLink}}">Aprobar en el dispositivo donde empezaste el acceso</a></p>
{{/if}}
<p>Este enlace caduca en {{expiresIn}}.</p>Los nombres de variables distinguen mayúsculas y la notación con punto no está soportada —
{{user.name}} no se sustituirá. Los placeholders desconocidos quedan como {{texto}} literal en el
correo enviado, así que una errata es fácil de detectar en un envío de prueba.
Paso 4: Gestiona los Idiomas
Las plantillas predeterminadas integradas existen en cinco idiomas: inglés (en), italiano (it), francés (fr), alemán (de) y español (es). Las plantillas personalizadas pueden guardarse para cualquier código de locale (por ejemplo pt-BR) mediante el selector de idioma del editor.
En el envío, Auris resuelve la plantilla en este orden:
- Plantilla personalizada en el idioma del destinatario
- Plantilla personalizada en inglés
- Predeterminada integrada en el idioma del destinatario
- Predeterminada integrada en inglés
Así puedes personalizar solo los idiomas que te importan — el resto sigue funcionando con las predeterminadas.
Paso 5: Previsualiza
La vista previa en vivo renderiza la plantilla con datos de ejemplo realistas mientras editas (por ejemplo [email protected] para {{email}} y 24 hours para {{expiresIn}}). Usa el selector de dispositivo para comprobar los anchos de escritorio, tablet y móvil, o abre la vista previa a pantalla completa.
La vista previa es una aproximación fiel, pero los clientes de correo varían mucho en su soporte de HTML/CSS. Envía siempre un correo de prueba y compruébalo en un cliente real antes de pasar a producción.
Paso 6: Envía un Correo de Prueba
Haz clic en Enviar prueba en el editor. Auris renderiza la plantilla con datos de ejemplo y la envía a tu propia dirección de email (el administrador autenticado), con el asunto prefijado con [TEST]. Vía API puedes indicar opcionalmente otro destinatario con el campo recipientEmail.
Comprueba el correo en tu bandeja de entrada:
- El logo y las imágenes se cargan correctamente
- El botón de acción es clicable y tiene el estilo correcto
- El diseño se ve bien en escritorio y móvil
- Todos los placeholders fueron sustituidos (ningún
{{texto}}literal) - El correo no acaba en la carpeta de spam
Paso 7: Guarda
Haz clic en Guardar para publicar. Los cambios tienen efecto inmediato para todos los correos futuros de ese tipo y ese idioma — sin despliegues ni reinicios. El HTML guardado se sanea en el servidor (se eliminan scripts, manejadores de eventos y frames incrustados) y debe quedar por debajo de 500 KB.
Para volver a la plantilla predeterminada del idioma actual, haz clic en Restablecer predeterminado. Esto elimina la versión personalizada y restaura la plantilla integrada con la marca del tenant.
Entrega de Correo
Auris envía el correo a través de la configuración SMTP de tu tenant cuando está presente y activa; si no, usa el remitente predeterminado de la plataforma. Puedes configurar SMTP (host, puerto, credenciales, dirección del remitente), ejecutar una prueba de conexión y controlar el pie de los correos en Configuración, luego Email:
- Emails white-label elimina la atribución “Powered by Altovar” del pie de las plantillas predeterminadas.
- Ocultar pie de página omite por completo la banda del pie.
Para la entregabilidad, configura los registros DNS SPF, DKIM y DMARC de tu dominio remitente — tu proveedor de correo te da los valores exactos.
Gestión Programática de Plantillas
Todas las operaciones disponibles en la Consola pueden ejecutarse también con la API de Plantillas de Correo. Todos los endpoints requieren el permiso manage:security y la cabecera x-tenant.
Listar todas las plantillas
curl https://auth.tudominio.com/api/email-templates \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: tu-realm"Devuelve cada tipo con label, description, variables, hasCustomTemplate, customLocales, más availableLocales (los cinco idiomas integrados).
Obtener una plantilla (con base predeterminada)
curl "https://auth.tudominio.com/api/email-templates/verification?locale=es" \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: tu-realm"Devuelve los subject/htmlBody personalizados de ese idioma (o null), junto con defaultSubject/defaultHtmlBody renderizados con la marca de tu tenant.
Actualizar una plantilla
curl -X PUT https://auth.tudominio.com/api/email-templates/verification \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: tu-realm" \
-H "Content-Type: application/json" \
-d '{
"subject": "Verifica tu correo",
"htmlBody": "<!DOCTYPE html><html><body><p>Hola {{email}},</p><p><a href=\"{{link}}\">Verifica tu dirección</a> — caduca en {{expiresIn}}.</p></body></html>",
"locale": "es"
}'Previsualizar una plantilla
curl -X POST https://auth.tudominio.com/api/email-templates/verification/preview \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: tu-realm" \
-H "Content-Type: application/json" \
-d '{ "subject": "Verifica tu correo", "htmlBody": "<p>Hola {{email}}</p>" }'Devuelve { "subject": ..., "html": ..., "variables": { ... } } renderizados con valores de ejemplo. No se envía nada.
Enviar un correo de prueba
curl -X POST https://auth.tudominio.com/api/email-templates/verification/test \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: tu-realm" \
-H "Content-Type: application/json" \
-d '{ "subject": "Verifica tu correo", "htmlBody": "<p>Hola {{email}}</p>", "recipientEmail": "[email protected]" }'recipientEmail es opcional — sin él, la prueba va a tu propio buzón (el del administrador autenticado). La respuesta es { "success": true, "sentTo": "..." }.
Eliminar (restablecer la predeterminada)
curl -X DELETE "https://auth.tudominio.com/api/email-templates/verification?locale=es" \
-H "Authorization: Bearer $AURIS_ACCESS_TOKEN" \
-H "x-tenant: tu-realm"Con ?locale= solo se elimina la versión personalizada de ese idioma. Sin él, se eliminan todos los idiomas del tipo.
Buenas Prácticas
Mantén las plantillas simples. El soporte HTML de los clientes de correo es notoriamente incoherente. Usa estilos inline, layouts de tablas y fuentes de sistema para la máxima compatibilidad.
Incluye siempre la URL de acción en texto. Debajo de cada botón de acción, añade la URL en crudo como texto. Algunos clientes no renderizan bien los botones HTML, y algunos usuarios prefieren inspeccionar las URL antes de hacer clic. Auris además deriva automáticamente una parte text/plain de tu HTML, preservando los enlaces.
Usa {{expiresIn}} para gestionar expectativas. Di siempre al usuario cuánto tiempo es válido un enlace o un código.
Mantén el botón de aprobación condicional en magic_link. Envuelve el botón secundario en {{#if approveLink}}...{{/if}} — la variable está vacía en los flujos sin aprobación entre dispositivos, y el condicional retira el botón limpiamente.
No incluyas datos sensibles. Nunca pongas contraseñas ni claves API completas en los correos. Los correos pueden quedarse indefinidamente en los buzones de los usuarios.
Versiona tus plantillas. Si gestionas las plantillas vía API, guarda el HTML fuente en tu repositorio: historial de cambios, revisión y rollback.
Solución de Problemas
| Problema | Causa probable | Solución |
|---|---|---|
Variables mostradas como {{texto}} literal | Errata o variable no soportada | Comprueba el nombre exacto en las tablas de arriba. Los nombres distinguen mayúsculas; la notación con punto no está soportada. |
| Guardado rechazado con HTTP 413 | Cuerpo HTML por encima de 500 KB | Aligera la plantilla; referencia las imágenes por URL en lugar de incrustarlas. |
| Script o markup interactivo ausente tras guardar | Saneado en el servidor | <script>, manejadores de eventos, <iframe>/<embed>/<object>/<form> y similares se eliminan al guardar, por diseño. |
| El correo de prueba no llega a un compañero | La prueba va a tu buzón | En la Consola la prueba va siempre a tu propia dirección; usa el campo recipientEmail de la API para otro destinatario. |
| Correos en spam | Faltan registros SPF/DKIM/DMARC | Configura los registros DNS del dominio remitente según las indicaciones de tu proveedor de correo. |
| Idioma equivocado recibido | Cadena de fallback | Si no existe plantilla (personalizada o predeterminada) en el idioma del destinatario, Auris recurre al inglés. Guarda una versión personalizada para ese idioma. |
| El pie sigue mostrando la atribución de la plataforma | White-label desactivado | Activa los emails white-label en Configuración, luego Email, o guarda una plantilla totalmente personalizada. |
Guías Relacionadas
- Plantillas de Correo (Consola) — Referencia del editor y catálogo de plantillas
- API de Plantillas de Correo — Referencia completa de endpoints
- Branding — Marca del tenant aplicada a los correos predeterminados
- Inicio de Sesión con Magic Link — El flujo detrás de la plantilla
magic_link