Re: Requeueing messages processed by mharc?

2003-01-05 12:18:18
On January 4, 2003 at 12:58, "Christopher P. Lindsey" wrote:

     # CHANGE: tests if directory exists; saves a system call
     :0 Wic
     * ? test ! -d $MBOXROOT/mhonarc-users
     `mkdir -m 755 -p $MBOXROOT/mhonarc-users`

But isn't the call to 'test' a system call or does procmail handle
it specially.  If not, calling mkdir always uses a single system
call while your method uses one or two system calls.

     # CHANGE: skip if MESGDATE_ already set; saves a fork
     # CHANGE: only send headers to extract-mesg-date; cuts down on memory
     :0 Wih
     * MESGDATE_ ?? ^^^^
     MESGDATE_=| /mnt/WWW/customers/
sg-date -fmt '%Y-%m'

I like this.  The ^^^^ notation is weird though.  Is that supposed to
be a regex?

     # ADDED: requeues message if delivery failed
        * ^From \/[^ ]+[ ]+
        | $SENDMAIL -ODeliveryMode=queueonly -OErrorMode=m -oi -f $MATCH $LOG

        | $SENDMAIL -ODeliveryMode=queueonly -OErrorMode=m -oi -f '<>' $LOGNA

(Yes, I changed some of the other stuff around for optimization :)  But 
the issue that I'm most interested in is the last block which places the
message back into the message queue if delivery failed.  

Unfortunately, this will not work.  The message-id cache will cause
the message to be quietly dropped when delivered back to the archive
account.  I.e.  There is an initial formail rule that checks the
message-id cache, and if the id exists, the message is quietly dropped.

Something really screwing has to happen for an delivery error to occur,
but of course, anything can happen (like out-of-disk space).  I'm unsure
that requeuing (ignore the message-id cache issue) is the best solution,
with one reason due to the existence of different MTAs.


To sign-off this list, send email to majordomo(_at_)mhonarc(_dot_)org with the

<Prev in Thread] Current Thread [Next in Thread>