31 de Octubre, 2006

Gmail lo ha conseguido: smarthost

Por fin me ha desquiciado :S.

Mailman
Entrega de correo en peligro

Ya comenté que están jugando con medidas antispam y que eso me está perjudicando (porque lo hacen mal, claro), y es desesperante mandar correos y que te reboten.

Desde hace tiempo empleo ssh para conectar a mi servidor y desde ahí utilizar mail(1) para leer y enviar mensajes de correo electrónico cuando estoy fuera mi máquina habitual.

Vale, estoy de acuerdo con que mail no es el MUA definitivo ni para consola (Mail User Agent, lo que vamos entendiendo por cliente de correo: se usa para componer mensajes, leerlos, etc; más sobre esto en una explicación del correo electrónico), pero a mi me va muy bien y teniendo un MTA en casa bien configurado (Mail Transport Agent, que es el que finalmente lleva el correo de un sitio a otro; la cosa no queda aquí, sigua leyendo :P), ¿para qué más?

Pues bien, como a los señores administradores de Gmail les ha dado otra vez porque estoy enviando spam desde mi dirección IP, como ya comenté hace unas semanas, y da la casualidad que envío correos a varias personas con sus cuentas en ese servicio gratuito, pues se me han hinchado las narices: la solución es emplear un smarthost que entregue el correo en nuestro lugar.

De mi ISP no quiero acordarme, porque ONO está en más listas negras que cierto ex-dirigente de Nigeria que quiere hacerte rico, así que me he centrado en usebox.net, que para eso lo pago.

Con sendmail es trivial la configuración para que el correo se entregue en otro SMTP, el de usebox.net en este caso, y que ese servidor, que sí tiene buen rollo con gmail, haga la entrega donde toque. Trivial hasta que te das con que el SMTP en cuestión no hace relay (entrega remota de tu parte) de ningún correo si no nos autentificamos con usuario y contraseña. Me parece una medida acertada por su parte, aunque eso no lo podemos conseguir con sendmail :(.

Con las mismas me he puesto a buscar un MSA (el que faltaba en la familia: Mail Submission Agent, o el encargado de pasar el mensaje a un MTA; en su descargo decir que suele ser el mismo programa que el MUA :P). La idea es que me permita usar algún sistema de autentificación por usuario y contraseña de los soportados por usebox.net, y que así me deje hacer relay.

El elegido ha sido msmtp, muy sencillo de configurar y, por ahora :P, efectivo. Incluso tiene un interfaz equivalente al que proporciona sendmail vía linea de comandos, así que mi querido mail funciona perfectamente con él ;).

Mi configuración es sencilla (ojo: chmod 0600, no sea que alguien que no debe lea contraseñas), en $HOME/.msmtprc:

defaults
logfile ~/.msmtp.log

account usebox
host smtp.usebox.net
from usuariolocal@blackshell.usebox.net
auth cram-md5
user usuario
password pablitoclavounclavito

account default : usebox

Además hay que indicar en $HOME/.mailrc que tenemos un nuevo sendmail:

set sendmail="/usr/local/bin/msmtp"

Con esto nuestro mail empleará msmtp como si fuera el auténtico sendmail, y nostros tendremos las ventajas que nos aporta este MSA especializado ;).

La único que hay que tener en cuenta es que hemos definido solo nuestro relay autorizado y eso tiene pegas para entregas a usuarios locales.

¿Por qué? Porque no tiene mucho sentido mandar a usebox.net un correo que tendrá que entregarse en este mismo servidor (además para los usuarios locales en entrega local no añado el dominio, uno que es así :D), con lo que tendremos que recordar ese viaje extra si queremos mandar correos a usuarios locales: hay que indicar siempre el dominio (usuariolocal no significa nada para usebox.net, pero usuariolocal@blackshell.usebox.net sí).

Se pueden definir otras cuentas, pero no hay forma de elegir entre una y otra desde mail :(.

Notar que toda esta implementación de un smarthost solo afecta a los MUA que configuremos para trabajar con msmtp (mail en mi caso), el resto del sistema no se verá afectado en absoluto.

Ha sido interesante, así que dejo para otro día el análisis más profundo de lo que está pasando con gmail >:(.

Anotación por Juan J. Martínez, clasificada en: hacks, unix.

Hay 2 comentarios

Gravatar

Pues me parece bien tu solucion, puedes aprovechar a usebox.net es decir, si ellos tienen AVAS (anti Vuris y Anti Spam)... Así sacas provecho de que ellos te hagan relay...

por un visitante, en 2006-11-09 17:26:46

Gravatar

Resulta que en casa tengo un concentrador de correo (fetchmail -> bogom -> bogofilter) y la mayoría de la basura que recibo se ha entregado en usebox.net. Osea: de mi ISP no puedo esperar nada.

Bueno, nada sin pagar extra, y considero que ya les pago bastante por la *^#%$@! de hospedaje que me dan :(

Así que me conformo con que gmail accepte sus correos, con la pega de que tardan más en llegar. Si mi ISP no me diera IP dinámica, otro gallo cantaría...

por Juanjo, en 2006-11-09 18:25:27

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: