procmail
[Top] [All Lists]

Re: procmail and deliverquota exitcode

2006-07-18 10:01:01
Dallman Ross a écrit :

On Sun, Jul 16, 2006 at 02:52:41PM +0200, Dallman Ross wrote:
 

    :0 w:   # note flag
    $DEFAULT

    :0 E h
    * !^FROM_DAEMON
    * !^X-Loop: your(_at_)own\(_dot_)mail\(_dot_)address
    * EXITCODE ?? ^^77^
   


Missing a final "^" there above.  Should be:

      * EXITCODE ?? ^^77^^

 

    | (formail -r -I"Precedence: junk"      \
        -A"X-Loop: your(_at_)own(_dot_)mail(_dot_)address" ; \
       echo "User over quota.") | "$SENDMAIL" "$SENDMAILFLAGS" -t
   


I think we do want the quotes around "$SENDMAIL" (see concurrent
thread), but won't want them around "SENDMAILFLAGS".

Dallman

____________________________________________________________
procmail mailing list   Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

 

First, thanks for your quick answers

I tried your solutions but it seems not to work;

******************************
First test : I added in procmail.rc :

:0 w:
* ^X-Envelope-To: \/([-.a-zA-Z0-9]*)@
* MATCH ?? ()\/[^(_at_)]+
|/usr/local/courier-imap/bin/deliverquota -w 90 
${HOME}/${DOMAIN}/${MATCH}/Maildir/

:0 E h
* !^FROM_DAEMON
* !^X-Loop: utilisateur1(_at_)domaine(_dot_)lgentis(_dot_)fr
* EXITCODE ?? ^^77^^
| (formail -r -I"Precedence: junk"      \
-A"X-Loop: utilisateur1(_at_)domaine(_dot_)lgentis(_dot_)fr" ; \
echo "User over quota.") | /usr/sbin/sendmail -t -oi

And procmail log said :


Matched "lucien.gentis"
procmail: Match on "()\/[^(_at_)]+"
procmail: Couldn't determine implicit lockfile from 
"/usr/local/courier-imap/bin/deliverquota"
procmail: Locking ".lock"
procmail: Executing 
"/usr/local/courier-imap/bin/deliverquota,-w,90,/home/vmail/domaine.lgentis.fr/lucien.gentis/Maildir/"
procmail: Program failure (77) of "/usr/local/courier-imap/bin/deliverquota"
procmail: Assigning "LASTFOLDER=/usr/local/courier-imap/bin/deliverquota 
-w 90 /home/vmail/domaine.lgentis.fr/lucien.gentis/Maildir/"
procmail: Unlocking ".lock"
procmail: Locking "/var/mail/vmail.lock"
procmail: Assigning "LASTFOLDER=/var/mail/vmail"

It is visible thay second recipe is not executed;

*************************************************
so Second Test : I suppressed the 'E' flag in second recipe, and 
procmail log said:

Matched "lucien.gentis"
procmail: Match on "()\/[^(_at_)]+"
procmail: Couldn't determine implicit lockfile from 
"/usr/local/courier-imap/bin/deliverquota"
procmail: Locking ".lock"
procmail: Executing 
"/usr/local/courier-imap/bin/deliverquota,-w,90,/home/vmail/domaine.lgentis.fr/lucien.gentis/Maildir/"
procmail: Program failure (77) of "/usr/local/courier-imap/bin/deliverquota"
procmail: Assigning "LASTFOLDER=/usr/local/courier-imap/bin/deliverquota 
-w 90 /home/vmail/domaine.lgentis.fr/lucien.gentis/Maildir/"
procmail: Unlocking ".lock"
procmail: Match on ! "(^(Mailing-List:|Precedence:.*(junk|bulk|list)|To: 
Multiple recipients of 
|(((Resent-)?(From|Sender)|X-Envelope-From):|>?From 
)([^>]*[^((_dot_)%(_at_)a-z0-9])?(Post(ma?(st(e?r)?|n)|office)|(send)?Mail(er)?|daemon|m(mdf|ajordomo)|n?uucp|LIST(SERV|proc)|NETSERV|o(wner|ps)|r(e(quest|sponse)|oot)|b(ounce|bs\.smtp)|echo|mirror|s(erv(ices?|er)|mtp(error)?|ystem)|A(dmin(istrator)?|MMGR|utoanswer))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>
    
 ][^<)]*(\(.*\).*)?)?$([^>]|$)))"
procmail: Match on ! "^X-Loop: utilisateur1(_at_)domaine(_dot_)lgentis(_dot_)fr"
procmail: No match on "^^77^^"
procmail: Locking "/var/mail/vmail.lock"
procmail: Assigning "LASTFOLDER=/var/mail/vmail"
procmail: Opening "/var/mail/vmail"



Yet second recipe is executed, but  there's no match on ^^77^^


Is not EXITCODE the exit code value of procmail itself; the value of 77 
is the exit code of deliverquota
when mailbox is over quota.

You said this was discussed before; could you tell me when it was, I 
didn't find in the archives of the list

Best regards

Lucien

____________________________________________________________
procmail mailing list   Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail