Solución de Problemas de BIMI: Por Qué Tu Logo No Se Muestra (Guía Completa)
Diagnostica y corrige las 7 razones más comunes por las que tu logo BIMI no aparece en los clientes de correo. Cubre política DMARC, validación SVG, tipos MIME, certificados VMC/CMC, propagación DNS y compatibilidad de clientes.
Solución de Problemas de BIMI: Por Qué Tu Logo No Se Muestra (Guía Completa)
Brand Indicators for Message Identification (BIMI) permite a los proveedores de buzones mostrar tu logo junto a los correos electrónicos autenticados. Cuando el logo no aparece, la causa es casi siempre uno de siete problemas bien definidos. Esta guía analiza cada uno en orden de frecuencia, te proporciona los pasos de diagnóstico exactos y te indica cómo solucionarlo.
Antes de Empezar: Cómo Funciona la Visualización del Logo BIMI
Cuando un servidor de correo receptor procesa un mensaje entrante:
- Verifica que el dominio remitente pase DMARC con una política de aplicación.
- Busca el registro BIMI DNS TXT en
default._bimi.. - Obtiene el logo SVG desde la URL en la etiqueta
l=. - (Para proveedores que lo requieren) Valida el Verified Mark Certificate (VMC) o Common Mark Certificate (CMC) desde la URL en la etiqueta
a=. - Renderiza el logo en la interfaz de la bandeja de entrada.
Un fallo en cualquier paso suprime silenciosamente el logo. No se muestra ningún error al remitente ni al destinatario.
Causa 1: La Política DMARC No Está en p=quarantine o p=reject
Esta es la razón más común por la que los logos BIMI no se muestran.
Todos los proveedores de buzones que soportan BIMI — incluyendo Google, Yahoo, Apple, Fastmail y otros — requieren una política DMARC de p=quarantine o p=reject antes de renderizar un logo. Una política de p=none se trata como sin aplicación y BIMI se ignora por completo.
Cómo Diagnosticar
Ejecuta una consulta DNS en tu registro DMARC:
dig TXT _dmarc.tudominio.com
Verifica el valor p= en la respuesta. También verifica:
sp=— la política de subdominios. Si tu correo se envía desde un subdominio,sp=nonebloqueará BIMI en ese subdominio aunque el dominio raíz esté enp=reject.pct=— la etiqueta de porcentaje. Algunos proveedores requierenpct=100. Un valor inferior a 100 puede causar una visualización inconsistente del logo.
Cómo Solucionarlo
- Confirma que tu autenticación de correo (SPF y DKIM) pasa consistentemente antes de elevar la política.
- Mueve DMARC de
p=noneap=quarantine, monitorea durante dos a cuatro semanas. - Mueve a
p=rejectuna vez que estés seguro de que ningún correo legítimo está fallando. - Establece
pct=100explícitamente. - Si envías desde subdominios, añade
sp=quarantineosp=reject.
Ejemplo de un registro DMARC correcto:
v=DMARC1; p=reject; sp=reject; pct=100; rua=mailto:[email protected];
Nota: Elevar tu política DMARC afecta la entrega de correo. No te saltes la fase de monitoreo.
Causa 2: El Archivo SVG No Es Accesible por HTTPS
Los servidores del proveedor de buzones obtienen tu logo en el momento del renderizado. Si el archivo devuelve cualquier cosa diferente a una respuesta válida 200 OK sobre HTTPS, el logo se suprime.
Sub-causas Comunes
| Síntoma | Causa Probable |
|---|---|
| 404 Not Found | URL incorrecta en la etiqueta l=, archivo movido o eliminado |
| 403 Forbidden | CDN o WAF bloqueando user agents que no son navegadores |
| 301/302 Redirect | Algunos proveedores no siguen redirecciones |
| Error de certificado SSL | Certificado TLS expirado o autofirmado en el dominio de alojamiento |
| URL HTTP | HTTP plano no se acepta; HTTPS es obligatorio |
Cómo Diagnosticar
- Copia la URL exacta de tu etiqueta
l=. - Pruébala con
curlpara simular una solicitud sin navegador:
curl -I "https://tudominio.com/bimi/logo.svg"
- Verifica el código de estado HTTP, el encabezado
Content-Typey si ocurre alguna redirección. - Prueba desde múltiples ubicaciones geográficas o usa un verificador de encabezados HTTP en línea para descartar bloqueo geográfico.
Cómo Solucionarlo
- Confirma que la URL en tu registro BIMI DNS coincide exactamente con la ruta del archivo alojado — incluyendo distinción de mayúsculas y minúsculas.
- Si usas un CDN, incluye en la lista blanca los user agents utilizados por los principales proveedores de buzones, o configura el CDN para servir el archivo públicamente sin protección contra bots.
- Asegúrate de que el dominio de alojamiento tenga un certificado TLS válido y de confianza (no autofirmado).
- Si una redirección es inevitable, actualiza la etiqueta
l=para apuntar directamente a la URL final. - Verifica que el archivo sea accesible desde fuera de tu propia red.
Causa 3: El Servidor Devuelve el Tipo MIME Incorrecto
Incluso si el archivo SVG es accesible, el proveedor de buzones valida el encabezado Content-Type devuelto por tu servidor. El tipo MIME correcto es image/svg+xml. Cualquier otro valor — incluyendo text/plain, application/octet-stream o text/html — causará que el logo sea rechazado.
Cómo Diagnosticar
curl -I "https://tudominio.com/bimi/logo.svg"
Busca la línea Content-Type en los encabezados de respuesta:
Content-Type: image/svg+xml
Si ves cualquier otra cosa, el tipo MIME está mal configurado.
Cómo Solucionarlo
La solución depende de tu servidor web o plataforma de alojamiento.
Apache — añade a .htaccess o la configuración del servidor:
AddType image/svg+xml .svg .svgz
Nginx — añade a mime.types o al bloque del servidor:
types {
image/svg+xml svg svgz;
}
Amazon S3 / CloudFront — establece los metadatos Content-Type del objeto a image/svg+xml al subir. S3 no infiere los tipos MIME automáticamente.
Cloudflare Pages / Netlify — añade un archivo _headers:
/bimi/logo.svg
Content-Type: image/svg+xml
Después de hacer los cambios, vuelve a ejecutar la verificación curl -I para confirmar que el encabezado es correcto.
Causa 4: El Archivo SVG No Pasa la Validación W3C Tiny P/S
BIMI no acepta archivos SVG estándar. La especificación requiere SVG Tiny 1.2 Portable/Secure (SVG Tiny P/S), un perfil restringido diseñado para ser seguro en contextos no confiables. La mayoría de los archivos SVG exportados desde herramientas de diseño como Adobe Illustrator, Figma o Inkscape no cumplen con este perfil sin modificación.
Fallos de Validación Comunes
| Problema | Por Qué Falla |
|---|---|
| baseProfile faltante o incorrecto | Debe ser baseProfile="tiny" en el elemento |
| Atributo version="1.2" faltante | Requerido por la especificación |
| Imágenes rasterizadas embebidas () | No permitidas en Tiny P/S |
| JavaScript o manejadores de eventos | Estrictamente prohibidos |
| Referencias externas o con href externo | No permitidos |
| CSS @import o hojas de estilo externas | No permitidos |
| Filtros, máscaras o gradientes (en algunas implementaciones) | Soporte limitado |
| Archivo no envuelto en como elemento raíz | Requisito estructural |
Cómo Diagnosticar
- Abre tu SVG en un editor de texto e inspecciona la etiqueta de apertura
. Debe incluir:
```xml