SPF, DKIM y DMARC para Ghost (Pro).
Ghost(Pro) es una plataforma de publicación gestionada que envía tus newsletters por ti a través de su propia infraestructura gestionada de Mailgun, de modo que, a diferencia de una instalación de Ghost autoalojada, nunca introduces una clave de API ni una región de Mailgun. De serie, ese correo sale por el dominio de envío compartido ghost.io de Ghost, por lo que los suscriptores ven "newsletter@yourdomain.com via ghost.io." Para enviar como tu propio dominio activas un dominio de envío personalizado (plan Publisher o superior): Ghost Admin genera un pequeño conjunto de registros DNS por cuenta —un registro DKIM y un registro SPF en un subdominio de envío dedicado— que copias en tu DNS, además de un registro DMARC que añades tú mismo (Ghost exige que haya uno). No existe una única línea SPF compartida que pegar en tu raíz; los registros son específicos de tu cuenta y se muestran dentro de Ghost Admin. Una vez que se verifican, Ghost firma las newsletters como tu dominio, DKIM se alinea, DMARC pasa y la etiqueta "via ghost.io" desaparece, tras un calentamiento de reputación automático de unas 6 semanas. Los mismos registros también autentican el correo transaccional de miembros y de personal de Ghost, que cambia a tu dominio de inmediato.
¿Por qué autenticar Ghost (Pro)?
Configurar un dominio de envío personalizado es lo que saca tu newsletter de la reputación compartida de Ghost y la lleva a la tuya propia, y cada vez es menos negociable. Desde febrero de 2024, Gmail y Yahoo exigen que todo remitente masivo (aproximadamente 5.000 o más mensajes al día) pase SPF, DKIM y DMARC con alineación, y Microsoft extendió una obligación similar a Outlook/Hotmail/Live en 2025, y una newsletter es exactamente el tipo de correo masivo al que apuntan esas normas. Hasta que configuras un dominio de envío personalizado, Ghost(Pro) envía cada número desde ghost.io: los destinatarios ven la nota "via ghost.io", SPF y DKIM se alinean con ghost.io en lugar de con tu dominio, el DMARC de tu propio dominio no recibe ninguna ayuda de ese correo, y la reputación de envío que construyes se agrupa con la de todas las demás publicaciones del dominio compartido de Ghost. Un dominio de envío personalizado corrige el núcleo del problema: Ghost firma las newsletters con DKIM en tu subdominio de envío (que se alinea con tu dominio organizativo), tu dirección De pasa a ser criptográficamente tuya, DMARC pasa y la reputación se acumula a tu favor. Un matiz específico de Ghost que conviene conocer: estos registros cubren más que tus newsletters. El correo transaccional de miembros y de personal —inicio de sesión por enlace mágico, recibos de membresía de pago, invitaciones de personal, notificaciones de comentarios— también pasa a tu dominio de envío personalizado, y lo hace de inmediato, sin calentamiento. Las newsletters son lo contrario: Ghost las calienta gradualmente, así que durante aproximadamente seis semanas una fracción de cada número sigue saliendo por ghost.io aunque tu correo transaccional ya esté totalmente autenticado en tu dominio.
La realidad del SPF con Ghost (Pro)
Ghost(Pro) es un remitente por cuenta, no un proveedor de include compartido: no hay ningún "include:ghost.io" ni una única línea SPF que todos los clientes peguen en su dominio raíz. Como Ghost ejecuta su propio Mailgun gestionado entre bastidores, los registros que te entrega en Ghost Admin tienen forma de Mailgun y son únicos de tu subdominio de envío: un registro DKIM más un SPF TXT de v=spf1 include:mailgun.org ~all. El punto crítico es DÓNDE van: en un subdominio de envío dedicado que Ghost especifica (por ejemplo un host send. o mail.), nunca en el SPF de tu dominio raíz. Eso importa por dos razones. Primero, el correo cotidiano de tu buzón —you@yourdomain.com en Google Workspace, Microsoft 365 o donde sea— conserva su propio SPF y DKIM raíz totalmente intactos; Ghost(Pro) no aloja tu bandeja de entrada y sus registros no chocan con los de tu proveedor de correo. Segundo, include:mailgun.org es pesado: verificado en vivo se expande a unas cinco búsquedas DNS anidadas porque una sola línea cubre los rangos de EE. UU. y la UE de Mailgun. Al mantenerlo en el subdominio de envío, ese peso queda en el propio registro SPF del subdominio y no cuesta nada frente al presupuesto de diez búsquedas RFC 7208 de tu dominio raíz, que es precisamente por lo que no debes copiar include:mailgun.org en tu raíz. (Ghost autoalojado es distinto: ahí aportas tu propia cuenta de Mailgun e introduces su región, dominio y clave de API privada en Settings → Email newsletter, y luego añades tú mismo el mismo estilo de registros. En Ghost(Pro), Ghost es dueño de la cuenta de Mailgun y simplemente te da el DNS que publicar).
Paso a paso
- 1
Confirma tu plan y tu dominio personalizado
Los dominios de envío personalizados requieren el plan Publisher o superior en Ghost(Pro), y la opción solo aparece cuando ya tienes un dominio personalizado conectado a tu publicación (no la URL predeterminada yoursite.ghost.io). Si estás en Starter, mejora el plan primero; si sigues en la URL de ghost.io, conecta tu dominio personalizado antes de que aparezca esta opción.
- 2
Abre Custom sending domain → Set up
Ve al área Ghost(Pro) → Domain dentro de Ghost Admin, localiza la sección Custom sending domain y haz clic en Set up. Ghost deriva un subdominio de envío dedicado para tus newsletters y muestra los registros DNS exactos que publicar; son específicos de tu cuenta, así que cópialos de esta pantalla en lugar de hacerlo de cualquier tutorial genérico.
- 3
Copia los registros DKIM y SPF
Ghost muestra los registros que añadir: un registro DKIM en un host <selector>._domainkey bajo tu subdominio de envío, y un SPF TXT (v=spf1 include:mailgun.org ~all) en ese subdominio. Copia cada host y valor exactamente: el selector y el destino de DKIM son únicos de tu cuenta y no se pueden adivinar.
- 4
Añade el registro DKIM en el subdominio de envío
En tu proveedor de DNS, crea el registro DKIM exactamente como lo muestra Ghost. En la mayoría de las cuentas es un CNAME que delega la clave a Mailgun (para que Ghost pueda rotarla por ti); algunas cuentas muestran en su lugar un DKIM TXT (k=rsa; p=…). Publica lo que Ghost te dé, sin cambios, y no cambies su tipo de registro.
- 5
Añade el registro SPF en el subdominio de envío
Añade el SPF TXT (v=spf1 include:mailgun.org ~all) en el subdominio de envío que Ghost indicó, NO en tu dominio raíz. Si ese subdominio ya tuviera de algún modo un registro SPF, fusiona el include en él; nunca publiques dos registros SPF en un mismo host (eso es un PermError). Tu SPF raíz para tus buzones normales permanece exactamente como está.
- 6
Pon en nube gris cualquier CNAME de Cloudflare
Si tu DNS está en Cloudflare y el registro DKIM es un CNAME, ponlo en "DNS only" (nube gris). Un CNAME proxificado en nube naranja no resolverá a Mailgun y la comprobación de verificación de Ghost seguirá fallando.
- 7
Publica tu registro DMARC (obligatorio)
Ghost no crea el DMARC por ti, pero sí exige que haya uno presente para activar el dominio de envío personalizado; añade un registro TXT en _dmarc en tu dominio raíz. El propio ejemplo de Ghost es v=DMARC1; p=none; — añade una dirección de informes para que sea útil: v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. p=none es solo de monitorización, así que no se ve afectado nada mientras confirmas la alineación. Mantén exactamente un registro _dmarc para todo el dominio.
- 8
Espera las marcas de verificación verdes en Ghost Admin
De vuelta en la pantalla Custom sending domain, Ghost comprueba los registros: una marca de verificación verde significa detectado, un signo de exclamación rojo significa todavía no. La propagación suele ser de 15 minutos a 24 horas; vuelve a comprobar la pantalla si un registro sigue en rojo.
- 9
Envía una prueba y cuenta con el calentamiento
Envíate una newsletter de prueba y ábrela con Mostrar original: quieres DKIM: PASS firmado por tu subdominio de envío, SPF: PASS y DMARC: PASS, sin "via ghost.io". Importante: durante aproximadamente las primeras seis semanas Ghost calienta tu nuevo subdominio enviando una fracción de cada newsletter desde ghost.io, así que algunos destinatarios (e incluso tu propia prueba) pueden seguir mostrando ghost.io durante esa ventana; eso es esperado, no un registro roto. Un correo de enlace mágico de miembro, en cambio, ya se envía desde tu dominio: el correo transaccional se salta el calentamiento.
Registros que añadir
Ghost (Pro) genera los valores exactos en su asistente de configuración; estos muestran la forma de lo que añadirás en tu proveedor de DNS.
| Tipo | Host | Valor |
|---|---|---|
| TXT | send | v=spf1 include:mailgun.org ~allSPF en el subdominio de envío dedicado que indica Ghost (host ilustrativo: copia el subdominio exacto de Ghost Admin). Va en el subdominio, NO en tu SPF raíz. include:mailgun.org es el include compartido de Mailgun, porque Ghost ejecuta Mailgun por ti. |
| CNAME | krs._domainkey.send | krs._domainkey.<account>.dkim.mailgun.orgDKIM: delegado a Mailgun para que las claves roten automáticamente. Ilustrativo: el selector (p. ej. krs / k1 / un token aleatorizado) y el destino son únicos de tu cuenta y se muestran en Ghost Admin. Algunas cuentas publican en su lugar un DKIM TXT (k=rsa; p=…): usa lo que muestre Ghost. |
| CNAME | email.send | mailgun.orgSeguimiento opcional de aperturas/clics en tu dominio. Añádelo solo si Ghost Admin lo lista; nube gris en Cloudflare. |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comEsto lo añades tú: Ghost nunca lo crea, pero exige que haya uno presente para activar el dominio de envío personalizado. Uno por dominio, en la raíz; empieza en p=none. El propio ejemplo de Ghost usa el mínimo v=DMARC1; p=none;. |
Mantén exactamente un registro TXT de SPF (v=spf1) en tu dominio raíz: fusiona en él todos los remitentes. Tener dos registros SPF es en sí mismo un error.
El presupuesto de 10 consultas
El SPF tiene un límite estricto de 10 consultas DNS: si lo superas, devuelve un permerror y deja de validar en todas partes. Esto es lo que la configuración de Ghost (Pro) consume de ese presupuesto.
La configuración recomendada de Ghost (Pro) añade 0 consultas: las 10 quedan libres para los remitentes que sí necesitan un include.
DKIM
DKIM es el mecanismo portante de las newsletters de Ghost(Pro), porque es lo que se alinea con tu dominio y sostiene el pase de DMARC. Cuando activas el dominio de envío personalizado, Ghost (a través de su Mailgun gestionado) genera una clave DKIM por cuenta en tu subdominio de envío y te muestra el registro que publicar en un host <selector>._domainkey bajo ese subdominio. En la mayoría de las cuentas esto es un CNAME que delega la clave de vuelta a Mailgun; al ser un CNAME en lugar de una clave estática que pegas, Mailgun conserva la clave privada y puede rotar la clave pública de 2048 bits publicada tras ese selector sin que tú vuelvas a editar el DNS nunca más. Algunas cuentas muestran en cambio un DKIM TXT estático (k=rsa; p=<clave pública larga en base64>), que funciona de forma idéntica pero permanece fijo hasta que lo regeneras. En cualquier caso, las newsletters salientes se firman con d=<tu-subdominio-de-envio>, y como la alineación relajada de DMARC trata un subdominio y su dominio padre como el mismo dominio organizativo, esa firma DKIM se alinea con tu dirección De en yourdomain.com y satisface DMARC. Copia el selector y el valor exactamente como los muestra Ghost (son específicos de la cuenta y no se pueden adivinar), y si tu DNS está en Cloudflare pon el CNAME de DKIM en solo DNS para que resuelva. En Ghost(Pro) nunca generas, almacenas ni rotas la clave tú mismo: ese es el trabajo del Mailgun gestionado de Ghost.
DMARC
DMARC es un registro de política aparte que Ghost no publica por ti, y en Ghost(Pro) es obligatorio: Ghost exige un registro DMARC en tu dominio para activar el dominio de envío personalizado, así que esto no es un extra opcional. Añádelo en tu proveedor de DNS en tu dominio raíz, en _dmarc.yourdomain.com. La propia ayuda de Ghost muestra la forma mínima v=DMARC1; p=none; pero deberías incluir una dirección de informes para aprender algo de verdad: v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. p=none es solo de monitorización: no cambia nada en la entrega mientras usas los informes agregados (rua) para confirmar que las newsletters de Ghost (y todos los demás remitentes de tu dominio) están pasando DKIM alineado con tu dominio. Como un registro DMARC en la raíz ya gobierna los subdominios mediante la regla de dominio organizativo, este único registro cubre también tu subdominio de envío: no añadas un segundo _dmarc en el subdominio. Mantén exactamente un _dmarc para todo el dominio, sin importar cuántos servicios uses para enviar. Una vez que los informes muestren a Ghost como una fuente constante y alineada durante una semana o dos —y recordando que el calentamiento de unas 6 semanas significa que ghost.io también aparecerá como fuente durante ese periodo— endurece la política de p=none a p=quarantine y finalmente p=reject, que es lo que realmente detiene a los atacantes que suplantan tu dominio.
Comprueba que de verdad funcionó
No te fíes solo de las marcas de verificación verdes de Ghost: confirman que los registros resuelven, no que una newsletter real se autentique. Envíate un número de prueba, ábrelo en Gmail y elige ⋮ → Mostrar original: quieres DKIM: PASS firmado por tu subdominio de envío (no ghost.io), SPF: PASS y DMARC: PASS, con la nota "via ghost.io" desaparecida de la línea del remitente. La única salvedad específica de Ghost: durante el calentamiento de reputación de unas seis semanas, Ghost sigue enviando deliberadamente una parte de cada newsletter desde ghost.io, así que una prueba temprana —o informes de algunos suscriptores— que muestre ghost.io es un comportamiento esperado, no una mala configuración, y se resuelve solo a medida que se completa el calentamiento. Haz la prueba con una newsletter real, no con un correo de enlace mágico: el correo transaccional pasa a tu dominio de envío de inmediato, así que pasará antes de que tus newsletters terminen de calentarse. Pasa tu subdominio de envío por la comprobación de salud del dominio de Qualisend para confirmar que los registros DKIM, SPF y DMARC resuelven todos limpiamente, y una vez que empiecen a llegar los informes agregados de DMARC, mete uno en el analizador de informes DMARC: tu subdominio de envío de Ghost/Mailgun debería aparecer como una fuente alineada que pasa (junto a ghost.io mientras el calentamiento sigue en curso).
Errores habituales
- Cobertura
Ghost(Pro) no es Ghost autoalojado. En Ghost(Pro) nunca introduces una clave de API, región ni dominio de Mailgun: Ghost es dueño de la cuenta de Mailgun y la configura por ti. Esos campos de Mailgun en Settings → Email newsletter pertenecen a las instalaciones autoalojadas; en Ghost(Pro) usas en su lugar el flujo Custom sending domain, y los registros DNS son lo único que tocas.
- Configuración de DNS
La función está restringida: los dominios de envío personalizados necesitan el plan Publisher o superior Y un dominio personalizado ya conectado a tu publicación. En Starter, o mientras sigues en una URL yoursite.ghost.io, el botón Set up simplemente no estará.
- Cobertura
El calentamiento de unas 6 semanas es normal. Después de que tus registros se verifiquen, Ghost sigue enviando una fracción de cada newsletter desde ghost.io mientras construye reputación en tu nuevo subdominio, así que que 'via ghost.io' persista durante semanas (y aparezca en las pruebas tempranas) es esperado, no un registro roto. No rehagas tu DNS persiguiéndolo.
- Cobertura
También autentica tu correo transaccional, no solo las newsletters. El correo de miembros y de personal —inicio de sesión por enlace mágico, recibos de membresía, invitaciones de personal, notificaciones de comentarios— también cambia a tu dominio de envío personalizado, y a diferencia de las newsletters lo hace de inmediato, sin calentamiento. Así que un correo de enlace mágico mostrará tu propio dominio enseguida; eso es esperado, pero no significa que tus newsletters hayan terminado de migrar. Mide la migración de la newsletter con una newsletter real, no con un correo de inicio de sesión.
- Cobertura
Ghost(Pro) no aloja tu bandeja de entrada. Tu correo cotidiano you@yourdomain.com vive en Google Workspace / Microsoft 365 / etc. con su propio SPF, DKIM y DMARC raíz. Los registros de Ghost van en un subdominio de envío aparte; añadirlos no debe tocar ni sobrescribir el SPF ni el DKIM raíz de tu proveedor de correo.
- Rompe la autenticación
Nunca pongas include:mailgun.org en tu SPF RAÍZ. Pertenece solo al subdominio de envío que Ghost indica. En la raíz no hace nada por la alineación de tu newsletter y quema unas cinco de tus diez búsquedas SPF (cubre los rangos de EE. UU. y la UE de Mailgun): mantenlo fuera de la raíz por completo.
- Configuración de DNS
El proxy de Cloudflare rompe el CNAME de DKIM: ponlo en 'DNS only' (nube gris); un CNAME proxificado en nube naranja no resolverá a Mailgun y la verificación de Ghost seguirá en rojo. Y vigila la duplicación de host del registrador: introduce solo la etiqueta que muestra Ghost (el selector _domainkey bajo tu subdominio), no el dominio completo, si tu panel lo añade automáticamente.
Crea tu registro SPF
Ghost (Pro) no necesita un include: de SPF en tu dominio raíz: usa el generador para ensamblar un único registro limpio para tus otros remitentes y mantenlo en una sola línea.
Sending sources
Search for each platform you send email through and tick it.
Search for your email platform above, or .
This domain's own servers
Authorize the domain itself, if it sends mail directly (not through a platform above).
Other senders & IPs
Anything not in the list — another provider's SPF host, or specific IP addresses.
We add the include: prefix — enter the hostname your provider documents.
Policy for everyone else
What receivers should do with mail from any server not listed above (the all mechanism).
No senders yet, so every message would hit the ~all policy. Add the platforms you send through in step 1.
- Publish it as a TXT record at your root domain — host @ (the bare domain), value the full string above.
- Keep only one SPF record per domain. Merge every sending source into this single line — a second TXT record starting v=spf1 makes both invalid.
- Stay at or under 10 DNS lookups. Each include:, a and mx counts, and an include can trigger more lookups inside itself — ip4: and ip6: are free.
Authentication published? The next step is sending to a clean, verified list.
Verify a listSPF de Ghost (Pro) — Preguntas frecuentes
Lecturas relacionadas
Una vez publicado, confirma que todo se resuelve con el chequeo de salud del dominio y luego averigua quién envía en tu nombre con el analizador de informes DMARC. Explora todas las fuentes de envío en el generador. Eso sí, la autenticación es solo la mitad de la entregabilidad: una IP o un dominio de envío incluidos en una lista negra te llevan igualmente a spam por muy limpio que esté tu SPF, así que conviene vigilar las listas negras con monitorización de listas negras.
Autenticado: ahora mantén la lista limpia
Pasar SPF, DKIM y DMARC te lleva a la bandeja de entrada; una lista limpia te mantiene ahí. Verifica la tuya: empieza gratis con 100 créditos, sin tarjeta.