Parameterübergabe an procmail

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
chris76
Moderator
Moderator
Posts: 2015
Joined: 2003-06-27 14:37
Location: Germering

Parameterübergabe an procmail

Post by chris76 » 2005-10-13 17:12

Hi,

ich versuche an procmail den parameter user zu übergeben. Leider klappt das nicht so wie ich es mir vorstelle.

in der master.cf ist folgendes eingetragen.

Code: Select all

procmail  unix  -       n       n       -       -       pipe
     flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc USER=${user} EXT=${extension}
in der main.cf wird procmail mit

Code: Select all

mailbox_transport = procmail
aufgerufen.

die /etc/procmailrc sieht so aus

Code: Select all

### Verbose on = ausführliches Log
VERBOSE=on
LOGFILE=/var/log/procmail.log

:0fw
| /usr/bin/spamc

DELIVER="/usr/sbin/dbmail-smtp"
INBOX="$DELIVER -m INBOX -u $user"
SPAM="$DELIVER -m INBOX/spam -u $user"

:0
* ^Subject:.*Spamverdacht.*
| $DELIVER -m INBOX -u haugg

:0
* ^X-Spam-(Status|Flag): YES
| $SPAM

INCLUDERC=/etc/procmail/$user.procmailrc

:0
| $INBOX
Das procmaillog sprich das

Code: Select all

procmail: Couldn't read "/etc/procmail/.procmailrc"
daher schließe ich darauf das der parameter nicht übergeben wird.

In dem Verzeichnis /etc/procmail liegen die userspezifischen .procmailrc´s nach dem muster
user1.procmailrc
user2.procmailrc

Any Ideas?
Gruß Christian

BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Parameterübergabe an procmail

Post by flo » 2005-10-13 18:36

Das

Code: Select all

USER=${user}
ist groß geschrieben und wird dann mit

Code: Select all

DELIVERMAIL="/usr/sbin/cyrdeliver"
IMAP="$DELIVERMAIL -a $USER -q -m user.$USER"
referenziert :-)

hast Du nicht ausgeschlafen?

flo.

chris76
Moderator
Moderator
Posts: 2015
Joined: 2003-06-27 14:37
Location: Germering

Re: Parameterübergabe an procmail

Post by chris76 » 2005-10-13 21:21

Tja ich dachte auch das ich net ausgeschlafen hatte. Leider ändert die Großschreibung an der Sache nix :(.
Gruß Christian

BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Parameterübergabe an procmail

Post by flo » 2005-10-13 21:29

Was sagt das Log?

Ich habe den procmail bei mir so drin - Unterschied ist der User (bei mir cyrus) und die Reihenfolge ...

Code: Select all

procmail  unix  -       n       n       -       -       pipe flags=R user=cyrus argv=/usr/bin/procmail -t - m USER=${user} EXTENSION=${extension} /etc/procmail/procmailrc
Laut help sollte das so angegeben sein:

Code: Select all

Or: procmail [-ptY] [-f fromwhom] -m [parameter=value] ... rcfile [arg] ...
flo.

chris76
Moderator
Moderator
Posts: 2015
Joined: 2003-06-27 14:37
Location: Germering

Re: Parameterübergabe an procmail

Post by chris76 » 2005-10-13 22:16

Das erste nach was -m aufgerufen wird ist bei mir die procmailrc. Wenn ich dort den User angebe, sagt er das er die Datei test (der Username mit dem ich teste) nicht findet.

Im anderen Zustand endet es an der Ã?bergabe an Procmail und das wars.
Gruß Christian

BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Parameterübergabe an procmail

Post by flo » 2005-10-14 01:05

Ich hab das jetzt ausprobiert - nehme ich Deine Reihenfolge, geht folgendes:

Code: Select all

procmail: [23043] Fri Oct 14 01:02:15 2005
procmail: No match on "^X-Spam-Flag: YES"
procmail: No match on "^X-Spam-Status: Yes"
procmail: Assigning "LASTFOLDER=/usr/sbin/cyrdeliver -a -q -m user."
 Subject: test
  Folder: /usr/sbin/cyrdeliver -a -q -m user.                              1198
procmail: Executing "/usr/sbin/cyrdeliver,-a,-q,-m,user."
user.: Mailbox does not exist 
d.h. die Parameterübergabe schlägt fehl, procmail wird aber aufgerufen und läuft ohne Fehler durch.

flo.

chris76
Moderator
Moderator
Posts: 2015
Joined: 2003-06-27 14:37
Location: Germering

Re: Parameterübergabe an procmail

Post by chris76 » 2005-10-14 07:18

Moin flo,

Danke für Deine Hilfe, ich habe es heute (nach einer erholsamen Nacht ) wieder versucht, und siehe da es geht.

Ich verwende nun die Reihenfolge von dir, hatte ich gestern auch schon da gings aber net.

Irgendwas war wohl anders. Was ich aber nach wie vor nicht verstehe, warum genau das Setup was auf dem neuen Server nicht geht auf dem Alten schon tut. Einziger Unterschied woody/sarge Postfix1/2.
Gruß Christian

BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Parameterübergabe an procmail

Post by flo » 2005-10-14 08:27

Ich hab das auf dem Produktivserver ausprobiert, auf dem bei mir Woody läuft. Meine Strato-Roots sind noch nicht fertig.

Procmail ist mir ein Graus, weil ich am Anfang (zur Einrichtung) damit alles im Step-by-Step-Verfahren eingerichtet habe. Mal sehen, wie es auf den neuen Kisten läuft. :-)

flo.