Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Devolución de errores por MAILER-DAEMON

Última Actualización: 17 de Diciembre de 1.998 - Jueves

Este documento proporciona una modificación a aplicar al Sendmail para que los mensajes devueltos sólo incluyan la cabecera, no el cuerpo del mensaje. Ello es especialmente importante cuando se utiliza el correo para el intercambio de ficheros, ya que un "Bounce" (o una serie de ellos) puede, por una parte, desbordar el buzón y, por otra, suponer un incordio para el remitente a la hora de leer su propio buzón. Y no digamos para el Postmaster, si el remitente no existe o escribió su dirección electrónica mal.

La siguiente modificación es mía, aunque está inspirada en el parche que se incluye al final del documento. Permite que el cuerpo del mensaje sea incluido en el error si no supera un tamaño determinado (en el parche se ha puesto 5Kbytes). Esta modificación afecta tanto al remitente como al postmaster si el remitente no existe. El parche está aplicado al Sendmail 8.9.1a:

--- conf.c.old  Wed Dec 16 14:12:56 1998
+++ conf.c      Wed Dec 16 13:51:46 1998
@@ -1069,6 +1069,13 @@
        register ADDRESS *to;
        register ENVELOPE *e;
 {
+
+/*
+** Si el mensaje es largo, no devuelve el cuerpo si hay un error
+** jcea@argo.es - 16/Dic/98
+*/
+       if(e->e_msgsize>5120) e->e_flags |= EF_NO_BODY_RETN;
+
 # ifdef lint
        if (to == NULL)
                to++;


La siguiente modificación no es mía y, en general, es menos recomendable. Se incluye con fines históricos. Se ha solicitado permiso al autor original (Francisco Javier Crespo, director técnico de Acceso Cero Internet) para ponerla online. El mensaje original se envió a la lista de proveedores en Abril de 1.998, y se refiere a la versión 8.8.8 del Sendmail:

Francisco Javier Crespo escribe:

Tenia miedo, si no panico, en ponerme a mirar las fuentes. Pero despues de echarle un vistazo, son mucho mas coherentes que el fichero sendmail.cf y en pocas horas consegui lo que queria. Sin embargo, lo que he modificado ha sido el archivo savemail.c, forzando la variable booleana 'sendbody' a FALSE en la funcion errbody().

Como puede que haya mucha gente que este interesada en eliminar el cuerpo del mensaje original en los mensajes de error, dejando todas las cabeceras MIME intactas, a continuacion os mando el parche que he generado:

---------------------------------------------------------------------------
*** savemail.bak        Mon Apr 20 17:35:41 1998
--- savemail.c  Tue Apr 21 16:46:17 1998
***************
*** 1120,1127 ****
        putline("", mci);
        if (bitset(EF_HAS_DF, e->e_parent->e_flags))
        {
!               sendbody = !bitset(EF_NO_BODY_RETN, e->e_parent->e_flags) &&
!                          !bitset(EF_NO_BODY_RETN, e->e_flags);
  
                if (e->e_msgboundary == NULL)
                {
--- 1120,1126 ----
        putline("", mci);
        if (bitset(EF_HAS_DF, e->e_parent->e_flags))
        {
!               sendbody = 0;
  
                if (e->e_msgboundary == NULL)
                {
------------------------------------------------------------------------------

Saludos,

Francisco Javier Crespo
Director Tecnico
Acceso Cero Internet



Python Zope ©1998 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS