[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: procmail: $MATCH erst später substituieren



Moin,

* Daniel Leidert wrote (2006-11-17 19:35):
>Ich versuche mal das Problem zu erklären.

Gut!


>Ich filtere die Mails mit procmail.

Schlecht!


>Dabei habe ich momentan für jede einzelne abonnierte Liste eine
>eigene Regel.

Schlecht!


>Da die procmailrc nun aber recht beachtlche Länge erreicht hat und
>procmail leistungsfähiger ist, wollte ich die Listen-Mail automatisch
>sortieren:

Gut!


Ich will mal einen MDA-Krieg riskieren und Maildrop erwähnen. Damit
mache ich das so:

- - - Schnipp - - -
gdbmopen("/home/yooden/.mutt/lists.db")

foreach /^(To|Cc): .*/
{
    foreach (getaddr($MATCH)) =~ /.+/
    {
        listbox = gdbmfetch(tolower($MATCH))
        if ($listbox ne "")
        {
            #   Drop any unsubscribe mails
            if (/^Subject: unsub?scribe$/ && $SIZE < 5000)
            {
                log "Permission denied for unsubscribe mails"
                EXITCODE = 77
                exit
            }

            to $MAILDIR/ML/$listbox
        }
    }
}

gdbmclose
- - - Schnapp - - -

Das iteriert dann über alle Adressen, sucht in der Datenbank ob die
Adresse auf eine Datenbank paßt und sortiert in die gespeicherte
Mailbox. In lists.db ist eben diese Datenbank mit einem assoziierten
Array Liste->Mailbox.


>x-post an debian-user-german und die lug-dd

Schlecht!


Thorsten
-- 
They that can give up essential liberty to obtain a little
temporary safety deserve neither liberty nor safety.
    - Benjamin Franklin

Attachment: pgpDUmYPA3237.pgp
Description: PGP signature


Reply to: