La cola de Qmail está bloqueada
Introducción
Como darse cuenta
- Los correos están bloqueados.
- Ciertos servicios no se reinician (ejemplo: Apache).
- La partición raíz está demasiado llena.
Consecuencias
- Partición del sistema completa (cf.
SlashFull)
- La cola de los correos está totalmente llena y Qmail no llega a tratarla.
Posibles causas y solulciones
- Ha gestionado mal el fichero "/etc/tcp.smtp" y su servidor ha sido utilizado por un spammer.
- Hay demasiados mails en la cola y no llegan a tratarse, deberá reiniciar la cola.
1. Spammer
En el primer caso, debe mirar la cuenta que ha sido utilizada por el spammer e impedir el acceso.
Si es posible, elimine los correos enviados por el spammer.
2. Reiniciar la cola
En el segundo caso, la cola ha sido bloqueada o bien ha recibido demasiadas entradas que el servidor no ha conseguido procesar.
Si es un caso puntual, basta con reiniciar la cola. Si pasa a menudo, deberá considerar pasarse a un servidor superior.
Esta guía le explicará cómo realizar la limpieza de la cola de entrega de emails, paso a paso.
Reiniciar la cola
/!\ ATENCIÓN
Esta intervención es sumamente delicada y puede producir que su servidor de correo no Funcione.
En caso de duda, solicite una infogerencia de nuestros técnicos.
Primero nos conectamos en SSH y comprobamos el estado de la cola :
# tail -f /var/log/qmail/current
@400000003f883c8c05961f54 alert: unable to append to bounce message; HELP! sleeping...
@400000003f883c96062e9a7c alert: unable to append to bounce message; HELP! sleeping...
@400000003f883ca006c73cb4 alert: unable to append to bounce message; HELP! sleeping...
# /var/qmail/bin/qmail-qstat
messages in queue: 12001
messages in queue but not yet preprocessed: 117
# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda1 2016016 1913988 0 100% /
/dev/hda2 36977736 8967660 26131676 26% /home
none 257272 0 257272 0% /dev/shm
Hay 12 mil mensajes en la cola. Luego hace falta borrar el directorio y reiniciar desde el principio.
Paramos Qmail antes:
# /etc/init.d/qmail stop
stopping qmail [ OK ]
# cd /var/qmail/
# ls -l
total 32
drwxr-sr-x 2 alias qmail 4096 jui 16 20:25 alias
drwxr-xr-x 2 root qmail 4096 jui 16 20:25 bin
drwxr-xr-x 2 root qmail 4096 jui 16 20:25 boot
drwxr-xr-x 2 root qmail 4096 oct 11 00:39 control
drwxr-xr-x 3 root qmail 4096 jui 16 20:25 doc
drwxr-xr-x 10 root qmail 4096 jui 16 20:25 man
drwxr-xr-x 11 qmailq qmail 4096 jui 16 20:25 queue
drwxr-xr-x 2 root qmail 4096 oct 11 00:39 users
# rm -rf queue
# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda1 2016016 834556 1079048 44% /
/dev/hda2 36977736 8967664 26131672 26% /home
none 257272 0 257272 0% /dev/shm
Tomamos aire...
Para rehacer la cola podemos usar uno de estos programas:
En nuestro ejemplo utilizaremos
queue-repair.
Descomprimimos el programa:
[nsxxxx root]# mkdir /temp
[nsxxxx root]# cd /temp/
[nsxxxx temp]# wget http://pyropus.ca/software/queue-repair/queue-repair-0.9.0.tar.gz
--17:30:54-- http://pyropus.ca/software/queue-repair/queue-repair-0.9.0.tar.gz
=> `queue-repair-0.9.0.tar.gz'
Resolviendo pyropus.ca... 70.64.38.253
Connecting to pyropus.ca|70.64.38.253|:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 13,913 (14K) [application/x-tar]
100%[====================================>] 13,913 28.28K/s
17:30:55 (28.20 KB/s) - `queue-repair-0.9.0.tar.gz' saved [13913/13913]
[root@nsxxxx temp]# tar xfz queue-repair-0.9.0.tar.gz
[root@nsxxxx temp]# cd queue-repair-0.9.0
[root@nsxxxx queue-repair-0.9.0]#
Antes de nada probamos la configuración en el directorio actual, para recrear una cola de emails ficticia, sin peligro alguno:
[nsxxxx queue-repair-0.9.0]# ./queue_repair.py -c -s 23 --no-bigtodo .
Si todo sucede correctamente, podemos verificar que la cola ha sido bien reiniciada :
[root@nsxxxx queue-repair-0.9.0]# ls -l queue
total 36
drwx------ 2 qmails qmail 4096 mar 25 17:39 bounce
drwx------ 25 qmails qmail 4096 mar 25 17:39 info
drwx------ 2 qmailq qmail 4096 mar 25 17:39 intd
drwx------ 25 qmails qmail 4096 mar 25 17:39 local
drwxr-x--- 2 qmailq qmail 4096 mar 25 17:39 lock
drwxr-x--- 25 qmailq qmail 4096 mar 25 17:39 mess
drwx------ 2 qmailq qmail 4096 mar 25 17:39 pid
drwx------ 25 qmails qmail 4096 mar 25 17:39 remote
drwxr-x--- 2 qmailq qmail 4096 mar 25 17:39 todo
Pasamos a cosas más serias.
Ahora utilizaremos el mismo procedimiento para recrear la cola del servidor de correo y verificar que todo está correcto :
[nsxxxx queue-repair-0.9.0]# ./queue_repair.py -c -s 23 --no-bigtodo /var/qmail
[nsxxxx queue-repair-0.9.0]# ls -l /var/qmail/
El proceso puede llevar varios minutos.
Ahora no queda más que reiniciar Qmail (sin olvidar volver a raíz
/ antes de reiniciar)
# cd /
# /etc/init.d/qmail start
Starting: qmail pop smtp
Podemos probar la configuración :
# echo test | mail test@mi_dominio.com
# tail -f /var/log/qmail/current
@400000003f883ce426b52c0c alert: unable to append to bounce message; HELP! sleeping...
@400000003f8840a31f2624dc alert: cannot start: unable to switch to queue directory
@400000003f88425517b081ac status: local 0/10 remote 0/20
@400000003f88426f0748a59c new msg 100179
@400000003f88426f074b1e6c info msg 100179: bytes 207 from <root@nsxxx.ovh.net> qp 15605 uid 0
@400000003f88426f097eb3c4 starting delivery 1: msg 100179 to remote test@mi_dominio.com
@400000003f88426f0980da8c status: local 0/10 remote 1/20
@400000003f88426f1a6fd85c delivery 1: success: 213.186.33.73_accepted_message./Remote_host_said:_250_ok_1065894524_qp_30276/
@400000003f88426f1a7717d4 status: local 0/10 remote 0/20
@400000003f88426f1a7c4fc4 end msg 100179
Visiblemente todo ha vuelto a la normalidad
Más información
:
EmailProblemasYSoluciones :: Los problemas que se pueden tener con un servidor de email y como encontrar una solución.
:
QmailAdmin :: La gestión de los emails con qmailadmin.
:
InstallQmailAntiSpam :: el filtrado por blacklist con Spam-RLB.com.