Pues después de varios meses tratando de solucionar éste problema, creo que porfin lo he resuelto! al menos la teoría es ésta a la fecha de éste post.
Es muy común que proveedores de correo electrónico como Gmail o Hotmail cuando reciben los correos electrónicos desde nuestro servidor de correo nos manden los correos electrónicos de nuestras cuentas a SPAM, cosa que hace que se pierdan correos en el limbo y se generen problemas como clientes perdidos, plazos finalizados o otros problemas comunes.
Para ello tenemos que entender la complejidad de un sistema de correo electrónico y los motivos porqué un correo electrónico entra como SPAM.
Una lista de los problemas mas comunes son:
– IP en una blacklist
– Open Relay
– DNS (DKIM/DMARC)
– postmaster
Voy a detallar pues los errores mas comunes y como verificar que tenemos una configuración correcta.
IP en una blacklist
Hay unas páginas web que se encargan de recolectar IPs y rangos de IPs sospechosamente maliciosos. Los servidores de correo se configuran para verificar cada una de las listas de éstas páginas web. Una forma de verificar si tu IP está en una blacklist de éstas te recomiendo usar ésta página web que comprueba automáticamente si tu IP está listada en alguna de las listas mas comunes.
Si tu IP aparece en alguna de las blacklist te tocará ir página por página y pedir que retiren tu IP de su blacklist. Normalmente las páginas funcionan correctamente pero hace unos meses había una página web (spamrats) que no mantenía su listado actualizado y ésto era un problema, ya que no podías sacar tu IP del listado.
Open Relay
Otra de las comprobaciones que hace un servidor de correo es si tu servidor de correo está configurado como Open Relay. Open Relay es una propiedad que permite a tu servidor de correo reenviar correos electrónicos de otros servidores de correo. Un servidor en Open Relay que permite conexiones de cualquier servidor de Internet es un grave problema que se tiene que solucionar.
DNS
Una vez verificado que tu servidor de correo cumple los requisitos previos definidos, tendremos que revisar la configuración de DNS, para ello es muy importante configurar correctamente DKIM y DMARC. Si estás configurando postfix o tu cliente de correo a pelo, te recomiendo leer éste post: DKIM en un servidor de correo.
En mi caso ahora mismo estoy usando modoboa y a la configuración de DNS que me ofrece le faltaban un par de cosas requeridas por ejemplo por GMAIL.
Aquí os dejo la configuración de DNS referente a mi servidor de correo (mail.capa8.net)
; modoboa config @ IN MX 10 mail.capa8.net. @ IN TXT "v=spf1 mx ~all" mail._domainkey.capa8.net. IN TXT ( "v=DKIM1;k=rsa;p=MIICI*****************************************************" "**************************************************************************" "**************************************************************************" "**************************************************************************" "**************************************************************************" "**************************************************************************" "**************************************************************************" "**************************************************************************" "**************************************************************************" "**************************************************************************" "M8MCAwEAAQ==") ;_dmarc.capa8.net. IN TXT "v=DMARC1; p=quarantine; pct=100" _dmarc.capa8.net. IN TXT "v=DMARC1; p=quarantine; pct=100; rua=mailto:admin@capa8.net; adkim=s" _adsp._domainkey.nusepas.com. IN TXT "dkim=discardable;"
La penúltima línea es la que propone modoboa y he tenido que añadir un rua y un adkim. El rua es para que me mande los XML con el report de autenticación del dkim.
La última línea es la clave. Sin esta aún seguían entrando los mails a spam. Con, parece que ya no. Si pongo la línea _dmarc que propone modoboa también funciona.
Formato del registro DMARC (google)
En los próximos días voy a empezar a probar mailcow y ya veremos qué nos ofrece.
Para verificar que tu DMARC y DKIM son correctos, te recomiendo usar alguna de éstas páginas:
– mxtoolbox
– dmarcian dmarc inspector
Otra cosa también muy importante es que deberemos definir el DNS inverso de nuestro servidor de correo, para ello tendremos que indicarle a nuestro proveedor de servicio que configure el Reverse DNS al dominio principal de nuestro servidor de correo. En mi caso, al ser yo misma la proveedora de la IP y al tener delegado el rango de IPs a mi servidor de DNS puedo realizar la configuración yo misma:
root@dns1:~# vi /var/lib/bind/5.10.205.128_26.rev $ORIGIN 128/26.205.10.5.in-addr.arpa. $TTL 28800 @ IN SOA ns1.capa8.net. hostmaster.capa8.net. ( 2020020201 ;serial number 10800 ;refresh 3600 ;update retry 604800 ;expiry 38400 ;nx =nxdomain ttl ) IN NS ns1.capa8.net. IN NS ns2.capa8.net. 130 IN PTR ip130.capa8.cat. 131 IN PTR mail.capa8.net. 132 IN PTR mail.lexten.net. 133 IN PTR ns1.capa8.cat. [...]
Para verificar dicha configuración haremos uso de nslookup
laura@melatonina:~$ nslookup 5.10.205.130 130.205.10.5.in-addr.arpa canonical name = 130.128/26.205.10.5.in-addr.arpa. 130.128/26.205.10.5.in-addr.arpa name = ip130.capa8.cat. Authoritative answers can be found from: laura@melatonina:~$ nslookup 5.10.205.131 131.205.10.5.in-addr.arpa canonical name = 131.128/26.205.10.5.in-addr.arpa. 131.128/26.205.10.5.in-addr.arpa name = mail.capa8.net. Authoritative answers can be found from: mail.capa8.net internet address = 5.10.205.131
Postmaster
Los servicios de postmaster sirven para comunicarte con el administrador del servidor de correo electrónico para añadir tu IP y/o dominio a la whitelist.
Postmaster GMAIL
En gmail tenemos las POSTMASTER TOOLS (ayuda google).
Para añadir nuestro dominio pulsamos el icono + de abajo a la derecha y seguimos los pasos. Nos va a pedir que añadamos una configuración en nuestro DNS para hacer la verificación, en mi caso para capa8:
; SPAM GMAIL @ IN TXT "google-site-verification=***************************************"
Postmaster Hotmail
Hace unos meses llegué tras mucho buscar al Postmaster de Hotmail pero por algún motivo los correos electrónicos de hotmail entraban en cuarentena en mi servidor de correo y no había forma de sacarlos de ahí, no pudiendo recuperar el link de verificación. Así que he vuelto a probar de nuevo hoy sin mucha esperanza (uno de los motivos porque quiero cambiar a mailcow) y ha funcionado!
En hotmail se llama Smart Network Data Service
UPDATE: Usar este enlace
En mi caso lo que voy a hacer es hacer la petición por cada servidor de correo que tengo, aunque te da la opción de pedir para un rango entero:
Lo siguiente será especificar en qué cuenta de mail vinculada a ésta IP se va a mandar un correo de verificación (he puesto otra ip que tengo que verificar para mostrar el paso). La cuenta de mail tiene que ser un buzón o un alias a un buzón.
Siguiente paso es esperar el mail en tu buzón y pulsar al enlace de verificación
Y ahora supongo que a esperar unas horas, porque pocos minutos de hacer ésto, aún siguen entrando los mails como SPAM. Más sobre hotmail.