GUÍA DEFINITIVA: Configuración de su servidor para una entrega de correo fiable. PARTE 2: Cómo evitar que los correos salientes lleguen a spam

Los registros DNS son un conjunto de parámetros técnicos de un dominio que determinan a dónde dirigir diferentes tipos de tráfico: web, correo, FTP, etc.
Vinculan el nombre de dominio a direcciones IP y otros servidores para que los navegadores y los sistemas de correo sepan a dónde conectarse al trabajar con su sitio web o correo electrónico.
En la Parte 1 de esta guía, configuramos el firewall y abrimos los puertos necesarios para la entrega de correo. Ahora que nos hemos asegurado de que los mensajes se envían desde su servidor, debemos comprobar que los registros DNS están configurados correctamente. Gmail, Outlook y otros servicios de correo importantes verifican estrictamente MX, SPF, DKIM, DMARC y PTR antes de entregar los mensajes a la bandeja de entrada principal. Los registros correctos aumentan drásticamente la probabilidad de que los mensajes lleguen a la carpeta de Entrada en lugar de a Spam (o sean rechazados por completo).
En los siguientes pasos, describiremos cómo comprobar los registros DNS actuales de cada tipo y proporcionaremos recomendaciones sobre cómo configurarlos correctamente.
En esta parte del artículo, para todas las comprobaciones, utilizaremos el dominio example.com, la dirección IPv4 1.2.3.4 y la dirección IPv6 2001:db8:1:11::1 como ejemplos. Por favor, reemplácelos con el nombre real de su sitio web y sus direcciones IP actuales.
Requisitos previos
Paso 1. Comprobación del proveedor de DNS
En el contexto de este artículo, necesitaremos editar los registros DNS varias veces. Esto debe hacerse en el panel de control del proveedor de DNS actual de su dominio. Para hacerlo correctamente, necesita saber exactamente quién está prestando estos servicios en este momento. De lo contrario, los cambios que realice no tendrán ningún efecto.
La mayoría de las veces, el papel de proveedor de DNS lo desempeña:
-
su proveedor de alojamiento,
-
su registrador de dominios, o
-
su proveedor de protección contra DDoS.
Pero este no es siempre el caso.
Puede averiguar exactamente quién es el proveedor de DNS de su dominio en este momento utilizando el comando whois. Por ejemplo, comprobemos el dominio kodu.cloud:
whois kodu.cloud | grep -i "Name Server" | awk '{print $3}'
La salida listará los servidores NS:
art.ns.cloudflare.com
isla.ns.cloudflare.com
Eso significa que en este caso los registros DNS deben editarse en el panel de control de Cloudflare.
En muchos casos, se puede deducir quién es el proveedor de DNS a partir del nombre de dominio. Sin embargo, esto no siempre es así. Por ejemplo, para nuestro servicio de DNS gratuito, que está disponible para todos nuestros clientes, los nombres son los siguientes:
birman.nameserver.red.
rex.nameserver.red.
korat.nameserver.blue.
toybob.nameserver.blue.
En este caso, póngase en contacto con el soporte técnico de su proveedor de alojamiento para obtener más aclaraciones.
Una vez que haya identificado definitivamente su proveedor de DNS, inicie sesión en su panel de control y vaya a la sección para editar los registros DNS de su dominio. La mayoría de los cambios descritos a continuación se realizarán allí. Dado que todas las interfaces son diferentes, es imposible proporcionar una guía paso a paso universal.
Si encuentra dificultades en esta etapa, consulte al soporte técnico.
Después de cambiar los registros DNS, la propagación en caché puede tardar entre 20 minutos y 24 horas. Teniendo en cuenta el tiempo necesario para que los principales servicios de correo actualicen su reputación, para una entrega de correo estable se recomienda esperar unas 48 horas, aunque lo más frecuente es que la situación se normalice tras 2-3 horas.
Paso 2. Comprobación de IPv6
Para una configuración correcta, necesitamos saber exactamente si el servidor tiene una dirección IPv6. Para averiguarlo, ejecute el comando:
ip a | grep inet6
Si la salida es aproximadamente la siguiente:
inet6 ::1/128 scope host noprefixroute
inet6 2001:db8:1:11::1/120 scope global
inet6 fe80::1/64 scope link
entonces su servidor tiene una dirección IPv6. Se mostrará en la línea que termina con scope global hasta el signo /.
Anote la dirección IPv6 de su servidor para poder usarla más adelante.
Si la salida está vacía, o solo contiene una única línea de la forma:
inet6 fe80::1c2:3dff:fe4a:5b6c/64 scope link
entonces su servidor no tiene IPv6. En todos los pasos posteriores, no utilice IPv6.
Configuración de registros DNS
Paso 3. Comprobación del registro MX
El registro MX especifica a dónde se deben entregar los correos entrantes del dominio. Puede comprobarlo con el comando:
dig MX example.com +short
Ejemplo de salida correcta:
10 mail.example.com.
Si la salida muestra un valor incorrecto, edite el registro DNS en el panel de control de su proveedor de DNS:
- Tipo: MX
- Nombre: @
- Dirección: mail.example.com
- Prioridad: 10
Si falta el registro, obtendrá una salida vacía:
~ dig MX badexample.com +short
~
En este caso, cree un registro DNS siguiendo el ejemplo anterior.
Además, tenga en cuenta que puede haber varios registros MX. En este caso, el correo se enviará primero al servidor con el valor numérico de prioridad más bajo (por ejemplo, 10 tiene una prioridad mayor que 20).
Si el servidor principal no está disponible, la entrega se realizará al siguiente servidor en orden de prioridad.
Paso 4. Comprobación de registros A y AAAA
A continuación, asegúrese de que mail.example.com y example.com apunten realmente al servidor desde el que se envían los mensajes:
dig A example.com +short
dig A mail.example.com +short
dig AAAA example.com +short
dig AAAA mail.example.com +short
Las direcciones IP en la salida de estos comandos deben coincidir con las direcciones IPv4 e IPv6 reales de su servidor. Si difieren, o si tales registros faltan, edítelos o créelos en el panel de control de su proveedor de DNS:
- example.com (A):
- Tipo: A
- Nombre: @
- Dirección: 1.2.3.4
- example.com (AAAA):
- Tipo: AAAA
- Nombre: @
- Dirección: 2001:db8:1:11::1
- mail.example.com (A):
- Tipo: A
- Nombre: mail
- Dirección: 1.2.3.4
- mail.example.com (AAAA):
- Tipo: AAAA
- Nombre: mail
- Dirección: 2001:db8:1:11::1
Paso 5. Comprobación del registro SPF
SPF define qué servidores tienen permitido enviar correo en nombre del dominio.
Comprobación del registro:
dig TXT example.com +short
Ejemplo de un registro SPF correcto:
example.com. TXT "v=spf1 ip4:1.2.3.4 ip6:2001:db8:1:11::1 a mx ~all"
Es extremadamente importante que el dominio tenga solo un registro SPF. Este error de validación puede ser causado por múltiples registros.
Si la dirección IP difiere de la dirección de su servidor actual, o si dicho registro falta, edítelo o créelo en el panel de control de su proveedor de DNS:
Si hay IPv6 presente:
- Tipo: TXT
- Nombre: @
- Valor: v=spf1 ip4:1.2.3.4 ip6:2001:db8:1:11::1 a mx ~all
Si no hay IPv6:
- Tipo: TXT
- Nombre: @
- Valor: v=spf1 ip4:1.2.3.4 a mx ~all
El registro SPF tiene muchas opciones adicionales, pero este conjunto es suficiente para el envío correcto de mensajes.
Paso 6. Comprobación del registro DKIM
DKIM es una firma digital de un mensaje que confirma que se envió desde el dominio especificado y no ha sido falsificado. Se utiliza un registro DNS TXT con una clave pública para verificar la firma: primero se crea la firma en el servidor y luego la clave se publica en DNS.
Existen diversas formas de obtener una firma DKIM para su dominio de correo, pero dentro del alcance de este artículo consideraremos la opción más sencilla: usar FASTPANEL. En FASTPANEL, se crea una firma DKIM para los dominios de correo de forma predeterminada.
FASTPANEL es extremadamente conveniente para trabajar con un servidor de correo: no necesita configurar ni instalar nada manualmente. De fábrica, obtiene un servidor de correo configurado para un trabajo completo con correo entrante y saliente, así como un conveniente cliente de webmail.
Por lo tanto, todo lo que tiene que hacer es copiar el valor de la clave pública y añadirlo al registro DNS correspondiente. Para hacerlo, en el panel, vaya a “Management” → “Mail” y haga clic en el botón “DKIM” al final de la fila con el nombre de su dominio de correo:

Luego copie la clave pública:

Por parte de su proveedor de DNS, cree el siguiente registro DNS:
- Tipo: TXT
- Nombre:
dkim._domainkey - Valor: la clave que copió anteriormente
Si ya existe un registro de este tipo, es mejor reemplazar el valor de la clave para asegurarse de que esté actualizado.
Puede haber varios registros DKIM, pero en ese caso deben tener nombres diferentes. Por ejemplo, tener registros con los nombres dkim._domainkey y mail._domainkey al mismo tiempo no causará ningún problema.
Después de la configuración y la actualización de la caché de DNS, puede comprobar la presencia del registro DKIM con el comando:
dig TXT dkim._domainkey.example.com +short
Paso 7. Comprobación del registro DMARC
DMARC establece las reglas para el manejo de mensajes que fallan SPF o DKIM.
Comprobación del registro:
dig TXT _dmarc.example.com +short
Ejemplo de salida:
"v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s"
El registro DMARC tiene muchas opciones adicionales, pero para escenarios comunes es suficiente añadir un registro de la siguiente forma:
- Tipo: TXT
- Nombre:
_dmarc - Valor: v=DMARC1; p=reject
Paso 8. Comprobación de la variable sendmail_path (opcional)
Este paso será muy útil si envía mensajes directamente desde su sitio web (por ejemplo, a través de formularios de contacto o al realizar pedidos). Para asegurarse de que todos los registros DNS necesarios se tienen en cuenta para dichos mensajes, establezca el siguiente valor para la variable sendmail_path en la configuración PHP de su sitio:
/usr/sbin/sendmail -t -i -f "[email protected]"
Por ejemplo, en FASTPANEL puede hacerlo en la tarjeta del sitio en la sección “PHP Settings”.
Configuración del nombre de host y PTR
PTR (o rDNS) es un registro DNS inverso que vincula una dirección IP a un nombre de dominio.
El nombre de host del servidor es simplemente el nombre por el cual se puede identificar el servidor en la red.
Si el PTR no coincide con el nombre de host del servidor, los mensajes casi con certeza terminarán en spam.
La mejor práctica es establecer mail.example.com como ambos valores (recuerde que este valor siempre debe reemplazarse por el nombre real de su dominio).
Paso 9. Nombre de host
Para averiguar el nombre de host actual de su servidor, ejecute el comando:
hostname
Para cambiarlo, ejecute:
sudo hostnamectl set-hostname mail.example.com
A continuación, ejecute de nuevo el comando hostname para asegurarse de que todo está correcto.
Paso 10. PTR
La situación con el registro PTR es algo diferente: solo puede ser modificado por el propietario de la dirección IP, es decir, su proveedor de alojamiento. Puede obtener más información sobre las razones de esto en este artículo.
Algunos proveedores de alojamiento le permiten editar el registro PTR en su cuenta personal. Puede intentar hacerlo usted mismo allí. Si eso no funciona, póngase en contacto con el soporte técnico y pídales que establezcan el siguiente valor como registro PTR:
mail.example.com
Recuerde que este valor siempre debe reemplazarse por el nombre real de su dominio.
Los cambios suelen aplicarse inmediatamente; no es necesario esperar a las actualizaciones de la caché de DNS en este caso. Puede comprobar el registro PTR actual utilizando el comando:
dig -x 1.2.3.4 +short
Comprobación final
Si ha llegado a esta sección, felicidades: está en la recta final. Ahora solo queda verificar que todo esté configurado correctamente y que los mensajes de su servidor lleguen casi garantizado a la Bandeja de entrada de cualquier destinatario. Antes de hacerlo, asegúrese de esperar a que se actualice la caché de DNS. Es mejor esperar al menos 1-2 horas después de los últimos cambios en los registros DNS.
Existen muchos servicios de terceros para realizar estas comprobaciones. Puede utilizar cualquiera de ellos. En este artículo, utilizaremos el servicio mail-tester.com.
Para realizar la comprobación, visite este sitio web y copie el nombre del buzón de prueba:

Envíe un mensaje a esta dirección desde cualquier buzón de su dominio y haga clic en el botón “Then check your score”. No olvide especificar un asunto y escribir algo en el cuerpo del mensaje.
Después de eso, el servicio mostrará los resultados de la comprobación de DKIM, SPF, DMARC, la presencia de un registro PTR y una puntuación general de “reputación” del mensaje, así como si su servidor está incluido en listas negras de SPAM.
Si ha seguido cuidadosa y consistentemente todos los pasos de este artículo, el resultado será 10/10. Si es inferior, estudie las recomendaciones de mail-tester. Le explicarán en detalle cuál es el problema y cómo solucionarlo.
Además, puede comprobar si su servidor está incluido en listas negras de SPAM utilizando otro excelente servicio:
https://mxtoolbox.com/blacklists.aspx
Si alguna de las comprobaciones indica que la dirección IP de su servidor ha terminado en una de las listas, póngase en contacto con su proveedor de alojamiento para que puedan ayudar a resolver el problema.
Con esto concluye la configuración. Si no desea invertir tiempo en su propia investigación o si se ha encontrado con algún problema, siempre puede ponerse en contacto con el soporte técnico de kodu.cloud. Realizaremos todos los pasos descritos aquí lo más rápido posible para nuestros clientes en cualquier momento, de forma gratuita.