[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cómo montar servidor de correo



EMILIGENE@telefonica.net wrote:

Un poco largo, pero ahí va:
# qmailctl stat
/service/qmail-send: up (pid 2353) 101 seconds
/service/qmail-send/log: up (pid 2358) 101 seconds
/service/qmail-smtpd: up (pid 3208) 1 seconds


¡Oooops!, aquí hay un problema. El servicio SMTP no está funcionando.

...

# netstat -ta
tcp        0      0 localhost:32768         *:*                     LISTEN
tcp        0      0 *:pop3                  *:*                     LISTEN
tcp        0      0 *:sunrpc                *:*                     LISTEN
tcp        0      0 *:http                  *:*                     LISTEN
tcp        0      0 *:10000                 *:*                     LISTEN
tcp        0      0 *:x11                   *:*                     LISTEN
tcp        0      0 *:ipp                   *:*                     LISTEN
tcp        0      0 *:telnet                *:*                     LISTEN


Efectivamente, no hay nadie escuchando en el puerto de SMTP (25).

Según la información que me pasas, aparte del problema con el POP3, tu servicio SMTP no está funcionando. Esto implica que tu servidor no puede recibir correos del exterior (de otros servidores o de usuarios conectados mediante un MUA[1]). Los mensajes enviados localmente dentro de la máquina funcionan perfectamente ya que no pasan por el servicio SMTP.

# cat /service/qmail-pop3d/run
#!/bin/sh
exec /usr/local/bin/softlimit -m 2000000 \
   /usr/local/bin/tcpserver -v -R -H -l 0 0 110
/var/qmail/bin/qmail-popup \
       emiligene.net /bin/checkpassword /var/qmail/bin/qmail-pop3d
Maildir 2>&1


Parece normal, entiendo que la línea que empieza por "/usr/local/bin" y la siguiente están en una misma línea en el fichero original (o la primera termina en un backslash). Lo mismo para la que empieza por "emiligene.net" y la siguiente.

Respecto a este fichero solo sugerirte que compruebes que los programas softlimit, tcpserver y checkpassword están donde dices que están (te lo digo por que en mi caso, Debian Woody, están todos en /usr/bin y no en /usr/local/bin).

# cat /service/qmail-pop3d/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t \
   /var/log/qmail/pop3d


También tiene buena pinta. Te digo la misma obviedad, comprueba que setuidgid y multilog están en /usr/local/bin tal y como especifica el script.

# cat /var/log/qmail/pop3d/current | tai64nlocal
2004-08-12 02:51:03.343408500 tcpserver: status: 0/40
2004-08-12 16:00:58.185989500 tcpserver: status: 0/40


Nada raro, aparte de que no hay ni un solo intento de conexión.

Otra cosa (rara, porque hasta ahora no me había ocurrido): el archivo
/var/log/qmail/smtpd/current
contiene esta línea, repetida cientos de veces (aunque puedo enviar y
recibir correo normalmente):
@40000000411b833828fbe3d4 QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is
unset in
@40000000411b83382907bb14 /var/qmail/supervise/qmail-smtpd/run


Esta es la explicación a porqué tu servicio SMTP no se está ejecutando. Tienes que solventar este problema antes de continuar. Cuando dices "puedo enviar y recibir correo normalmente" a qué te refieres. Es evidente que no puedes enviar correo via SMTP (el servidor SMTP no se está ejecutando). Si te estudias la "qmail big picture" [2] entenderás cuál es la función de cada uno de los componentes de un sistema qmail (por ejemplo, entenderás porqué el SMTP no se utiliza cuando se entrega correo local al host).

PD: Antes de escribir a la lista, estuve buscando en Google el error,
pero no encontré ninguna pista que me funcionase: apliqué algunas
(modificar /etc/login.defs por ejemplo, para cambiar la variable de
QMAIL_DIR, además de descomentarla)


Bien hecho (por lo de buscar en Google)  ;-)

Respecto a la variable QMAIL_DIR, ¿qué pinta en este fregado?. Las variables que tienes que comprobar que estén correctamente definidas son las que te aparecen en el mensaje de error: QMAILDUID, NOFILESGID, MAXSMTPD y LOCAL.

Todo apunta a que tu problema está en el fichero /service/qmail-smtpd/run (tal y como explicitamente te dice en el informe de error recogido en el log). Como orientación te adjunto el mio, aunque ya te adelanto que está sacado de "Life with qmail".

---8<------8<------8<------8<------8<------8<------8<------8<---
www:~# cat /service/qmail-smtpd/run
#!/bin/sh

QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`

if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
 echo QMAILUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
 echo /var/qmail/supervise/qmail-smtpd/run
 exit 1
fi
if [ ! -f /var/qmail/control/rcpthosts ]; then
 echo "No /var/qmail/control/rcpthosts!"
 echo "Refusing to start SMTP listener because it'll create an open relay"
 exit 1
fi
exec /usr/bin/softlimit -m 5000000 \
/usr/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
      -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \
    /usr/bin/rblsmtpd \
      -r cbl.abuseat.org \
      -r sbl-xbl.spamhaus.org \
      -r dul.dnsbl.sorbs.net \
      -r smtp.dnsbl.sorbs.net \
      -r spam.dnsbl.sorbs.net \
      -r nomail.rhsbl.sorbs.net \
    /var/qmail/bin/qmail-smtpd 2>&1
---8<------8<------8<------8<------8<------8<------8<------8<---

Muchas gracias por tu paciencia.


Me has pillado en un día bueno ;-)

--
Jorge Tomé Hernando
http://www.JorgeTome.info
Linux Registered User #362778

[1] MUA. Mail User Agent, es decir, los programillas (Netscape mail, MS Outlook, etc. que los usuarios utilizan para enviar/recibir correo).
[2] http://www.nrg4u.com/




Reply to: