Archivos adjuntos e imágenes incrustadas
Frontmail admite cuatro formas de añadir archivos a un correo. Los archivos adjuntos están disponibles en los planes de pago; el tamaño total máximo por solicitud depende del plan (consulta Planes).
| Método | Dónde se configura | Para qué sirve |
|---|---|---|
| Adjuntos fijos | Ajustes de la plantilla | El mismo archivo en todos los correos (lista de precios, PDF de condiciones) |
| Base64 dinámico | attachments en la solicitud de envío |
Archivos pequeños generados (≤ unos cientos de kB) |
| Subidas | POST /v1/uploads y después attachments: [{ upload_id }] |
Archivos más grandes, archivos que eligen los usuarios |
| Archivos de formulario | Campos de archivo de sendForm() / /v1/send-form |
Archivos adjuntos a un formulario HTML |
Adjuntos fijos
Sección titulada «Adjuntos fijos»Los adjuntos fijos son archivos que se adjuntan a todos los correos enviados con la plantilla (hasta 10 por plantilla). Se guardan en S3 y cuentan para el límite de tamaño por solicitud. El editor de plantillas los muestra en Ajustes → Protección → Archivos adjuntos fijos; todavía no se pueden subir desde el panel: escribe a support@frontmail.dev si necesitas configurar alguno.
Adjuntos dinámicos
Sección titulada «Adjuntos dinámicos»Primero activa Permitir archivos adjuntos desde el formulario en Ajustes → Protección de la
plantilla; si no, las solicitudes con adjuntos fallan con
attachments_not_allowed.
Base64 en la solicitud
Sección titulada «Base64 en la solicitud»await send('svc_01J9…', 'tpl_invoice', { name: 'Lucía' }, { attachments: [ { filename: 'factura.pdf', contentType: 'application/pdf', contentBase64: pdfBase64 }, ],});"attachments": [ { "filename": "factura.pdf", "content_type": "application/pdf", "content_base64": "JVBERi0xLjcK…" }]Base64 aumenta la solicitud en un tercio: para cualquier cosa de más de unos cientos de kilobytes, usa las subidas.
Subidas
Sección titulada «Subidas»-
Pide una URL de subida (clave pública o privada):
Ventana de terminal curl https://api.frontmail.dev/v1/uploads \-H 'Content-Type: application/json' \-H 'X-Frontmail-Public-Key: pk_4f2a…' \-d '{ "filename": "cv.pdf", "content_type": "application/pdf", "size": 482113 }'{"upload_id": "upl_01J9Z3","url": "https://uploads.frontmail.dev/…","method": "PUT","headers": { "Content-Type": "application/pdf" },"expires_at": "2026-09-24T11:00:00Z"} -
Sube el archivo con
PUTaurlcon lasheadersdevueltas antes deexpires_at. -
Haz referencia a él en el envío:
"attachments": [{ "upload_id": "upl_01J9Z3" }].
El size declarado se comprueba de antemano con el límite de tu plan
(attachment_too_large) y el objeto guardado se
vuelve a comprobar cuando se envía el mensaje.
Archivos de formulario
Sección titulada «Archivos de formulario»Con sendForm(), cada <input type="file"> del formulario se convierte en un archivo adjunto:
<input type="file" name="cv" accept="application/pdf">Tipos y nombres de archivo bloqueados
Sección titulada «Tipos y nombres de archivo bloqueados»Los adjuntos dinámicos vienen de cualquiera que pueda usar tu formulario, así que Frontmail rechaza
con attachments_not_allowed los tipos de archivo
que ejecutan código o que suelen usarse para phishing: ejecutables e instaladores (.exe, .msi,
.msix, .appx, .scr, .com, .bat, .cmd, .cpl, .dll, .jar, .app, .pkg, …),
scripts (.js, .jse, .vbs, .wsf, .ps1, .hta, …), accesos directos (.lnk, .url,
.library-ms, …), imágenes de disco (.iso, .img, .vhd, .vhdx, .dmg), páginas web e
imágenes vectoriales (.html, .htm, .xhtml, .mht, .svg), OneNote (.one) y archivos de
Office con macros (.docm, .xlsm, .pptm, …). Antes se limpian los nombres de archivo: se
eliminan los caracteres invisibles y de derecha a izquierda (que se usan para disfrazar
invoice<U+202E>fdp.exe como invoiceexe.pdf) y los puntos o espacios finales, así que
report.exe. cuenta como .exe.
Con la clave pública, POST /v1/uploads necesita además al menos una plantilla que permita
archivos adjuntos desde el formulario, y las subidas comparten un presupuesto diario de 200 × el
límite de adjuntos de tu plan por organización.
Imágenes incrustadas
Sección titulada «Imágenes incrustadas»Tienes dos opciones:
- Imágenes alojadas: usa una URL absoluta
https://en<img src>. Lo mejor para logotipos y elementos decorativos: los correos son pequeños y los clientes cargan las imágenes cuando hace falta. - Imágenes CID: un adjunto fijo con un content ID, p. ej.
logo, referenciado como<img src="cid:logo" alt="Ejemplo S.L.">. La imagen va incrustada en el correo, así que se ve aunque se bloqueen las imágenes remotas, pero hace que cada correo sea más grande.
Pon siempre alt en las imágenes: las comprobaciones de la plantilla avisan cuando falta.