Article ID: 6763, created on Dec 3, 2009, last review on Dec 12, 2014

  • Applies to:
  • Plesk for Linux/Unix

Síntomas

Este problema se experimenta en el caso de mensajes enviados desde Hotmail a Qmail.

En el archivo /usr/local/psa/var/log/maillog puede verse lo siguiente:

Oct  1 14:50:15 hostname qmail-queue[20210]: possible qmail-smtpd exited by timeout, reset connection or with "See http://pobox.com/~djb/docs/smtplf.html."

Causa

Algunos de los servidores de Hotmail envían mensajes con un carácter LF (avance de línea) vacío al final de la línea. Qmail rechaza estos mensajes, ya que este espera CRLF al final de la línea (retorno de carro + avance de línea).

Resolución

  1. Descargue y compile los orígenes ucspi-tcp:

    http://cr.yp.to/ucspi-tcp/install.html

    Por omisión, fixcrio se compila sin soporte para TLS. Para activar el soporte para TLS, se recomienda volver a compilar fixcrio con el parche de TLS. Adjunto a este artículo encontrará fixcrio.c con el parche de TLS ya aplicado. Use este archivo adjunto en vez del fixcrio.c que tiene ahora.

    NOTA: preste especial atención al hecho de que SMTPS (SMTP/SSL) no funcionará con esta librería. Cuando intente utilizar una conexión SSL obtendrá el siguiente error:

    Starting SMTP/SSL...
    SSL/TLS: SSL connect attempt failed with unknown errorerror:1407741A:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert decode error
    

    Para más información, visite http://iain.cx/ssl/?qmailtls.

  2. Si no puede completar la compilación debido al error "undefined reference to 'errno'", añada "#include " a error.h tal y como se describe en:

    http://mail.nl.linux.org/kernelnewbies/2004-02/msg00210.html

    Donde se indica:

    [root@localhost ucspi-tcp-0.88]# grep -A 1 "extern int errno" *
    error.h:extern int errno;
    error.h-#include <errno.h>
    
  3. Copie el ejecutable fixcrio compilado a /var/qmail/bin/ y chown/chmod como otros ejecutables:

    # chown root:qmail /var/qmail/bin/fixcrio
    # chmod 555 /var/qmail/bin/fixcrio
    # ls -l /var/qmail/bin/fixcrio
    -r-xr-xr-x 1 root qmail 13388 Oct 1 16:36 /var/qmail/bin/fixcrio
    
  4. Añada /var/qmail/bin/fixcrio a /etc/xinetd.d/smtp_psa justo antes de /var/qmail/bin/qmail-smtpd.

    Si usa el servicio de envío de correo, probablemente también deseará añadirlo a /etc/xinetd.d/submission_psa.

    A continuación le mostramos un ejemplo:

    /etc/xinetd.d/smtp_psa
    --------
    server_args = -Rt0 /var/qmail/bin/relaylock /var/qmail/bin/fixcrio /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
    --------
    
  5. Reinicie el daemon de xinetd:

    # /etc/init.d/xinetd restart
    

Attachments

a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 56797cefb1efc9130f7c48a7d1db0f0c

Email subscription for changes to this article
Save as PDF