Moinmoin! Okay, ich bin gescheitert :) Ich bin gerade dabei meinen Heimserver (SuSE 7.2) mit funktionierendem masqmail und Schmalspur-IMAP (der ab Werk installierte, heisst der UW IMAP?) auf eine dickere Kiste (mit SuSE 8.0) umzuziehen. Die soll cyrus und postfix einsetzen, weil a) der kleine IMAP nix taugt und selbst für meine drei Clients zu lahm ist und b) masqmail sich nicht oder nicht ohne weiteres zur Zusammenarbeit mit Amavis überreden lässt. Richtig fetten Druck habe ich nicht, weil der alte Rechner noch tut. Allerdings läuft mir da früher oder später die Festplatte voll, deshalb muss ich doch langsam in die Pötte kommen ... Leider aber bekomme ich das Zusammenspiel zwischen Cyrus und Postfix nicht hin - obwohl ich nun schon eine Woche Web und Mailinglisten durchstöbert habe. Installiert habe ich die Pakete von der SuSE-DVD, dazu kommen websieve (0.61) und die davon benötigten IMAP-Admin (1.6.1) und perlsieve (0.4.9b). (Websieve funzt auch nicht, aber dazu schreibe ich wohl eine weitere Mail, wenn ich diese erste Hürde genommen habe.) Die Mailbox(en) habe ich mit cyradmin angelegt, sasldb tut es nach reichlich Lekture auch, zumindest geht ein Telnet auf port 143, auch ein MUA meldet sich ohne Fehlermeldung an. Hole ich allerdings Post per Fetchmail (ausliefern an user), taucht sie in der Mailbox nicht auf (zumindest ich kann sie per MUA nicht erkennen). Postfix scheint sie in /var/spool/.../deferred (mail queue) endzulagern, statt sie an cyrus weiterzugeben. Hole ich dagegen die Post mit Übergabe an den MTA direkt (aus .fetchmailrc: --- user 'aposch' password 'xxxx' mda '/usr/lib/cyrus/bin/deliver -m aposch' keep --- ) dann gibt's Fehler: --- 195 messages for aposch at wauhsl.local (16739315 octets). reading message 1 of 195 (2161 octets) .couldn't connect to lmtpd: Invalid argument 421 4.3.0 deliver: couldn't connect to lmtpd .fetchmail: SIGPIPE thrown from an MDA or a stream socket error fetchmail: socket error while fetching from wauhsl fetchmail: Query status=2 (SOCKET) --- Den entsprechenden Eintrag in der cyrus.conf habe ich (laut Listenarchiv) auf lmtpunix cmd="lmtpd" listen="/var/spool/postfix/public/lmtp" prefork=1 gesetzt, in der main.cf von postfix steht: mailbox_transport = lmtp:unix:public/lmtp Das sollte auch klappen, denn angelegt ist alles: wauhsl2:~ # ls -al /var/spool/postfix/public/lmtp srwxrwxrwx 1 root root 0 Mai 31 03:37 lmtp Wo liegt mein Fehler? Falls es von Belang sein sollte, hänge ich unten mal die Config-Dateien an. Danke für jeden Hinweis, Alfred PS: Kann es sein, dass die SuSE-RPMs mies vorkonfiguriert sind? Laut Archiv scheinen da ja sehr viele ihre liebe Not zu haben :) ---imapd.conf--- configdirectory: /var/lib/imap partition-default: /var/spool/imap admins: cyrus allowanonymouslogin: no autocreatequota: 1000000 reject8bit: no quotawarn: 80 timeout: 30 poptimeout: 10 dracinterval: 0 drachost: localhost allowplaintext: yes sasl_pwcheck_method: sasldb #pam ---/etccyrus.conf--- # standard standalone server implementation START { # do not delete these entries! mboxlist cmd="ctl_mboxlist -r" deliver cmd="ctl_deliver -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/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/imap/socket/lmtp" prefork=0 lmtpunix cmd="lmtpd" listen="/var/spool/postfix/public/lmtp" prefork=1 } EVENTS { # this is required checkpoint cmd="ctl_mboxlist -c" period=30 # this is only necessary if using duplicate delivery suppression delprune cmd="ctl_deliver -E 3" period=1440 } ---/etc/postfix/master.cf--- # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (50) # ========================================================================== smtp inet n - n - - smtpd #628 inet n - n - - qmqpd pickup unix n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr unix n - n 300 1 qmgr #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 smtp 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 #localhost:10025 inet n - n - - smtpd -o content_filter #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 tlsmgr fifo - - n 300 1 tlsmgr # # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # The Cyrus deliver program has changed incompatibly. # cyrus unix - n n - - pipe flags=R user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -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 vscan unix - n n - 10 pipe flags=q user=vscan argv=/usr/sbin/amavis ${sender} ${recipient} procmail unix - n n - - pipe flags=R user=cyrus argv=/usr/bin/procmail -t -m USER=${user} EXT=${extension} /etc/procmailrc ---/etc/postfix/main.cf--- queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/lib/postfix mail_owner = postfix myhostname = wauhsl2.local mynetworks = 192.168.0.0/16, 127.0.0.0/8 alias_database = hash:/etc/aliases mailbox_transport = lmtp:unix:public/lmtp debug_peer_level = 2 debugger_command = PATH=/usr/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail newaliases_path = /usr/sbin/sendmail mailq_path = /usr/bin/mailq setgid_group = maildrop manpage_directory = /usr/share/man sample_directory = /etc/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES mail_spool_directory = /var/mail mail_name = Postfix on SuSE Linux 8.0 (i386) sender_canonical_maps = hash:/etc/postfix/sender_canonical canonical_maps = hash:/etc/postfix/canonical virtual_maps = hash:/etc/postfix/virtual relocated_maps = hash:/etc/postfix/relocated smtpd_sender_restrictions = hash:/etc/postfix/access transport_maps = hash:/etc/postfix/transport masquerade_exceptions = root inet_interfaces = all masquerade_domains = aposch@gmx.net mydestination = local defer_transports = smtp disable_dns_lookups = no relayhost = smtprelay.t-online.de content_filter =
Alfred Poschmann wrote:
Moinmoin!
[...]
user 'aposch' password 'xxxx' mda '/usr/lib/cyrus/bin/deliver -m aposch'
Syntaxfehler? man deliver ..../bin/deliver -m user.apoch [...]
PS: Kann es sein, dass die SuSE-RPMs mies vorkonfiguriert sind? Laut
Manchmal :-( [...] MfG Benn -- #250319 - http://counter.li.org
Am Son, 2002-06-02 um 01.25 schrieb Bernd Schmelter:
Alfred Poschmann wrote:
Moinmoin!
[...]
user 'aposch' password 'xxxx' mda '/usr/lib/cyrus/bin/deliver -m aposch'
Syntaxfehler? man deliver ..../bin/deliver -m user.apoch
Hatte ich auch probiert, glaube aber gelesen zu haben (in der man-page?), dass deliver das 'user.' selbst anhängt. Die Fehlermeldung tritt jedenfalls in beiden Fällen auf. Trotzdem danke, Alfred
Hallo! Am 01 Jun 2002 23:35:25 +0200 schrieb Alfred Poschmann:
195 messages for aposch at wauhsl.local (16739315 octets). reading message 1 of 195 (2161 octets) .couldn't connect to lmtpd: Invalid argument 421 4.3.0 deliver: couldn't connect to lmtpd .fetchmail: SIGPIPE thrown from an MDA or a stream socket error
[...]
---imapd.conf--- configdirectory: /var/lib/imap partition-default: /var/spool/imap admins: cyrus allowanonymouslogin: no autocreatequota: 1000000 reject8bit: no quotawarn: 80 timeout: 30 poptimeout: 10 dracinterval: 0 drachost: localhost allowplaintext: yes sasl_pwcheck_method: sasldb
setze hier mal: lmtpsocket: /var/imap/socket/lmtp dazu
---/etccyrus.conf---
# at least one LMTP is required for delivery # lmtp cmd="lmtpd" listen="lmtp" prefork=0 # lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
Ich würde die obige Zeile auskommentieren und die untige ein.
lmtpunix cmd="lmtpd" listen="/var/spool/postfix/public/lmtp" prefork=1
---/etc/postfix/master.cf---
cyrus unix - n n - - pipe flags=R user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -m ${extension} ${user}
Stimmt der Pfad /usr/lib/cyrus/bin/deliver?
---/etc/postfix/main.cf---
mailbox_transport = lmtp:unix:public/lmtp
mailbox_transport = cyrus Für local-transport wird dann lmtp verwandt, wenn die socket mit lmtpsocket: /var/imap/socket/lmtp mit der imapd.conf verfügbar ist.
masquerade_domains = aposch@gmx.net
Muß das sein? hth -- Andreas Meyer http://home.wtal.de/MeineHomepage
Am Son, 2002-06-02 um 02.05 schrieb Andreas Meyer:
Hallo!
Am 01 Jun 2002 23:35:25 +0200 schrieb Alfred Poschmann:
195 messages for aposch at wauhsl.local (16739315 octets). reading message 1 of 195 (2161 octets) .couldn't connect to lmtpd: Invalid argument 421 4.3.0 deliver: couldn't connect to lmtpd .fetchmail: SIGPIPE thrown from an MDA or a stream socket error [...]
---imapd.conf--- [..]
sasl_pwcheck_method: sasldb
setze hier mal: lmtpsocket: /var/imap/socket/lmtp dazu
mhm, müssen postfix und cyrus sich nicht auf den selben socket einigen? in der postfix-Konfiguration muss doch zumindest das gleiche stehen, oder? Allerdings scheint Postfix hier relative Pfade (s.u) zu erwarten ... anyway, ich werde da mal etwas rumprobieren. [..]
---/etc/postfix/main.cf---
mailbox_transport = lmtp:unix:public/lmtp
mailbox_transport = cyrus Für local-transport wird dann lmtp verwandt, wenn die socket mit lmtpsocket: /var/imap/socket/lmtp mit der imapd.conf verfügbar ist.
Aha. Aber woher weiss postfix dann, wo der socket (/var/imap/socket/lmtp) liegt? (btw, was ist ein socket?)
masquerade_domains = aposch@gmx.net
Muß das sein? Öh. Wo kommt das denn her? Nö, muss nicht sein, das ist ein Fehler. Vielleicht passiert, als mein Kopf auf die Tastatur aufgeschlagen ist :)
hth
Das werde ich gleich ausprobieren. Danke, Alfred
Hallo! Am 02 Jun 2002 14:53:03 +0200 schrieb Alfred Poschmann:
mailbox_transport = lmtp:unix:public/lmtp
mailbox_transport = cyrus Für local-transport wird dann lmtp verwandt, wenn die socket mit lmtpsocket: /var/imap/socket/lmtp mit der imapd.conf verfügbar ist.
Aha. Aber woher weiss postfix dann, wo der socket (/var/imap/socket/lmtp) liegt? (btw, was ist ein socket?)
aus dem master.cf ... lmtp unix - - n - - lmtp Ist eine socket nicht eine Art pipe? Wie die einzelnen Komponenten hier zusammenwirken, ist mir auch nicht klar. Ich weis nur, daß das alles reichlich komliziert ist. Vielleicht erkennt das Herz von postfix, der qmgr, daß es eine solche socket gibt? Oder ist es deliver? ... oder cleanup? ;) Wie diese Programme intern arbeiten, weis der Programmierer und ein paar cracks. Mit sowas könnte man sich wochenlang beschäftigen und seine einzige Aufgabe darin sehen, mailserver zu warten. Gruß -- Andreas Meyer http://home.wtal.de/MeineHomepage
participants (3)
-
Alfred Poschmann
-
Andreas Meyer
-
Bernd Schmelter