En un artículo anterior hemos visto cómo crear un servidor de correo casero (o para una pequeña empresa) de forma muy sencilla. Pero hemos visto que parte de la problemática de montar un servidor de correo no es la instalación y configuración del mismo, sinó que también hay que estar lidiando de vez en cuando con listas negras y otros servidores que califican el tuyo como peligroso por diferentes motivos.
Ya, pero supongo que las listas negras están ahí para algo, no sólo para fastidiar la vida a los que quieran montar un servidor de correo.
Efectivamente Usuario Anónimo. Siendo justos, hay motivos que son completamente lógicos para que un servidor sea baneado de forma que se le impida enviar correos a otros servidores. Podría ser el caso de un servidor que esté enviando contínuamente correo basura a múltiples direcciones de e-mail. Creo que estaremos de acuerdo si te digo que a un servidor que sólo envía SPAM, o al menos que lo envía en un porcentaje o en unos números elevados, alguien debería pararle los pies (y que otros servidores lo baneen es una medida correcta).
Un poco más polémico es el hecho de que un servidor de correo alojado en una IP variable siempre esté baneado por defecto y que se le impida enviar correo a otros servidores únicamente por no disponer de una IP fija… pero al fin y al cabo si lo piensas puede tener hasta sentido (porque este tipo de líneas son líneas domésticas en las que no suele haber servidores de correo, por mucho que tú y yo los hayamos montado).
Pero la vida no siempre es justa, y entre esas injusticias está la política que aplica Microsoft con los servidores de correo de terceros (como el que hemos montado en el tutorial que hemos indicado antes). Microsoft, porque ella lo vale, en cuanto ve que estás enviando un poco de correo a sus servidores directamente te banea. Y ojo: que no digo un volumen grande ni enviar spam. No, no. Digo unos pocos correos legítimos al día. En cuanto detecta que tu ip se dedica a enviar correo, sin aviso previo te encontrarás con que un día todo el correo que estás enviando a cuentas en sus servidores no llega a su destino.
No es por llevarte la contraria, pero eso no es posible, así que no nos vengas con milongas. Si te bloquea microsoft debe ser por algo. O estás enviando spam o tu servidor de correo tiene algo mal configurado, pero no puede ser que una empresa con tanto renombre como Microsoft te bloquee así como así.
Ya me gustaría que eso fuera verdad, Usuario Anónimo, pero a veces la realidad nos da un puñetazo en la cara. Lo cierto es que si tienes un servidor con una configuración impoluta y que sólo envía correos legítimos, en cuanto Microsoft detecta que es un servidor nuevo que antes no le enviaba correos te banea directamente hasta que te inscribas en su web y le garantices que el tuyo es un servidor «limpio» y no eres un spammer. Y eso es una forma de actuar muy muy sucia por su parte.
Pues sí, porque a ver cómo les envío correos yo ahora a las cuentas de Microsoft.
No, no es ya sólo por eso (que también). De hecho ese es el menor de nuestros problemas, porque vamos a ver en este artículo que este tema tiene solución (veremos que debemos ponernos en contacto con Microsoft para que nos desbloquee). El verdadero problema es que esa forma de actuar es más de chantajistas que de una empresa seria. Imagínate que todos los servidores de correo hicieran lo mismo. En cuanto tuviera un servidor de correo nuevo y empezara a enviar correo a cuentas de internet, tendría que ponerme en contacto con Microsoft, Yahoo, Google, GMX, Apple, AOL y un largo etcétera… y por supuesto con todas las operadoras de internet de todos los países del mundo para solicitarles enviar correos a las cuentas que gestionan. Es de locos.
Me parece normal que si quieren puedan tener algún tipo de lista negra de forma que si un servidor empieza a enviarles SPAM, ellos lo metan en la lista y tengas que solicitar de alguna forma salir de ahí (Aunque deberían hacerlo con listas públicas como hacen el resto de servidores de internet para no tener que pelear con múltiples listas). Pero esta forma de proceder es sucia y mafiosa. Están intentando decir al pequeño cliente de algunos hostings «pásate a mis cuentas, que aquí no vas a tener problemas para enviar correos. Si otros no logran enviar correos a nuestras cuentas es su problema, porque tenemos todo bien configurado. Que revisen ellos sus sistemas. Nosotros aquí no recibimos spam», cuando en realidad esto no soluciona absolutamente nada el problema del spam y son ellos mismos los que causan el problema que impide que muchos servidores no puedan enviarles correos. Mira… a modo de ejemplo te voy a poner un mensaje reciente que tengo en la bandeja de entrada de una cuenta mía de Microsoft.
Sí… es claramente spam y lo gracioso es que para una máquina debería tener todas las papeletas posibles para ser puntuado como spam de forma automática, pero no ha sido así. Está enviado a múltiples destinatarios, no tiene asunto (eso es un motivo habitual para que un correo se marque como spam), tiene una dirección de correo en el cuerpo del mensaje, y me juego el tipo a que si me llegó a mi, le ha llegado a mucha más gente… pero ahí está, en mi bandeja de entrada de Outlook sin ser marcado como spam por Microsoft. De eso es lo que vale su política de baneo de servidores ajenos: para que sus clientes sigan recibiendo spam.
Ea, ea... venga, tómate una tilita anda, que hoy te veo muy exaltado.
Te voy a dar la razón por una vez. Ahora que he sacado todos los sapos y culebras por la boca, vamos a centrarnos en resolver este tema.
Empieza la fiesta: Detectamos que Microsoft ha bloqueado el envío de mails desde nuestra IP
Si alguno de vosotros tiene un servidor de correo, tras configurarlo y ponerlo en producción es factible que a algún usuario de vuestro servidor le llegara algún mensaje de este tipo después de enviar un correo a una cuenta alojada en los servidores de Microsoft:
This is the mail system at host box.correo.tudominio.com. I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. For further assistance, please send mail to postmaster. If you do so, please include this problem report. You can delete your own text from the attached returned message. The mail system unusuariodehotmail@hotmail.com: host hotmail-com.olc.protection.outlook.com[104.47.17.161] said: 550 5.7.1 Unfortunately, messages from [xxx.xxx.xxx.xxx] weren't sent. Please contact your Internet service provider since part of their network is on our block list (S3150). You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors. [VI1EUR05FT044.eop-eur05.prod.protection.outlook.com] (in reply to MAIL FROM command) Reporting-MTA: dns; correo.tudominio.com X-Postfix-Queue-ID: 8D3AB460001 X-Postfix-Sender: rfc822; usuariodetuservidor@correo.tudominio.com Arrival-Date: Mon, 19 Oct 2020 10:35:16 +0200 (CEST) Final-Recipient: rfc822; usuariodehotmail@hotmail.com Original-Recipient: rfc822;usuariodehotmail@hotmail.com Action: failed Status: 5.7.1 Remote-MTA: dns; hotmail-com.olc.protection.outlook.com Diagnostic-Code: smtp; 550 5.7.1 Unfortunately, messages from [xxx.xxx.xxx.xxx] weren't sent. Please contact your Internet service provider since part of their network is on our block list (S3150). You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors. [VI1EUR05FT044.eop-eur05.prod.protection.outlook.com]
Ni que decir tiene que el usuario final poco o nada puede hacer ante este mensaje. Lo mejor que puede hacer es reenviárselo al administrador de su servidor para que realice todo lo que se indica en este artículo, ya que habrá puntos que un simple usuario no pueda revisar.
Como podéis ver, en el correo se nos dice que el mail que se ha enviado a un usuario de «hotmail» no ha podido ser entregado. Se nos indica que parte de nuestra red está en su lista de remitentes bloqueados y… poco más. Nos invita a ir a algunas páginas web en las que si entramos se nos dicen vaguedades que poco pueden resolver, y además no se nos concreta en ningún momento el motivo de este baneo (que es lo mínimo que debería decirnos Microsoft, para saber qué es lo que está pasando). En condiciones normales un baneo de este tipo debería suceder por alguno de los siguientes motivos.
- Estás enviando spam desde la ip de tu servidor de correo.
- La dirección IP de tu servidor está en una lista negra de SPAM.
- Los usuarios están enviando correos sin autenticarse (los envían de forma insegura, por lo que cualquiera podría enviar correos con tu servidor).
- El dominio del correo está configurado de forma incorrecta (DNS).
- Estás enviando correos a cuentas que no existen (Sí… si se envían muchos correos así, eso puede conllevar un baneo)
- La dirección IP del servidor de correo nunca antes había sido usada para hospedar un servidor de correo, por lo que hasta pasado un tiempo muchos hostings no se fían.
- Y algo importante. Hace poco enviabas un número determinado de mensajes de correo y ahora envías muchos más (por el motivo que sea). Sí… eso también hace sospechar a Microsoft y puede conllevar que te ponga en la lista negra.
Esto todo es la teoría, pero la práctica es que simplemente «por existir», en algún momento microsoft va a banear tu dominio para enviar correos, te guste o no (He visto varios casos en los que no se cumplía ninguna de las circunstancias antes mencionadas). Lo triste de todo esto es que, a lo largo de todo el proceso que vamos a explicar, en ningún momento se nos va a indicar la causa del baneo, por lo que cualquier administrador que tenga que lidiar con este tema por primera vez va a estar dando palos de ciego todo el rato.
En fin… veamos qué es lo que tenemos que hacer.
1) Revisamos que realmente tengamos todo bien configurado.
Ya os voy a adelantar que es muy probable que todo esto no sea más que un órdago de Microsoft y no tengamos ningún problema en nuestro servidor de correo, pero no está de más revisar que tengamos todo correctamente configurado antes de decirle a Microsoft que todo está bien y luego encontrarnos con que sí teníamos un problema (y tener un baneo aún más gordo). Así que antes de hacer nada vamos a comprobar estos puntos:
Empecemos con lo más importante. Debemos comprobar que no estamos enviando spam. Hay que revisar que ningún ordenador de nuestra red tenga un virus y esté enviando spam desde la misma ip que usa el servidor, pero sin pasar por él (que el propio equipo del usuario actúe como servidor de correo saliente). También debemos comprobar si nuestro servidor de correo está enviando mails todo el rato por algún otro motivo (tal vez algún usuario esté realmente enviando spam voluntariamente o puede que algún hacker haya conseguido un usuario y contraseña de uno de nuestros correos y esté enviando correos en nuestro nombre).
Sí, vamos. Qué sencillo. ¿Y cómo demonios voy a saber yo si mi servidor de correo está enviando correos a medio mundo?
Pues muy sencillo. El programa que suele manejar las colas de correo en linux se llama «postfix» y gracias a ese programa podremos ver qué correos estamos enviando y recibiendo en este preciso momento. Para verlo, debemos teclear el siguiente comando en el terminal del servidor:
postqueue -p
Al ejecutar ese comando nos pueden pasar tres cosas.
Puede ser que en este momento nadie esté recibiendo ni enviando correo desde nuestro servidor. La salida en este caso será algo como ésto.
Puede ser que en este momento alguien esté recibiendo correo. Si ese es el caso, debería apareceros algo como esto.
Y por último, puede ser que nuestro servidor esté enviando correo, lo que mostraría algo similar a esto.
Esta última captura es la clave. En este caso vemos que nuestro servidor de correo está enviando un mail a otro servidor, pero que éste último tiene configuradas listas grises activadas, por lo que nuestro servidor está esperando un poco para intentar volver a enviar el correo (Ese correo estuvo en esa cola durante unos 10 minutos al tener listas grises activadas en el servidor de correo de destino). Por cierto, para el que esté perdido con el tema de listas grises, sabed que hablamos de ellas largo y tendido en el punto 1 de este artículo. ¿Cuándo tenemos que preocuparnos? Pues cuando hay un montón de correos en la cola de salida y no podemos identificar si son legítimos o no. Así de sencillo. Sería un claro síntoma de que alguien está usando nuestro servidor de correo para enviar spam.
¿Qué más debemos revisar? Pues que la configuración del dominio de nuestro correo sea tal cual nos exige el servidor de correo que hayamos instalado. Algunos servidores como mail-in-a-box nos dicen qué configuración precisan de forma muy detallada, con lo que es sencillo ir chequeando punto por punto que todo esté bien configurado.
En todo caso presta especial antención no sólo a que el dominio lleve a la dirección ip, sinó a que la dirección IP vincule también al dominio (lo que se llama «Reverse DNS«).
Otra cosa importante es revisar la configuración para asegurarte de que nadie puede enviar correo sin autenticación (usuario y contraseña) y/o sin cifrado. Si tus usuarios no se autentifican de forma segura al enviar e-mails, es probable que se enfade contigo algún servidor de correo, y créeme que no te conviene buscar enemigos con estos temas.
Y por supuesto, debemos revisar que no estamos en listas negras, así que tocará hacer una visita a mxtoolbox para ver si nuestro dominio ha sido marcado como spammer en alguna de ellas (eso sería un claro síntoma de que hay algún problema y que realmente sí que estamos enviando spam de alguna forma, por lo que deberemos averiguar cómo y por qué está sucediéndonos ésto).
2- Solicitamos a Microsoft que nos excluyan de su lista negra.
Una vez que está todo revisado, toca ponerte en contacto con Microsoft para pedirle muy amablemente que elimine tu IP de su lista negra (aunque por dentro estés pensando en ir a sus instalaciones en plan «día de furia»). ¿Cómo me pongo en contacto con ellos? Pues dirigiéndote a esta dirección:
https://support.microsoft.com/en-us/supportrequestform/8ad563e3-288e-2a61-8122-3ba03d6b8d75
Ahí tendrás que completar el formulario que se te indica. Por cierto… espero que te acuerdes de las clases de inglés, porque te va a tocar escribir en la lengua de Shakespeare. Os dejo un ejemplo de cómo podríais cubrir el formulario, pero recordad que cuando se os pida la IP, debéis poner la IP de vuestro servidor de correo, y en el campo en el que se os pide el mensaje de error, debéis pegar el correo que os vino de vuelta indicando el baneo.
¿Pero por qué me haces escribir esto en inglés, si en esta web Microsoft tiene el mismo formulario en castellano?
Pues porque todo suele ir mas rápido con la solicitud en inglés. Supongo que los automatismos que tratan estos correos (porque no nos engañemos, esto que vas a enviar no lo va a ver ningún ser humano real) funcionarán mejor cuando escribes en inglés.
Poco después de enviar nuestra solicitud debería llegarnos un correo similar a éste, confirmando que han recibido el formulario y están investigando nuestro caso (ya veremos luego que no es así).
3- Nos inscribimos en el Junk Mail Reporting Partner Program y el Smart Network Data Services de Microsoft.
Mientras le damos tiempo a Microsoft a revisar el formulario que hemos mandado (os adelanto que no van a revisar nada, pero bueno…) vamos a aprovechar el tiempo para inscribirnos en estos dos apartados de la web de Microsoft.
¿Pero qué me dices? Yo no quiero inscribirme en ningún lado. Sólo quiero que mis correos legítimos lleguen a su destinatario.
Lo sé Usuario Anónimo. Eso es lo que queremos todos. Pero Microsoft es así. Como se cree el rey del cotarro, hay que inscribirse en sus programas para minimizar la posibilidad de que nos sigan bloqueando en el futuro.
Pero si todos los grandes proveedores de correo hiceran lo mismo nos cansaríamos de inscribirnos en sus webs para...
¿Qué me vas a decir a mi? Es lo que hay e insisto: Nada de esto tiene sentido, pero es Microsoft y si quieres enviarles correos desde tu servidor hay que pasar por el aro.
En fin… el Junk Mail Reporting Partner Program se trata de un servicio que nos informa cuando uno de sus usuarios de correo electrónico marca un correo nuestro como spam. Supuestamente esto es para «ayudarnos» a identificar lo antes posible una cuenta que ha sido hackeada y que está enviando correo basura. En la práctica puede ser medianamente útil para para un pequeño hosting, pero deja de serlo cuando administras miles de cuentas (que seguro alguna de ellas acaba siendo vulnerable en algún momento). Personalmente creo que es descargar en un administrador de correo externo (en ti) la responsabilidad de Microsoft de filtrarle el correo basura a sus clientes.
El Smart Network Data Services se unió hace un tiempo al Junk Mail Reporting Partner Program, y se trata de un servicio que permite saber datos sobre el tráfico de correo electrónico que envía nuestro servidor a Microsoft. De nuevo un despropósito, porque en el caso de que eso me interesase, también me interesaría ese informe de los correos que envío a gmail, a yahoo… De nada me sirve saber lo que envío sólo a un dominio en concreto.
En fin… para ello debemos crearnos una cuenta de Microsoft desde https://login.live.com/ y luego entrar en esta página:
https://sendersupport.olc.protection.outlook.com/snds/index.aspx
Ahí debemos inscribirnos en el programa dando los datos de la dirección IP desde la que enviamos correos.
4- Recibimos un correo denegando la solicitud del formulario del punto 2.
Unas horas después de haber enviado el formulario del punto 2, debe llegarnos un correo indicando que no van a quitar nuestra IP de sus listas negras y que revisemos todo, porque algo tenemos mal. El correo es tal que así.
Espera... pero eso lo recibiremos si no hemos hecho bien algo ¿No es así? En el punto 1 ya hemos revisado que nuestro servidor está perfectamente configurado y no tenemos ningún problema. No deberían enviarnos nada de eso.
Pues aunque parezca extraño no es así. Ya te he dicho varias veces en el artículo que esta situación provocada por Microsoft es altamente esperpéntica, así que hayamos hecho lo que hayamos hecho vamos a recibir igualmente este correo indicando que nuestra IP no cumple con los requisitos, que necesitamos revisar qué es lo que tenemos mal, y lo más gracioso es que ¡¡No nos dan ningún dato acerca de lo que tenemos mal!! Esto ha llevado de cabeza a más de un administrador de sistemas. Microsoft me dice que tengo algo mal, pero no me dice qué es lo que está incorrecto. Si reviso en el Junk Mail Reporting Partner Program está todo correcto y nuestro servidor está bien configurado ¿Qué es lo que pasa?
Pues lo que pasa es que por sistema la primera solicitud se deniega. Siempre. Da igual lo que hagas, que se va a denegar igualmente. En el siguiente punto vamos a ver que podemos resolver esto de una forma sencilla.
5- Respondemos al correo que nos envía Microsoft.
Lo que debemos hacer ahora es responder directamente al correo que hemos recibido de Microsoft. Debemos indicar el máximo número de datos posibles de nuestra instalación del servidor de correo, de la ip, si es posible enviar capturas de pantalla de la configuración del servidor de correo y sobre todo mencionar que nos hemos inscrito en su programa de reporte de spam. Y por supuesto, responder en inglés. Os dejo una solicitud de ejemplo que en su día creé y que me ha servido para avanzar en este punto (por cierto, posiblemente le haya pegado alguna patada al diccionario de inglés, pero el tema es que al menos la persona que vaya a leer el correo nos entienda).
Hello. I have been investigating about the reasons for the crash but I see I have everything correctly configured. I have added myself to your Junk Mail Reporting Program and I also see that everything is correct there. The mail server that I have is mail-in-a-box, installed in a Ubuntu Linux 20.04. In the mail-in-a-box control panel I could see any report of incorrect configuration, but the panel tells me that everything is configured correctly (I'll send you a screenshot of what it shows to me). I know that we are almost not sending emails (the volume of mail sent is very low) and the possibility that someone could be sending spam using our ip or our mail server is practically null (We have a firewall on our server and all users who can send emails from this domain use webmail). If you can specify the causes of the block, I would appreciate it, because right now I don't know what else I could review. I hope some answer from you. Thanks and best regards.
Y a partir de aquí, de nuevo toca esperar respuesta a este correo.
6- Luz al final del tunel. Nos han desbaneado.
Después de un tiempo de espera (que entre pitos y flautas todo el tema pudo haberse demorado varios días sin poder enviar correos a cuentas de Microsoft), debería llegarnos un correo aparentemente menos impersonal que el resto que hemos recibido de Microsoft, dónde se nos indica que efectivamente no somos spammers y que a partir de ese momento vamos a poder volver a enviar mails a Microsoft a través de nuestro servidor. El correo es de este tipo.
Una vez recibido este correo, debemos esperar un tiempo máximo de 2 días y a partir de ahí ya deberíamos poder enviar correos a cuentas de Microsoft.
¡Qué bien! ¡Muchas gracias, amigos de Microsoft! Ha sido un procedimiento sencillo y completamente lógico.
¿Verdad que sí? Si es que Microsoft siempre vela por ponernos las cosas fáciles.
En todo caso tened en cuenta algo muy importante: Que os hayan desbloqueado ahora no quiere decir que no os vuelvan a bloquear en el futuro por motivos injustificados. Si por ejemplo vuestra empresa crece, y os ponéis a enviar diariamente un mayor número de correos electrónicos hacia usuarios de Microsoft, es factible que volváis a tener el mismo problema de nuevo y tengáis que repetir el procedimiento. Microsoft es así, qué le vamos a hacer.
Y vosotros ¿Habeis tenido este problema alguna vez? ¿Lo habéis resuelto de alguna otra forma? Dejadnos vuestras experiencias en los comentarios para que todos podamos aprender unos de otros.
Muchisimas gracias! seguí tu guia porque tenía el mismo problema, y me me lo solucionaron! Gracias por compartirlo!
He usado este artículo un par de veces para dos vps y me ha funcionado fenomenal, de hecho he recomendado tanto este artículo en concreto como la web en general… dicho esto M$ ha cambiado el formulario de soporte y ahora cuando lo rellenas y lo envías se carga exactamente igual y ni da error ni dice ni mu… así que no sé si se envía o no… A mí, 48 horas más tarde nadie me contesta