![](https://seccdn.libravatar.org/avatar/203abc488dcf5ee8dc1ba214f5b44119.jpg?s=120&d=mm&r=g)
Hallo Liste, ich habe ein Problem mit Cyrus und lmtp. Habe einen Server mit Suse 9.2, Cyrus-Imap, Procmail und Fetchmail. Der Cyrus läuft ohne Probleme. Mailboxen anlegen, kopieren und löschen ist kein Problem. Das Abholen von Emails funktioniert leider nicht wirklich gut. Nachdem Fetchmail durchgelaufen ist, versucht procmail die Emails an den lmtp zu übergeben, was mit folgender Fehlermeldung scheitert. ... couldn't connect to lmtpd: Bad file descriptor frank@giles:~> Die Email ist nicht in das Postfach einsortiert worden. Ich bin seit einer Woche am Verzweifeln und auch Google gibt nichts mehr her. Vielleicht hat jemand von Euch eine Idee, was ich falsch mache oder anders machen kann. Hier meine Configs: ################################################## #/etc/cyrus.conf: # standard standalone server implementation START { # do not delete this entry! recover cmd="ctl_cyrusdb -r" # this is only necessary if using idled for IMAP IDLE idled cmd="idled" } # UNIX sockets start with a slash and are put into /var/lib/imap/socket SERVICES { # add or remove based on preferences imap cmd="imapd" listen="imap" prefork=0 # imaps cmd="imapd -s" listen="imaps" prefork=0 pop3 cmd="pop3d" listen="pop3" prefork=0 # pop3s cmd="pop3d -s" listen="pop3s" prefork=0 sieve cmd="timsieved" listen="sieve" prefork=0 # at least one LMTP is required for delivery # lmtp cmd="lmtpd" listen="lmtp" prefork=0 # lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=0 lmptunix cmd="lmtpd" listen="/var/spool/postfix/public/lmtp" prefork=1 # this is only necessary if using notifications # notify cmd="notifyd" listen="/var/lib/imap/socket/notify" proto="udp" prefork=1 } EVENTS { # this is required checkpoint cmd="ctl_cyrusdb -c" period=30 # this is only necessary if using duplicate delivery suppression delprune cmd="cyr_expire -E 3" at=0400 # this is only necessary if caching TLS sessions tlsprune cmd="tls_prune" at=0400 # Uncomment the next entry, if you want to automatically remove # old messages of EVERY user. # This example calls ipurge every 60 minutes and ipurge will delete # ALL messages older then 30 days. # enter 'man 8 ipurge' for more details # cleanup cmd="ipurge -d 30 -f" period=60 } ####################################################### #/etc/postfix/master.cf # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n - n - - smtpd #smtps inet n - n - - smtpd # -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes #submission inet n - n - - smtpd # -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes -o smtpd_etrn_restrictions=reject #628 inet n - n - - qmqpd pickup fifo n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr fifo n - n 300 1 qmgr #qmgr fifo n - n 300 1 oqmgr #tlsmgr fifo - - n 300 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1 verify flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap smtp unix - - n - - smtp relay unix - - n - - smtp # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - n - - showq error unix - - n - - error local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - n - - lmtp anvil unix - - n - 1 anvil #localhost:10025 inet n - n - - smtpd -o content_filter= # # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # maildrop. See the Postfix MAILDROP_README file for details. # maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} cyrus unix - n n - - pipe user=cyrus argv=/usr/lib/cyrus/bin/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=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient} ############################################## #/etc/postfix/main.cf readme_directory = /usr/share/doc/packages/postfix/README_FILES biff = no mail_spool_directory = /var/mail canonical_maps = hash:/etc/postfix/canonical virtual_maps = hash:/etc/postfix/virtual relocated_maps = hash:/etc/postfix/relocated transport_maps = hash:/etc/postfix/transport sender_canonical_maps = hash:/etc/postfix/sender_canonical masquerade_exceptions = root masquerade_classes = envelope_sender, header_sender, header_recipient myhostname = giles.sunnydale program_directory = /usr/lib/postfix inet_interfaces = 127.0.0.1 ::1 masquerade_domains = mydestination = $myhostname, localhost.$mydomain defer_transports = disable_dns_lookups = no relayhost = mailbox_command = mailbox_transport = lmtp:unix:public/lmtp smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_client_restrictions = smtpd_helo_required = no smtpd_helo_restrictions = strict_rfc821_envelopes = no smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination smtp_sasl_auth_enable = no smtpd_sasl_auth_enable = no smtpd_use_tls = no smtp_use_tls = no alias_maps = hash:/etc/aliases mailbox_size_limit = 0 message_size_limit = 10240000 #################################### #.procmailrc VERBOSE=on :0fw | formail -f -I "From " :0 | /usr/lib/cyrus/bin/deliver -q -a frank frank ######################################### #.fetchmailrc poll pop.1und1.com proto pop3 user "m*******" pass "************" is frank fetchall mda "/usr/bin/procmail -d frank" #################################################### Über Hilfe wäre ich echt dankbar, da ich momentan total auf dem Schlauch stehe. Sollte im Absender dieser Mail nicht mein richtiger Name stehen, dann tut es mir leid. Ich schreibe diese Nachricht vom Webmailer aus. Da der Webmailer auch Probleme mit vielen Emails im Postfach hat, wäre es nett die Antworten nicht nur an die Liste zu schreiben, sondern auch eine Kopie an info@fsit-neumuenster.de zu senden, da dieses Postfach überschaubarer ist. Gruß, Frank
![](https://seccdn.libravatar.org/avatar/45f74113facac0f181849f52a7dcf019.jpg?s=120&d=mm&r=g)
Moin, Am Sonntag, 31. Oktober 2004 21:36 schrieb linux@schlotfeldt.net:
ich habe ein Problem mit Cyrus und lmtp. Habe einen Server mit Suse 9.2, Cyrus-Imap, Procmail und Fetchmail.
ja, dieses Problem habe ich auch. Ich habe es auch dahingehend gelöst, daß ich die Rechter einfach manuell setze, was aber auf Dauer recht nervig ist, denn das muß man nach JEDEM PATCH machen. Es wäre schön, wenn es von SuSE irgendwann mal eine dauerhafte Lösung gäbe ...
couldn't connect to lmtpd: Bad file descriptor frank@giles:~>
[...]
lmptunix cmd="lmtpd" listen="/var/spool/postfix/public/lmtp" prefork=1
Die Berechtigung reicht nicht aus, um auf diese Datei zugreifen zu können. Alle Verzeichnisse müssen für alle lesbar und ausführbar sein, also chmod a+rx /var chmod a+rx /var/spool chmod a+rx /var/spool/postfix chmod a+rx /var/spool/postfix/public (wahrscheinlich mußt Du nur die letzten beiden setzen, also postfix und public). bis denn ... /Frank/
![](https://seccdn.libravatar.org/avatar/203abc488dcf5ee8dc1ba214f5b44119.jpg?s=120&d=mm&r=g)
Frank Röske schrieb: [...]
<>
lmptunix cmd="lmtpd" listen="/var/spool/postfix/public/lmtp" prefork=1
Die Berechtigung reicht nicht aus, um auf diese Datei zugreifen zu können. Alle Verzeichnisse müssen für alle lesbar und ausführbar sein, also
chmod a+rx /var chmod a+rx /var/spool chmod a+rx /var/spool/postfix chmod a+rx /var/spool/postfix/public
(wahrscheinlich mußt Du nur die letzten beiden setzen, also postfix und public).
bis denn ... /Frank/
Das habe ich gemacht. Bringt leider keine Verbesserung. In der /var/log/messages steht folgendes [...] Nov 1 07:37:06 giles deliver[4263]: connect(/var/lib/imap/socket/lmtp) failed: Connection refused Ansonsten alles wie gehabt. Frank
![](https://seccdn.libravatar.org/avatar/9527e20ec10ee9eb8b28774c9b754862.jpg?s=120&d=mm&r=g)
Am Montag, 1. November 2004 07:53 schrieb Frank Schlotfeldt:
lmptunix cmd="lmtpd" listen="/var/spool/postfix/public/lmtp" prefork=1
Nov 1 07:37:06 giles deliver[4263]: connect(/var/lib/imap/socket/lmtp) failed: Connection refused Ansonsten alles wie gehabt.
Wenn Du den Pfad zum socket änderst, musst Du es auch Deliver mitteilen. Das stellst Du in der /etc/imapd.conf ein. lmtpsocket: /var/spool/postfix/public/lmtp Vermutlich musst Du auch noch dafür sorgen, dass deliver in den Postfix-Bereich schreiben darf. Das machst Du am einfachsten mit nem suid-Bit auf Deliver. -- Andreas
![](https://seccdn.libravatar.org/avatar/203abc488dcf5ee8dc1ba214f5b44119.jpg?s=120&d=mm&r=g)
Am Montag, 1. November 2004 11:51 schrieb Andreas Winkelmann:
Am Montag, 1. November 2004 07:53 schrieb Frank Schlotfeldt:
lmptunix cmd="lmtpd" listen="/var/spool/postfix/public/lmtp" prefork=1
Nov 1 07:37:06 giles deliver[4263]: connect(/var/lib/imap/socket/lmtp) failed: Connection refused Ansonsten alles wie gehabt.
Wenn Du den Pfad zum socket änderst, musst Du es auch Deliver mitteilen. Das stellst Du in der /etc/imapd.conf ein.
lmtpsocket: /var/spool/postfix/public/lmtp
Vermutlich musst Du auch noch dafür sorgen, dass deliver in den Postfix-Bereich schreiben darf. Das machst Du am einfachsten mit nem suid-Bit auf Deliver.
-- Andreas
Hallo Andreas, meine Antwort kommt etwas spät, aber ich bin erst jetzt dazu gekommen alles fertig einzurichten. Dein Tip war genau das, was fehlte. Jetzt werden die Mails richtig einsortiert. Danke nochmals, Frank
![](https://seccdn.libravatar.org/avatar/203abc488dcf5ee8dc1ba214f5b44119.jpg?s=120&d=mm&r=g)
Am Montag, 1. November 2004 11:51 schrieb Andreas Winkelmann:
Am Montag, 1. November 2004 07:53 schrieb Frank Schlotfeldt:
lmptunix cmd="lmtpd" listen="/var/spool/postfix/public/lmtp" prefork=1
Nov 1 07:37:06 giles deliver[4263]: connect(/var/lib/imap/socket/lmtp) failed: Connection refused Ansonsten alles wie gehabt.
Wenn Du den Pfad zum socket änderst, musst Du es auch Deliver mitteilen. Das stellst Du in der /etc/imapd.conf ein.
lmtpsocket: /var/spool/postfix/public/lmtp
Vermutlich musst Du auch noch dafür sorgen, dass deliver in den Postfix-Bereich schreiben darf. Das machst Du am einfachsten mit nem suid-Bit auf Deliver.
-- Andreas
Hallo Andreas, meine Antwort kommt spät, aber ich hatte in der Uni viel zu tun und bin nicht zum Basteln gekommen. Dein Tip war genau das, was fehlte. Nachdem ich dem Deliver den richtigen Pfad eingetragen und das suid Bit gesetzt habe, läuft alles wie geschmiert. Jetzt kann ich endlich mein Postfach wieder entlasten! Danke für die Hilfe, Gruß Frank
participants (4)
-
Andreas Winkelmann
-
Frank Röske
-
Frank Schlotfeldt
-
linux@schlotfeldt.net