Cómo configurar SPF, DKIM y DMARC en cPanel
Tiempo estimado : 15 minutos
Dificultad : Intermedia ⭐⭐
Requisitos previos : Acceso a cPanel, dominio con DNS gestionado
📋 Introducción
SPF, DKIM y DMARC son tres protocolos de autenticación de correo electrónico esenciales para :
- ✅ Mejorar la entregabilidad de sus correos electrónicos
- 🛡️ Proteger su dominio contra el spoofing y el phishing
- 📬 Evitar que sus correos electrónicos lleguen a spam
- ✨ Cumplir con los requisitos de Gmail y Yahoo (obligatorio desde febrero de 2024)
🔍 Entender SPF, DKIM y DMARC
Descripción general
| Protocolo | Función | Analogía |
|---|---|---|
| SPF | Verifica que el servidor esté autorizado a enviar | Lista de factores autorizados |
| DKIM | Agrega una firma digital al correo electrónico | Sello de autenticidad |
| DMARC | Define la política en caso de fallo | Instrucciones al destinatario |
SPF (Sender Policy Framework)
SPF permite especificar qué servidores están autorizados a enviar correos electrónicos para su dominio.
Funcionamiento :
- Publica una lista de servidores autorizados en un registro DNS TXT
- El servidor receptor verifica si el correo electrónico proviene de un servidor autorizado
- Si no está autorizado → el correo electrónico puede ser rechazado o marcado como spam
Ejemplo de registro SPF :
v=spf1 +a +mx +ip4:123.456.789.0 include:_spf.google.com ~all
DKIM (DomainKeys Identified Mail)
DKIM agrega una firma criptográfica a cada correo electrónico saliente.
Funcionamiento :
- Su servidor firma cada correo electrónico con una clave privada
- La clave pública se publica en sus DNS
- El destinatario verifica la firma con la clave pública
- Si la firma es válida → el correo electrónico es auténtico y no modificado
Ejemplo de registro DKIM :
default._domainkey.sudominio.com IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA..."
DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC define lo que el destinatario debe hacer si SPF o DKIM falla.
Funcionamiento :
- Define una política (none, quarantine, reject)
- El destinatario aplica esta política a los correos electrónicos no autenticados
- Recibe informes sobre los intentos de suplantación
Ejemplo de registro DMARC :
v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100
📊 Tabla Resumen
| Elemento | SPF | DKIM | DMARC |
|---|---|---|---|
| Tipo de registro | TXT | TXT | TXT |
| Nombre | @ o dominio | default._domainkey | _dmarc |
| Obligatorio | ✅ Sí | ✅ Sí | ⚠️ Recomendado |
| Configurado automáticamente | ✅ cPanel | ✅ cPanel | ❌ Manual |
| Protege contra | Servidores no autorizados | Falsificación de contenido | Suplantación de identidad |
⚙️ Método 1 : Configuración Automática (Entregabilidad de Correo)
cPanel ofrece una herramienta Entregabilidad de Correo que configura automáticamente SPF y DKIM.
Paso 1 : Acceder a Entregabilidad de Correo
- Inicie sesión en cPanel
- En la sección Correo, haga clic en Entregabilidad de Correo

Paso 2 : Verificar el estado actual
Verá la lista de sus dominios con su estado :
| Estado | Significado |
|---|---|
| ✅ Válido | SPF y DKIM configurados correctamente |
| ⚠️ Existen Problemas | Configuración faltante o incorrecta |
Paso 3 : Reparar automáticamente
Si se detectan problemas :
- Haga clic en Reparar junto al dominio correspondiente
- cPanel mostrará los registros sugeridos
- Haga clic en Reparar para aplicar automáticamente

💡 Nota : Este método solo funciona si sus DNS son gestionados por el mismo servidor que cPanel. De lo contrario, utilice el método manual.
Paso 4 : Verificar la configuración
Después de la reparación, el estado debería cambiar a Válido ✅
Puede hacer clic en Administrar para ver los detalles de cada registro.
⚙️ Método 2 : Configuración Manual
Si sus DNS son gestionados en otro lugar (Cloudflare, OVH, Gandi, etc.), debe agregar los registros manualmente.
Paso 1 : Recuperar los valores en cPanel
- Vaya a Correo → Entregabilidad de Correo
- Haga clic en Administrar junto a su dominio
- Anote los valores sugeridos para SPF y DKIM
Paso 2 : Agregar el registro SPF
En cPanel (Editor de Zona)
- Vaya a Dominios → Editor de Zona
- Haga clic en Gestionar junto a su dominio
- Haga clic en + Agregar un registro → Agregar Registro TXT
| Campo | Valor |
|---|---|
| Nombre | sudominio.com (o @) |
| TTL | 14400 |
| Tipo | TXT |
| Registro | v=spf1 +a +mx +ip4:SU_IP include:_spf.google.com ~all |
- Haga clic en Guardar Registro
Registros SPF según su configuración
| Situación | Registro SPF |
|---|---|
| Correo solo cPanel | v=spf1 +a +mx ~all |
| Con MailChannels | v=spf1 +a +mx include:relay.mailchannels.net ~all |
| Con Google Workspace | v=spf1 include:_spf.google.com ~all |
| Con Microsoft 365 | v=spf1 include:spf.protection.outlook.com ~all |
| Con SendGrid | v=spf1 include:sendgrid.net ~all |
| Con Mailchimp | v=spf1 include:servers.mcsv.net ~all |
| Combinado (cPanel + Google) | v=spf1 +a +mx include:_spf.google.com ~all |
Entender la sintaxis SPF
| Elemento | Significado |
|---|---|
v=spf1 | Versión del protocolo SPF |
+a | Autoriza la IP del dominio (registro A) |
+mx | Autoriza los servidores MX del dominio |
+ip4:123.456.789.0 | Autoriza una IP específica |
include:dominio.com | Incluye los servidores autorizados de otro dominio |
~all | Soft fail : marcar como sospechoso si no está autorizado |
-all | Hard fail : rechazar si no está autorizado |
?all | Neutro : no verificar |
⚠️ Importante : Un dominio solo puede tener un solo registro SPF. Si utiliza varios servicios, combínelos en un solo registro.
Paso 3 : Agregar el registro DKIM
Recuperar la clave DKIM
- En Entregabilidad de Correo, haga clic en Administrar
- Bajo DKIM, copie el valor completo de la clave pública
Agregar el registro
- En Editor de Zona, haga clic en + Agregar un registro → Agregar Registro TXT
| Campo | Valor |
|---|---|
| Nombre | default._domainkey.sudominio.com |
| TTL | 14400 |
| Tipo | TXT |
| Registro | v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEB... (su clave) |
- Haga clic en Guardar Registro
💡 Nota : El selector
defaultpuede variar según su configuración. Algunos servicios utilizan otros selectores comoselector1, etc.
Paso 4 : Agregar el registro DMARC
DMARC no se configura automáticamente por cPanel. Debe agregarlo manualmente.
- En Editor de Zona, haga clic en + Agregar un registro → Agregar Registro TXT
| Campo | Valor |
|---|---|
| Nombre | _dmarc.sudominio.com (o _dmarc) |
| TTL | 14400 |
| Tipo | TXT |
| Registro | v=DMARC1; p=none; rua=mailto:[email protected] |
- Haga clic en Guardar Registro
📝 Configuraciones DMARC Recomendadas
Política progresiva (recomendado para comenzar)
Comience con una política flexible, luego refuerce progresivamente :
Fase 1 : Monitoreo (2-4 semanas)
v=DMARC1; p=none; rua=mailto:[email protected]; pct=100
p=none: No hacer nada, solo monitorearrua=mailto:...: Recibir informes agregados
Fase 2 : Cuarentena (2-4 semanas)
v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=25
p=quarantine: Poner en spam los correos electrónicos no autenticadospct=25: Aplicar al 25% de los correos electrónicos (prueba progresiva)
Fase 3 : Cuarentena completa
v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100
Fase 4 : Rechazo (protección máxima)
v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100
p=reject: Rechazar completamente los correos electrónicos no autenticadosruf=mailto:...: Recibir informes forenses detallados
Parámetros DMARC explicados
| Parámetro | Valores | Descripción |
|---|---|---|
v | DMARC1 | Versión (obligatoria) |
p | none, quarantine, reject | Política para el dominio |
sp | none, quarantine, reject | Política para los subdominios |
pct | 0-100 | Porcentaje de correos electrónicos a filtrar |
rua | mailto:[email protected] | Dirección para informes agregados |
ruf | mailto:[email protected] | Dirección para informes forenses |
adkim | r (relajado), s (estricto) | Alineación DKIM |
aspf | r (relajado), s (estricto) | Alineación SPF |
fo | 0, 1, d, s | Opciones de informe de fallo |
Ejemplos de configuraciones DMARC
| Caso de uso | Registro DMARC |
|---|---|
| Principiante (monitoreo) | v=DMARC1; p=none; rua=mailto:[email protected] |
| Estándar | v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100 |
| Estricto | v=DMARC1; p=reject; rua=mailto:[email protected]; pct=100 |
| Completo con subdominios | v=DMARC1; p=reject; sp=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1; pct=100 |
✅ Verificar la Configuración
Método 1 : Entregabilidad de Correo cPanel
- Regrese a Correo → Entregabilidad de Correo
- Verifique que el estado sea Válido ✅ para su dominio
Método 2 : Herramientas en línea
| Herramienta | URL | Verifica |
|---|---|---|
| MXToolbox | mxtoolbox.com/SuperTool.aspx | SPF, DKIM, DMARC |
| Mail Tester | mail-tester.com | Puntuación global + autenticación |
| DMARC Analyzer | dmarcanalyzer.com/dmarc/dmarc-record-check | DMARC |
| Google Admin Toolbox | toolbox.googleapps.com/apps/checkmx | MX, SPF, DKIM |
| DKIM Validator | dkimvalidator.com | DKIM |
| EasyDMARC | easydmarc.com/tools | SPF, DKIM, DMARC |
Método 3 : Comandos de verificación
Verificar SPF
# Linux/Mac
dig TXT sudominio.com +short
# Windows
nslookup -type=TXT sudominio.com
Resultado esperado :
"v=spf1 +a +mx ~all"
Verificar DKIM
# Linux/Mac
dig TXT default._domainkey.sudominio.com +short
# Windows
nslookup -type=TXT default._domainkey.sudominio.com
Resultado esperado :
"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEB..."
Verificar DMARC
# Linux/Mac
dig TXT _dmarc.sudominio.com +short
# Windows
nslookup -type=TXT _dmarc.sudominio.com
Resultado esperado :
"v=DMARC1; p=quarantine; rua=mailto:[email protected]"
Método 4 : Enviar un correo electrónico de prueba
- Envíe un correo electrónico a [email protected]
- Recibirá un informe detallado con los resultados de SPF, DKIM y DMARC
O use mail-tester.com :
- Vaya a mail-tester.com
- Copie la dirección de correo electrónico temporal proporcionada
- Envíe un correo electrónico a esta dirección
- Consulte su puntuación y los detalles de autenticación
📧 Configuración para Servicios Externos
Google Workspace (Gmail profesional)
SPF
v=spf1 include:_spf.google.com ~all
DKIM
- En la consola de Google Admin, vaya a Aplicaciones → Google Workspace → Gmail → Autenticar correos electrónicos
- Genere la clave DKIM
- Agregue el registro TXT proporcionado por Google
Microsoft 365 (Outlook profesional)
SPF
v=spf1 include:spf.protection.outlook.com ~all
DKIM
- En el Centro de administración de Microsoft 365
- Configuración → Dominios → Seleccione su dominio
- Copie los registros CNAME DKIM proporcionados
Servicios de envío de correos electrónicos
| Servicio | Incluir SPF | Documentación DKIM |
|---|---|---|
| SendGrid | include:sendgrid.net | Panel de SendGrid |
| Mailchimp | include:servers.mcsv.net | Cuenta → Configuración → Dominios verificados |
| Sendinblue | include:sendinblue.com | Configuración → Remitentes → Dominios |
| Mailjet | include:spf.mailjet.com | Configuración de cuenta → Dominios |
| Amazon SES | include:amazonses.com | Consola AWS SES |
Ejemplo : cPanel + Mailchimp combinados
v=spf1 +a +mx include:servers.mcsv.net ~all
🔧 Solución de Problemas
SPF : "Demasiadas búsquedas DNS"
Problema : SPF está limitado a un máximo de 10 búsquedas DNS.
Solución :
- Reduzca el número de
include: - Utilice IP directas (
ip4:) en lugar deinclude: - Utilice un servicio de "SPF flattening"
SPF : "Múltiples registros SPF"
Problema : Tiene múltiples registros SPF.
Solución : Fusionar todos sus registros en uno solo :
❌ Incorrecto (2 registros) :
v=spf1 +a +mx ~all
v=spf1 include:_spf.google.com ~all
✅ Correcto (1 solo registro) :
v=spf1 +a +mx include:_spf.google.com ~all
DKIM : "No se encontró registro DKIM"
| Causa | Solución |
|---|---|
| Selector incorrecto | Verifique el nombre del selector (default, google, etc.) |
| Propagación DNS | Espere 24-48h después de la creación |
| Clave truncada | Verifique que la clave esté completa |
| Dominio incorrecto | Verifique el formato selecteur._domainkey.domaine.com |
DKIM: Clave demasiado larga
Si su clave DKIM supera los 255 caracteres, debe ser dividida:
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..." "...continuación de la clave..."
Algunos DNS manejan esto automáticamente, otros requieren una división manual.
DMARC: "Registro DMARC no encontrado"
| Causa | Solución |
|---|---|
| Nombre incorrecto | Debe ser exactamente _dmarc.votredomaine.com |
| Propagación DNS | Espere unas horas |
| Sintaxis incorrecta | Verifique con un validador DMARC |
Emails siempre en spam
Verifique en el siguiente orden:
- ✅ SPF configurado y válido
- ✅ DKIM configurado y válido
- ✅ DMARC configurado
- ✅ PTR (DNS inverso) configurado
- ✅ IP no en lista negra (verifique en mxtoolbox.com/blacklists.aspx)
- ✅ Contenido del email (sin palabras spam, buena relación texto/imágenes)
📊 Leer los Informes DMARC
Formato de los informes
Los informes DMARC se envían en XML. Ejemplo simplificado:
<record>
<row>
<source_ip>123.456.789.0</source_ip>
<count>10</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>pass</spf>
</policy_evaluated>
</row>
</record>
Servicios de análisis DMARC
Los informes XML son difíciles de leer. Utilice un servicio gratuito:
| Servicio | URL | Características |
|---|---|---|
| DMARC Analyzer | dmarcanalyzer.com | Gratis limitado |
| Postmark DMARC | dmarc.postmarkapp.com | Gratis |
| EasyDMARC | easydmarc.com | Gratis limitado |
| URIports | uriports.com | Gratis |
| DMARCLY | dmarcly.com | Gratis limitado |
⚠️ Buenas Prácticas
A hacer ✅
| Práctica | Razón |
|---|---|
Comenzar DMARC en modo p=none | Observar antes de bloquear |
| Probar después de cada modificación | Evitar interrupciones |
| Monitorear los informes DMARC | Detectar problemas |
| Actualizar SPF si cambia de servicio | Mantener la lista actualizada |
Usar ~all en lugar de -all al principio | Más tolerante a errores |
A evitar ❌
| Práctica | Riesgo |
|---|---|
Pasar directamente a p=reject | Bloquear sus propios emails |
| Olvidar incluir todos los servicios de envío | Emails rechazados |
| Tener múltiples registros SPF | Configuración inválida |
| Ignorar los informes DMARC | Perder problemas |
| Copiar configuraciones sin adaptarlas | Valores incorrectos |
📝 Resumen
AUTENTICACIÓN EMAIL - CONFIGURACIÓN CPANEL
┌─────────────────────────────────────────────────────────────┐
│ SPF │
├─────────────────────────────────────────────────────────────┤
│ Tipo: TXT │
│ Nombre: votredomaine.com (o @) │
│ Valor: v=spf1 +a +mx ~all │
│ → Autoriza a los servidores a enviar por su dominio │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ DKIM │
├─────────────────────────────────────────────────────────────┤
│ Tipo: TXT │
│ Nombre: default._domainkey.votredomaine.com │
│ Valor: v=DKIM1; k=rsa; p=SU_CLAVE_PUBLICA │
│ → Firma criptográficamente cada email │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ DMARC │
├─────────────────────────────────────────────────────────────┤
│ Tipo: TXT │
│ Nombre: _dmarc.votredomaine.com │
│ Valor: v=DMARC1; p=none; rua=mailto:[email protected] │
│ → Define la política si SPF/DKIM falla │
└─────────────────────────────────────────────────────────────┘
CONFIGURACIÓN AUTOMÁTICA (cPanel) :
1. Email → Entregabilidad de Email
2. Hacer clic en "Reparar" si se detectan problemas
3. Agregar DMARC manualmente en el Editor de Zona
PROGRESIÓN DMARC RECOMENDADA :
Fase 1: p=none (monitoreo) → 2-4 semanas
Fase 2: p=quarantine; pct=25 → 2-4 semanas
Fase 3: p=quarantine; pct=100 → 2-4 semanas
Fase 4: p=reject; pct=100 → Protección máxima
VERIFICACIÓN :
├── Entregabilidad de Email cPanel → Estado "Válido"
├── mail-tester.com → Puntaje 10/10
├── mxtoolbox.com → Verificación completa
└── dig TXT votredomaine.com → Ver registros