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

Re: procmail oder cyrus - Fehler



Gruesse!
* Gregor Weckbecker <gregor@feiner-fug.net> schrieb am [18.02.05 11:38]:
> Hallo!
> 
> > > Im anschluss sendete ich eine Test-Mail. Die nicht den Server erreichte.
> > > Der läuft (auf Port 143) und es ist auch möglich z.b. mit Kmail Ordner zu
> > > erzeugen oder eine Email auf den Server zu speichern. Das Log von
> > > procmail sagt das folgende:
> >
> > Ich habe vor ein paar Tagen auch von uwimap auf cyrus umgestellt. Mir
> > würde einfallen:
> >
> > a) Dein User hat nicht die Rechte, um cyrdeliver auszuführen.
> > Per Default können nur User cyrus+root und die Mitglieder der Gruppe
> > mail cyrdeliver ausführen. Ich habe mich in mail reingepackt, das ist
> > aber sicher nur in einem privaten kontrollierbarem Umfeld eine Wahl.
> 
> Fehler behoben ...

Auch den User komplett ausgeloggt? id greg muß dich in der group mail
zeigen.

> 
> > b) Versuche es in deiner .procmailrc mit:
> > :0 w
> > :
> > | /bin/sed 1d | $DELIVERMAIL -a greg -m user.greg
> >
> > Das zusätzliche Pipen durch sed entfernt einen (fehlerhaft?) von der
> > procmail-pipe gesetzten From-Header.
> 
> Habe ich auch erledigt. Aber wieder erwarten funktioniert es immer noch nicht. 
> Im meiner procmmail.log finde ich die folgende Fehlermeldung:
> 
> procmail: Assigning "DELIVERMAIL=/usr/sbin/cyrdeliver"
> procmail: Executing " /bin/sed 1d | $DELIVERMAIL -a greg -m user.greg"
> procmail: Program failure (72) of " /bin/sed 1d | $DELIVERMAIL -a greg -m 
> user.greg"

Hm, diese 72 müßte laut procmail-Logik eigentlich vom aufgerufenen
Programm kommen, also sed oder cyrdeliver. Ist sed überhaupt
installiert? apt-cache policy sed

> procmail: Assigning "LASTFOLDER= /bin/sed 1d | $DELIVERMAIL -a greg -m 
> user.greg"
> procmail: Assigning "PATH=/home/greg/bin:/usr/local/bin:/usr/bin:/bin"
> procmail: Locking "/var/mail/greg.lock"
> procmail: Assigning "LASTFOLDER=/var/mail/greg"

Hier wird LASTFOLDER zusätzlich zu oben nochmal mit dem normalen user
spool file initialisiert. Hat zwar IMHO mit dem Fehler nichts zu tun,
aber schau mal nach.

> procmail: Opening "/var/mail/greg"
> procmail: Acquiring kernel-lock
> procmail: Unlocking "/var/mail/greg.lock"
> procmail: Notified comsat: "greg@44145:/var/mail/greg"
> From root@n3r0.feiner-fug.net Fri Feb 18 11:25:05 2005
>  Subject: lkafsj
>   Folder: /var/mail/greg          517
> 
> Neuer Fehler, welches Problem? Was besagt Felher 72?

Hier mal meine relevanten Configs, mit denen es hier (sarge)
funktioniert:

Aus /etc/exim4/conf.d/transport:
----------------------------------
procmail_pipe:
  debug_print = "T: procmail_pipe for $local_part@$domain"
  driver = pipe
  path = "/bin:/usr/bin:/usr/local/bin"
  command = "/usr/bin/procmail"
  return_path_add
  delivery_date_add
  envelope_to_add


Aus User .procmailrc:
-------------------------
DELIVERMAIL="/usr/sbin/cyrdeliver"
IMAP="$DELIVERMAIL -a $LOGNAME -m user.$LOGNAME"

DEFAULT=$IMAP

:0 w
| /bin/sed 1d | $IMAP
:0 e
{ EXITCODE=75 HOST }

:0 w
{
EXITCODE=$?
HOST
}

Dies ist nur ein Teil der procmailrc, für Zustellung ins INBOX.
Mit mehr würde ich aber an deiner Stelle auch nicht experimentieren.

cyrdeliver:
----------------
s01:~# ls -la /usr/sbin/cyrdeliver
-rwsr-sr--  1 cyrus mail 186264 Dec  8 16:11 /usr/sbin/cyrdeliver


So funktioniert es hier. Zur Alternative sieve wurde dir ja schon
geraten. Ich wollte halt meine procmail-Regeln nicht ändern bevor ich
mir nicht sicher bin ob ich bei cyrus bleibe. Außerdem kann sieve IMHO
die Mails nicht an externe Programme wie amavis, bogofilter und
spammassasssin weitergeben. Das ließe sich aber mit einer systemweiten
procmailrc in /etc umgehen. 

Wenn also procmail nicht mehr ein Muß darstellt sollte es aber doch
funktionieren (und funktioniert eigentlich auch).

> 
> Danke für eure Hilfe!
> 
> Gruß Gregor

Gruß
	Gerhard



Reply to: