2008-03-23

Home server + SMTP + Gmail = pain!

Si tienes un servidor personal (o no tanto) en tu casa con una IP fija, y en él tienes hospedado un dominio, y desde dicho servidor gestionas el correo para ese dominio con tu propio servicio SMTP, es probable que al enviar correo a cuentas de Gmail te encuentres con el envío rechazado con el siguiente mensaje de error:
<cacho.perro@gmail.com>: host gmail-smtp-in.l.google.com[66.249.91.27] said:
550-5.7.1 [tu.puta.direccion.ip] The IP you're using to send email is not authorized
550-5.7.1 to send email directly to our servers. Please use
550 5.7.1 the SMTP relay at your service provider instead.
8645ds43h851ika.3 (in reply to end of DATA command)

Bien (o no tanto). Si buscas por el internete proceloso casos similares, los encontrarás. Algunos hablan de que se debe a no tener resolución inversa de DNS (caso en el que se encuentran todos los pobres desgraciados que han contratado el ADSL residencial de Ya.com, que hay que ser gilipollas), o a tener una resolución inversa "genérica" (es decir, que no concuerda con el nombre del dominio desde el cual intentas enviar el email en cuestión, caso en el que se encuentran todas las IPs de residencial, tanto dinámicas como fijas, del resto de proveedores de acceso al internete). De lo anterior se deriva la conclusión de que para enviar correo a Gmail, tendrías dos opciones:
  1. Usar el servidor de correo SMTP de tu proveedor de acceso, como "smarthost".

  2. Llevar tu dominio a un hospedaje "profesional", que no resida en un "pool" de IPs "residenciales", y dejar de usar tu servidor personal para los envíos de correo.

Sin embargo, como resulta que el mensaje de error que escupe Gmail al rechazar el correo, no es causado por la resolución inversa (cutre o inexistente) del DNS, sino por el hecho mismo de ser el envío realizado desde una IP de "residencial", hay otra solución: hacer una excepción para nuestra IP residencial en la base de datos que Gmail consulta para determinarlo.

Efectivamente, resulta que Gmail usa el servicio "Spamhaus Policy Block List" (Spamhaus PBL), y que es posible acudir al mismo y dar de alta nuestra IP como excepción. El servicio Spamhaus PBL es una base de datos basada en DNS (un DNS inverso paralelo al oficial, gestionado privadamente por el propio Spamhaus), donde, si "estás", lo tienes jodido al enviar a cualquier dominio cuyo servicio SMTP consulte la Spamhaus PBL, como es el caso de Gmail (y probablemente otros servicios "grandes" de correo electrónico).

Efectivamente, si vamos a http://www.spamhaus.org/pbl/index.lasso veremos un apartado llamado "Remove IP". Ahí es donde podemos dar de baja nuestra IP de la base de datos PBL de Spamhaus. Hecho lo cual, y pasadas unas 24 horas para que la actualización se propague por el mundo mundial, Gmail volverá a aceptar el correo enviado desde nuestro servidor personal.

Ahora bien, si tienes una IP dinámica, pues estás jodido y tendrás que acudir a una de las soluciones de los puntos (1) y (2).

Hala, espero que os sirva.