Programador PHP freelance

Eliminar el correo spam de la cola del mail (Parte IV)

En el post anterior analizábamos los logs del servicio de mail buscando comprobar los orígenes del spam. En este punto ya hemos tomado medidas y ahora sólo nos queda eliminar el spam residual que aún tenemos en la cola de mensajes.

Recordemos que el puerto 25 ha sido bloqueado por mi proveedor de hosting a modo preventivo hasta que se solucione el problema del spam.

A meterse en harina, pues!!!

Como ya hemos comentado en el primer post, para visualizar la cola utilizamos el script de John Simpson que sustituye al qmail-qread. Para eliminar los correosno deseados de la misma utilizamos qmail-remove.

Listando los emails pendientes vemos que el spam aparece siempre marcado como bouncing. Vamos a utilizar esa peculiaridad para filtrar los emails y por tanto eliminarlos. Esto nos elimina una buena parte del spam.

for i in `./qmail-qread | grep bouncing | awk {‘print $8’}` ; do qmail-remove -p $i -r; done

Volviendo a listar podemos ver el patrón que nos ofrece el spam.

6 Feb 2015 03:23:38 GMT #23080123 2139 <mr.noscovmail@yahoo.com>
remote takhigbe@yahoo.com
remote ayensltd@yahoo.com
remote tca08@yahoo.com
remote rckyrsd@yahoo.com
remote richards.nikky@yahoo.com
remote peacebab2001@yahoo.com
remote escalehotel@yahoo.com
6 Feb 2015 03:23:43 GMT #23080131 2138 <mr.noscovmail@yahoo.com>
remote jennyferakin@yahoo.com
remote virene99@yahoo.com
remote pjajajmma@yahoo.com
remote umarkawu@yahoo.com
remote bellsrecruitment@yahoo.com

Aislamos los emails cuyo from es de @yahoo.com con este comando:

for i in `./qmail-qread | grep ‘yahoo.com’ | grep ‘Feb’ | awk {‘print $8’}` ; do qmail-remove -p $i -r; done

Volvemos a listar la cola de correos y parece que la cosa está bastante limpia. Ahora tocaría esperar unas horas para asegurarse de que no entra spam nuevo. Hay que recordar que en anteriores pasos cambiamos las contraseñas de las cuentas de correo del dominio comprometido, en previsión de que este fuera el origen del problema. Si esto se confirma, no entrará nuevo spam en las siguientes horas, validando así nuestra presunción.

Una vez estemos totalmente seguros de que tenemos la situación bajo control, sólo nos queda pedir al proveedor de hostings que desbloquee el tráfico SMTP del puerto 25.

Ale, una velita a algún santo 😉

PD. La cola irá liberando los emails poco a poco según su política de reintento de envíos. No obstante si queréis forzar el proceso probad a lanzar esto. No es inmediato pero acelerará un poco el tema.

kill -ALRM `ps ax | grep [q]mail-send | awk '{print $1}'`