Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Procmail liefert nicht an Cyrus aus

  1. #1
    Netzwerker
    Registriert seit
    Oct 2002
    Ort
    Grevenbroich
    Beiträge
    551

    Procmail liefert nicht an Cyrus aus

    Hallo zusammen,

    bin echt kurz vor der Verzweiflung.

    Kurz erklärt:
    Hab mir vor gut einem Jahr einen Mailserver aufgesetzt. Postfix, Spamassassin und als Krönchen noch Cyrus-IMAP. Rennt auch alles prima. Nun ist es so, dass die Spamflut mitlerweile so hoch ist, dass es nicht mehr ausreicht Mails einfach zu markieren und vom Mailclient löschen/sortieren zu lassen. Ich möchte nun, dass Mail mit einem Score von mehr als 12 direkt ab nach /dev/null gehen. Zu dem Zweck hab ich mir zusätzlich Procmail installiert.
    PHP-Code:
    LOGFILE="/var/log/procmail"
    VERBOSE=on
    :0hfw
    | /usr/bin/formail -"From "

    :0fw
    * < 110000
    | /usr/bin/spamc -u filter

    :0
    * ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
    {
        
    LOG "*** SPAM DELETED *** "
        
    :0
        
    /dev/null
    }

    INBOX="/usr/sbin/cyrdeliver -e -r ${sender} -m ${extension} ${user}"
    :0w
    $INBOX

    HOST 
    Im Postfix habe ich dann in der master.cf folgendes hinzugefügt:
    Code:
    mailbox_command = procmail -a "$EXTENSION"


    Nun ist es so, dass Mail jetzt ankommen, vom Postfix an den Procmail gehen, dort die Prüfung mit dem Spamassassin auch stattfindet, ABER DANN die Auslieferung nicht ab zum Cyrus geht zum entsprechenden User, sonder ganz einfach nach /var/spool/mail/[usermailbox].

    Kurzerhand also das Loggin im Procmail angeschmissen und dort steht folgendes:
    procmail: [1421] Fri Aug 3 13:45:21 2007
    procmail: Executing "/usr/bin/formail,-I,From "
    procmail: [1421] Fri Aug 3 13:45:21 2007
    procmail: Match on "< 110000"
    procmail: Executing "/usr/bin/spamc,-u,filter"
    procmail: [1421] Fri Aug 3 13:45:38 2007
    procmail: No match on "^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*"
    procmail: Assigning "INBOX=/usr/sbin/cyrdeliver -e -r -m "
    procmail: Executing "/usr/sbin/cyrdeliver,-e,-r,-m"
    421-4.3.0 usage: deliver [-C <alt_config> ] [-m mailbox] [-a auth] [-r return_path] [-l] [-D]^M
    421 4.3.0 v2.1.18-IPv6-Debian-2.1.18-5.1
    procmail: Error while writing to "/usr/sbin/cyrdeliver"
    procmail: Program failure (75) of "/usr/sbin/cyrdeliver"

    procmail: Assigning "LASTFOLDER=/usr/sbin/cyrdeliver -e -r -m"
    procmail: Assigning "HOST"
    procmail: HOST mismatched "lorddarkmage"
    procmail: Assigning "PATH=/home/lastpegasus/bin:/usr/local/bin:/usr/bin:/bin"
    procmail: Locking "/var/mail/lastpegasus.lock"
    procmail: Assigning "LASTFOLDER=/var/mail/lastpegasus"
    procmail: Opening "/var/mail/lastpegasus"
    procmail: Acquiring kernel-lock
    procmail: Unlocking "/var/mail/lastpegasus.lock"
    procmail: Notified comsat: "lastpegasus@11791:/var/mail/lastpegasus"
    Subject: Say "I can have sex all night long"!
    Folder: /var/mail/lastpegasus 5158
    In einem Forum habe ich dann gelesen, dass in die master.cf noch folgendes rien soll und procmail als User cyrus laufen soll:
    PHP-Code:
    procmail  unix  -       n       n       -       -       pipe
        flags
    =R user=cyrus argv=/usr/bin/procmail --m USER=${userSENDER=${senderEXT=${extensionSENDER=${sender} /etc/procmailrc 
    Trotzdem bekomme ich es nicht hin, dass die Mails in die Postfächer von Cyrus gehen. Es ist zum verzweifeln.

    Jemand eine Idee wo der Fehler liegt?

    Gruß
    LordDarkmage
    Kind: "Maaamaaaa! Wo ist denn der Waschlappen?"
    Schwiegermutter: "Zigaretten holen!"

  2. #2
    Registrierter Benutzer
    Registriert seit
    Feb 2003
    Ort
    Hannover
    Beiträge
    410
    Hi,

    leider kann ich dir auch nicht sicher sagen, was es ist.
    Ich habe aber mal folgende Ideen:

    Der Fehlercode wird von Procmail nur weitergegeben, stammt also von deliver/cyrus. Dort heißt es:
    75: temporary failure (na super)
    Kann heißen:
    * inbox über Quota
    * Rechte-Problem auf irgendeiner Datei

    Bestimmt gibts da noch mehr. Aber die beiden solltest du erste inmal ausschließen.

    Das erste kannst du ausschließen, indem du deliver den Parameter "-q" mitgibst (s. man-page).
    Beim zweiten weiß ich es leider auch nicht wirklich.
    Wurden denn die eMials OHNE procmail an cyrus ausgeliefert? Wenn ja, wäre es ja klasse, diesen Aufruf zu kopieren, oder?

    Eben fällt mir was auf, nachdem ich eine version der man-page von deliver gelesen habe. Dein Aufruf:
    INBOX="/usr/sbin/cyrdeliver -e -r ${sender} -m ${extension} ${user}"
    Laut man-page gibt es den Parameter "-e" nicht (Vielleicht eine Frage der Version?). Dazu wüde die Antwort
    procmail: Executing "/usr/sbin/cyrdeliver,-e,-r,-m"
    421-4.3.0 usage: deliver [-C <alt_config> ] [-m mailbox] [-a auth] [-r return_path] [-l] [-D]^M
    421 4.3.0 v2.1.18-IPv6-Debian-2.1.18-5.1
    passen.
    Vielleicht schaust Du selbst mal in die bei dir installierte man-page?!

    Mfg MIchael

  3. #3
    Netzwerker
    Registriert seit
    Oct 2002
    Ort
    Grevenbroich
    Beiträge
    551
    Hab die Auslieferung jetzt hinbekommen, aber dafür gleich ein zusätzliches Problem oben drauf.

    Erstmal hier die Zeile für die Auslieferung:
    :0 w
    *^TO.*userhans@hansdomain\.de
    | $DELIVERMAIL -e -a hans -m user.hans

    Zwei dumme Nebeneffekte hat das aber jetzt.
    1. ich muss für jedes Postfach was ich habe eine extra Zeile machen
    2. es werden plötzlich Mails angenommen für Adressen, die es nicht gibt. Beispielsweise hab ich jetzt (das ist übrigens nicht in den IMAP gestopft worden) in /var/spool/mail/hans eine Mail drin, die an andereadresse@hansdomain.de geht, aber eigentlich ja nicht, denn die Adresse gibts ja net. Hätte doch abgelehnt werden müssen vom Postfix.

    Ideen?
    Kind: "Maaamaaaa! Wo ist denn der Waschlappen?"
    Schwiegermutter: "Zigaretten holen!"

  4. #4
    Registrierter Benutzer
    Registriert seit
    Oct 2000
    Ort
    Köln
    Beiträge
    206
    ich kenn mich zwar mit procmail gar nicht aus, aber eventuell könnte die eigentliche aufgabe auch sieve lösen. Sieve kann Filterregeln direkt auf dem IMAP server ablegen und laufen lassen. So das man egal welchen Client man benutzt nicht in allen Clients filterregeln nachpflegen muß.

    https://www.ssl-id.de/wichmann-onlin...er_HT.php#kap8 ist ne kleine feine anleitung die eventuell weiterhelfen kann
    Wenn was absolut nicht funktioniert nenn es Windows *gg*

  5. #5
    Registrierter Benutzer
    Registriert seit
    Feb 2003
    Ort
    Hannover
    Beiträge
    410
    Hallo noch mal,

    ok, ich habe in Reichweite einen Debian, auf dem cyrus installiert ist.
    Dort liefert ein
    Code:
    # cyrdeliver
    eben genau die Ausgabe
    421-4.3.0 usage: deliver [-C <alt_config> ] [-m mailbox] [-a auth] [-r return_pa th] [-l] [-D]
    421 4.3.0 v2.1.18-IPv6-Debian-2.1.18-5.2
    wie bei dir im log.
    Ergo: der Aufruf stimmt nicht.

    Ich weiß nicht, ob Dir das weiterhilft. Erste Anlaufstelle wäre also meiner Meinung nach die man-page, dann sicher im Netz die Tuts.

    Viel Erfolg, ich suche auch weiter.

    Vielleicht vereinfachst Du erst einmal den Aufruf zu
    | /usr/sbin/cyrdeliver -e -a $LOGNAME -m user.$LOGNAME

    Siehe: http://entwickler-forum.de/showthread.php?t=34074


    Mfg Michael
    Geändert von michaxyz (04.08.07 um 16:02 Uhr) Grund: Aktualisiert

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 17.10.05, 18:31
  2. postfix an procmail an cyrus - zum Verzweifeln
    Von wuf im Forum Linux als Server
    Antworten: 7
    Letzter Beitrag: 04.03.05, 13:45
  3. Antworten: 2
    Letzter Beitrag: 03.01.04, 01:36
  4. Cyrus IMAP
    Von leon im Forum Linux als Server
    Antworten: 2
    Letzter Beitrag: 25.08.03, 16:28
  5. procmail + cyrus = Wo sind die Mails??
    Von flachskopf im Forum Linux als Server
    Antworten: 1
    Letzter Beitrag: 30.07.03, 15:40

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •