PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : postfix an procmail an cyrus - zum Verzweifeln



wuf
25.02.05, 10:02
Hallo,

ich will lokale mails, (d.h. von meiner Domain an meine Domain) natürlich nicht über das Interet zustellen sonder einfach lokal auf dem Server filtern und dann mittels cyrus deliver in die entsprechende USermailbox legen, jedoch geht das nicht.
Hab schon einiges versucht jedoch nur mit dem Erfolg, dass sich externe mails auch nicht mehr Filtern lassen.
Welche Rechte muss denn cyrus deliver (chmod) haben, hab da nämlich was geändert (wg. permission denied) und kann meinen Aufschrieb nicht mehr finden.

Hab Red Hat Enterprise Linux 3 und mein deliver liegtr in folgendem Verzeichniss: /usr/lib/cyrus-imapd/deliver

hier noch ein paar Logfileauszüge:
/log/maillog:


Feb 25 09:46:13 LinuxServer_3 postfix/pickup[31712]: F13413800B: uid=0 from=<root>
Feb 25 09:46:13 LinuxServer_3 postfix/cleanup[31879]: F13413800B: message-id=<20050225084612.F13413800B@mail-int.testhost.test>
Feb 25 09:46:13 LinuxServer_3 postfix/nqmgr[30174]: F13413800B: from=<root@testhost.test>, size=379, nrcpt=2 (queue active)

/var/log/mail/procmaillog ist leer -> mail wird nicht an Procmail zum FIltern überstellt? Warum?

Und hier ein paar Konfigdateien:
main.cf:

soft_bounce = no
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
myhostname = mail-int.testhost.test
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain $mydomain
local_recipient_maps =
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/postfix/aliases
mailbox_command = /usr/bin/procmail -t -a "$EXTENSION"
mailbox_transport = cyrus
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.0.16/samples
readme_directory = /usr/share/doc/postfix-2.0.16/README_FILES alias_database = hash:/etc/postfix/aliases
relayhost = smtprelay.t-online.de
queue_directory = /var/spool/postfix
mail_owner = postfix
always_bcc = backup@testhost.test

master.cf:


smtp inet n - n - - smtpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 nqmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
cyrus unix - n n - - pipe
user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

procmail unix - n n - - pipe
flags=R user=cyrus argv=/usr/bin/procmail -t -m USER=${user} SENDER=${sender} EXT=${extension} SENDER=${sender} /etc/procmailrc


/etc/procmailrc


LOGFILE=/var/log/mail/procmail
DELIVERMAIL="/usr/lib/cyrus-imapd/deliver"
VERBOSE=yes

:0
| $DELIVERMAIL -a wuf -m user.wuf


Bei Mails von ausen welche mittels Fetchmail abgeholt werden und dann gefiltert werden sieht die /var/log/mail/procmaillog so aus:


procmail: [30097] Wed Feb 23 20:10:30 2005
procmail: Executing "/usr/lib/cyrus-imapd/deliver,-a,wuf,-m,user.wuf"
procmail: [30097] Wed Feb 23 20:10:30 2005
procmail: Assigning "LASTFOLDER=/usr/lib/cyrus-imapd/deliver -a wuf-m user.wuf"
procmail: Notified comsat: "mailuser@:/usr/lib/cyrus-imapd/deliver -a wuf -m user.wuf"
From ***@gmx.de Wed Feb 23 20:10:30 2005
Subject: Hi Max
Folder: /usr/lib/cyrus-imapd/deliver -a wuf -m user.wuf 1383

Wird zwar richtig übergeben jedoch nicht zugestellt sonder stattdessen im Vermeindlichen Ordner abgelegt, hat wer eine Ahnung? Ich vermute ja, dass die Rechte von cyrus/deliver nicht reichtig gesetzt sind.

Vielen Dank für eure Antworten

Wuf

P.S. wer noch offfene Fragen zur konfiguration hat nur stellen werde sie asap klären.

whistle
25.02.05, 10:40
Hi,
du hast in der main.cf die beiden Einträge
mailbox_command = /usr/bin/procmail -t -a "$EXTENSION" und
mailbox_transport = cyrus
Kommentier doch mal den cyrus-Eintrag aus. Aber warum möchtest du procmail zwischen postfix und cyrus schalten, wenn es die Mails doch einfach nur weitergibt.
Die Rechte von deliver sind bei mir
-rwsr-xr-- 1 cyrus mail 758724 2. Dez 23:49 deliver

Gruß
Whistle

wuf
25.02.05, 10:58
Moin,

ok, deliver hat bei mir auch wieder die gleichen Rechte wie bei dir.
mailbox_transport wurde auskomentiert.

Bis jetzt gibt der nur die Mails weiter, in Zukunft werden da noch mehr Filter geschaltet, aber erst wenn es funktioniert.

Leider ist das noch nicht der Fall beim Lokalen Mailverschicken wieder ein paar Fehlermeldungen (ok, procmail wird diesmal wenigstens ansgesprochen):
procmail: Executing "/usr/lib/cyrus-imapd/deliver,-a,wuf,-m,user.wuf"
/usr/lib/cyrus-imapd/deliver: /usr/lib/cyrus-imapd/deliver: cannot execute bina
y file

/var/loc/mail/procmail


procmail: [32263] Fri Feb 25 10:48:24 2005
procmail: Executing "/usr/lib/cyrus-imapd/deliver,-a,pmorof,-m,user.pmorof"
/usr/lib/cyrus-imapd/deliver: /usr/lib/cyrus-imapd/deliver: cannot execute bina
y file
procmail: [32263] Fri Feb 25 10:48:24 2005
procmail: Error while writing to "/usr/lib/cyrus-imapd/deliver"
procmail: Assigning "LASTFOLDER=/usr/lib/cyrus-imapd/deliver -a wuf -m user.wuf"
procmail: Assigning "PATH=/home/backup/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/l
cal/bin:/usr/X11R6/bin"
procmail: Bypassed locking "/var/spool/mail/backup.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/backup"
procmail: Opening "/var/spool/mail/backup"
procmail: Acquiring kernel-lock
procmail: [32265] Fri Feb 25 10:48:24 2005
procmail: Executing "/usr/lib/cyrus-imapd/deliver,-a,wuf,-m,user.wuf"
/usr/lib/cyrus-imapd/deliver: /usr/lib/cyrus-imapd/deliver: cannot execute bina
y file
procmail: [32265] Fri Feb 25 10:48:24 2005
procmail: Error while writing to "/usr/lib/cyrus-imapd/deliver"
procmail: Assigning "LASTFOLDER=/usr/lib/cyrus-imapd/deliver -a wuf -m user.
wuf"
procmail: Assigning "PATH=/home/pmorof/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/l
cal/bin:/usr/X11R6/bin"
procmail: Bypassed locking "/var/spool/mail/wuf.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/wuf"
procmail: Opening "/var/spool/mail/wuf"
procmail: Acquiring kernel-lock
procmail: Notified comsat: "wuf@0:/var/spool/mail/wuf"
From mailuser@testhost.test Fri Feb 25 10:48:24 2005
Subject: test234
Folder: /var/spool/mail/wuf 510
procmail: Notified comsat: "backup@244596:/var/spool/mail/backup"
From mailuser@testhost.test Fri Feb 25 10:48:24 2005
Subject: test234
Folder: /var/spool/mail/backup 510


/var/log/maillog


Feb 25 10:48:23 LinuxServer_3 postfix/pickup[32115]: F41223800B: uid=503 from=<mailuser>
Feb 25 10:48:24 LinuxServer_3 postfix/cleanup[32249]: F41223800B: message-id=<20050225094823.F41223800B@mail-int.testhost.test>
Feb 25 10:48:24 LinuxServer_3 postfix/nqmgr[32116]: F41223800B: from=<mailuser@testhost.test>, size=335, nrcpt=2 (queue active)
Feb 25 10:48:24 LinuxServer_3 postfix/local[32252]: F41223800B: to=<wuf@testhost.test>, relay=local, delay=1, status=sent ("|/usr/bin/procmail -t -a "$EXTENSION"")
Feb 25 10:48:24 LinuxServer_3 postfix/local[32254]: F41223800B: to=<backup@testhost.test>, relay=local, delay=1, status=sent ("|/usr/bin/procmail -t -a "$EXTENSION"")


Vielen dank schonmal für deine Hilfe, wenn du noch weitere Vorschläge hast, Merci

Wuf

wuf
28.02.05, 10:59
Moin,

und wenn ich die Mails mittels fetchmail abhole kommt auch das gleiche raus.
hier /var/log/mail/promail

procmail: [8995] Mon Feb 28 10:49:05 2005
procmail: Executing "/usr/lib/cyrus-imapd/deliver,-a,wuf,-m,user.wuf"
procmail: [8995] Mon Feb 28 10:49:05 2005
procmail: Assigning "LASTFOLDER=/usr/lib/cyrus-imapd/deliver -a pmorof -m user.pmorof"
procmail: Notified comsat: "mailuser@:/usr/lib/cyrus-imapd/deliver -a pmorof -m user.pmorof"
From pmorof@gmx.de Mon Feb 28 10:49:05 2005
Subject: Hi Max
Folder: /usr/lib/cyrus-imapd/deliver -a pmorof -m user.pmorof 1383
procmail: [8996] Mon Feb 28 10:49:05 2005
procmail: Executing "/usr/lib/cyrus-imapd/deliver,-a,pmorof,-m,user.pmorof"
/usr/lib/cyrus-imapd/deliver: /usr/lib/cyrus-imapd/deliver: cannot execute binary file
procmail: [8996] Mon Feb 28 10:49:05 2005
procmail: Assigning "LASTFOLDER=/usr/lib/cyrus-imapd/deliver -a pmorof -m user.pmorof"
procmail: Notified comsat: "backup@:/usr/lib/cyrus-imapd/deliver -a pmorof -m user.pmorof"
From pmorof@gmx.de Mon Feb 28 10:49:05 2005
Subject: Hi Max
Folder: /usr/lib/cyrus-imapd/deliver -a pmorof -m user.pmorof 1378


und hier die /var/log/maillog:


Feb 28 10:49:04 LinuxServer_3 postfix/smtpd[8990]: connect from server3[127.0.0.1]
Feb 28 10:49:04 LinuxServer_3 postfix/smtpd[8990]: C795F3800B: client=server3[127.0.0.1]
Feb 28 10:49:04 LinuxServer_3 postfix/cleanup[8991]: C795F3800B: message-id=<13631.1108742660@www9.gmx.net>
Feb 28 10:49:04 LinuxServer_3 postfix/nqmgr[32116]: C795F3800B: from=<pmorof@gmx.de>, size=1256, nrcpt=2 (queue active)
Feb 28 10:49:05 LinuxServer_3 postfix/smtpd[8990]: disconnect from server3[127.0.0.1]
Feb 28 10:49:05 LinuxServer_3 postfix/local[8994]: C795F3800B: to=<mailuser@localhost.sdv-werbestudio.de>, orig_to=<mailuser@localhost>, relay=local, delay=1, status=sent ("|/usr/bin/procmail")
Feb 28 10:49:05 LinuxServer_3 postfix/local[8993]: C795F3800B: to=<backup@sdv-werbestudio.de>, relay=local, delay=1, status=sent ("|/usr/bin/procmail -t -a "$EXTENSION"")


Warum immer dieses cannot execute binary file, kann mir irgendwer einen Tipp geben?

Vielen Dank für eure hilfe

Wuf

wuf
02.03.05, 19:10
Moin,

hat denn keiner eine Ahnung?
Ich hab schcon jede Menge versucht, allerdings ohne Erfolg.

Wer hat denn so eine Konstellation am laufen und könnte mal hier die entsprechenden Passagen seiner confs (und eventuell auch Rechte/Benutzer/Gruppen) posten? Wär ihm wirklich zu dank verpflichtet.

Wuf

wuf
04.03.05, 10:24
Naja auf die gefahrhin, dass ich selbstgespräche führe, ist nicht beabsichtigt, ich gebe nur die Hoffnung nie auf.

Ich bekomm immer diese Fehlermeldung:

/usr/lib/cyrus-imapd/deliver: /usr/lib/cyrus-imapd/deliver: cannot execute binary file
couldn't connect to lmtpd: Bad file descriptor und

Mar 4 10:01:56 LinuxServer_3 deliver[4229]: connect(/var/lib/imap/socket/lmtp) failed: Connection refused

Was hat das damit aufsich?

Rechte von /var/lib/imap/socket/lmtp:
srwxrwxrwx 1 root root 0 23. Feb 20:05 lmtp
sollte doch eigentlich passen oder?

Hoffe dass jetzt wer antwortet ;)....

Grüße

Wuf

Terran Marine
04.03.05, 11:23
Naja auf die gefahrhin, dass ich selbstgespräche führe, ist nicht beabsichtigt, ich gebe nur die Hoffnung nie auf.


Ist denn cyrus auf lmtp Empfang eingestellt ?

Gruß
Terran

wuf
04.03.05, 14:45
Moin,

jup eigentlich schon hab in der /etc/cyrus.conf folgendes stehen:


lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1


Wuf