Buscar


imprimir pdf Español

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.