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

Prioridades y Envíos Diferidos de Email

Última Actualización: 21 de Junio de 1.999 - Lunes

Este parche envía los mensajes largos o a numerosos destinatarios por las noches, a menos que el usuario haya indicado que su prioridad es elevada. Asimismo, si el usuario indica que un mensaje tiene muy baja prioridad, lo envía por la noche también.

Si el mensaje está siendo seleccionado con un "sendmail -q" manualmente por el operador del sistema, sale de forma inmediata.

Se puede encontrar más información sobre este tema en dos boletines enviados a los usuarios de Argo:

Existe una ampliación y mejora de este parche en Prioridades y Envíos Diferidos de Email (II).

Se incluye el "diff" a continuación:

*** deliver.c.old       Tue May 18 17:57:30 1999
--- deliver.c   Thu Jun 17 13:34:58 1999
***************
*** 52,57 ****
--- 52,60 ----
        ENVELOPE *e;
        int mode;
  {
+ unsigned long tamanho_por_receptores;
+ HDR *cabecera;
+ 
        register ADDRESS *q;
        char *owner;
        int otherowners;
***************
*** 62,67 ****
--- 65,117 ----
        pid_t pid;
        void sendenvelope __P((ENVELOPE *, int));
  
+ 
+ /*
+ ** jcea@argo.es - 18/May/99
+ **
+ ** Manda los mensajes largos por la noche
+ */
+       char hora[20];
+       time_t tiempo;
+ 
+         tamanho_por_receptores=0;
+         tiempo=time(NULL);
+         cftime(hora,"%H",&tiempo);
+         if(((strcmp(hora,"02")<0) || (strcmp(hora,"07")>0)) &&
+         (QueueLimitRecipient==NULL) &&
+         (QueueLimitSender==NULL) &&
+         (QueueLimitId==NULL)) {
+           for (q = e->e_sendqueue; q != NULL; q = q->q_next) {
+             if(!bitnset(M_LOCALMAILER,q->q_mailer->m_flags)) {
+               tamanho_por_receptores+=e->e_msgsize;
+             }
+         }
+ /*
+ ** jcea@argo.es - 17/Jun/99
+ **
+ ** Si el mensaje es de baja prioridad, lo manda de noche.
+ */
+           for(cabecera = e->e_header; cabecera != NULL; cabecera = cabecera->h_link) {
+             /* Si tiene prioridad CINCO, lo larga de noche */
+             if(strcasecmp(cabecera->h_field,"x-priority")==0) {
+               if(atoi(cabecera->h_value)==5) tamanho_por_receptores+=2000000;
+             }
+           }
+         }
+ 
+ /*
+ ** jcea@argo.es - 17/Jun/99
+ **
+ ** Si el mensaje tiene alta prioridad, lo larga ya
+ */
+         for(cabecera = e->e_header; cabecera != NULL; cabecera = cabecera->h_link) {
+           /* Si tiene prioridad uno, lo larga YA */
+           if(strcasecmp(cabecera->h_field,"x-priority")==0) {
+             if(atoi(cabecera->h_value)==1) tamanho_por_receptores=0; 
+           }
+         }
+ 
+ 
        /*
        **  If this message is to be discarded, don't bother sending
        **  the message at all.
***************
*** 280,285 ****
--- 330,348 ----
                                q->q_flags |= QQUEUEUP;
                                expensive = TRUE;
                        }
+                       else
+ /* 
+ ** jcea@argo.es - 18/May/99
+ **
+ ** Manda los mensajes largos por la noche
+ */
+                         if (!Verbose && (tamanho_por_receptores>2000000) &&
+                             !bitnset(M_LOCALMAILER,q->q_mailer->m_flags))
+                         {
+                                 expensive=TRUE;
+                                 q->q_flags|=QQUEUEUP;
+                         }
+ 
                        else
                        {
                                if (tTd(13, 30))



Python Zope ©1999 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS