[Postfixbuch-users] procmail spamd cyrdeliver cyrus-imap
Holm Kapschitzki
holm at x-provi.de
Mi Jun 28 01:56:07 CEST 2006
Holm Kapschitzki schrieb:
> Hallo,
>
> habe hier ein Riesenproblem mit der Mailzustellung. Also Procmail muss
> Spamd weitergeben und zwar mit dem richtigen Benutzer, da Spamd die
> userprefs ( z.Bsp. Punkte ab denen er die Mails als Spam markieren soll)
> aus der Confixx Mysql DB lesen soll, und zwar beutzerspezifisch. Das
> klappt auch aber nur wenn ich in der main.cf:
>
> mailbox_command = procmail -a "$EXTENSION"
>
> setze. Weiter gehts mit Procmail nach cyrdeliver, bzw Cyrus Imap und
> genau da ist der Haken. Wenn ich das so aufrufe in der procmailrc:
>
> IMAP="/usr/sbin/cyrdeliver -a $USER -m INBOX $USER"
> :0w
> | $IMAP
>
> findet er die Mailbox nicht:
>
> maillog:
>
> Jun 28 00:59:16 srv4 cyrus/lmtpunix[20511]: accepted connection
> Jun 28 00:59:16 srv4 cyrus/lmtpunix[20511]: lmtp connection preauth'd as
> postman
> Jun 28 00:59:16 srv4 cyrus/lmtpunix[20511]: verify_user(user.INBOX)
> failed: Mailbox does not exist
> Jun 28 00:59:16 srv4 postfix/local[20494]: 93272D6514D:
> to=<web3p2 at example.org>, orig_to=<foo at example.net>, relay=local,
> delay=1, status=sent (delivered to command: procmail -a "$EXTENSION")
> Jun 28 00:59:16 srv4 postfix/qmgr[20326]: 93272D6514D: removed
> Jun 28 00:59:16 srv4 postfix/smtpd[20490]: disconnect from
> example.de[xxx.xxx.xxx.xxx]
>
> ich habe in der master.cf:
>
> cyrus unix - n n - - pipe
> flags=R user=cyrus argv=/usr/sbin/cyrdeliver -r ${sender} -m
> ${extension} ${user}
>
> procmail unix - n n - - pipe
> flags=R user=cyrus argv=/usr/bin/procmail -t -m USER=${user}
> EXTENSION=${extension} /etc/procmailrc
>
>
> Also irgendwie kommt da was mit dem Benutzer durcheinander.
>
> Ich kann natürlich in der main.cf folgendes schreiben:
>
> mailbox_transport = procmail
>
> Dann bekommt spamd die Mail zwar und arbeitet, aber er bekommt die Mail
> nicht mit dem richtigen Benutzer, es werden dann keine
> benutzerspezifischen prefs aus der Confixx DB benutzt. Jetzt findet
> cyrdeliver, auch die richtige Mailbox und die Mail kommt bei Cyrus-Imap
> an. Aber das ist ja nicht Sinn der Sache.
>
> Irgendwie scheint mir da was an derprocmailrc falsch zu sein und der
> Beutzer/Mailboxowner Übergabe oder gibt es noch ne andere Lösung, um von
> procmail an cyrdeliver, die Mail so zu übertragen, dass sie richtig
> einsortiert wird und ich trotzdem in der main.cf:
>
> mailbox_command = procmail -a "$EXTENSION"
>
> drin stehen lassen kann ?
>
> Danke und Gruß Holm
>
>
>
>
>
>
>
es klappt jetzt : procmailrc:
DROPPRIVS=yes
LOGFILE=/var/log/procmail.log
VERBOSE=ON
SHELL=/bin/sh
# Mailbox-Zustellung
DELIVERMAIL="/usr/sbin/cyrdeliver"
IMAP="$DELIVERMAIL -a $LOGNAME -m user.$LOGNAME"
# Spamd Uebergabe
:0fw
* < 256000
| /usr/bin/spamc -f
# From entfernen
:0fw
| formail -f -I "From "
# --- an INBOX zustellen ---
:0w
| $IMAP
Also dieses wars:
# From entfernen
:0fw
| formail -f -I "From "
Allerdings musste ich dem socket irgewendwie alle Rechte geben:
/var/run/cyrus/socket also das dir :
Group:mail /Owner: Cyrus , aber 777
und:
/var/run/cyrus/socket/lmtp:
0777 Group:root /Owner: root
So ganz in Ordnung ist das wohl nicht, aber es funktioniert erstmal.
Gruß Holm
Mehr Informationen über die Mailingliste Postfixbuch-users