Treebeard wrote:
Das ist nicht so kritisch. Entscheidender ist, ob dies User später in virtuellen Domains angelegt werden oder ob die User in einer gemeinsamen Umgebung existieren.
Die Umgebung sollte schon getrennt werden, nicht unbedingt bei allen virtuellen Domains, aber schon bei einigen. Es sollen Mailadressen mit generischen Adressen verwendet werden webmaster@, info@, service@, mail@, die in unterschiedlichen Boxen landen sollen mail@domain1.de => Mailbox von virtuser1 mail@domain2.de => Mailbox von virtuser2 mail@domain3.de => Mailbox von virtuser3 info@domain1.de => Mailbox von virtuser4 info@domain2.de => Mailbox von virtuser1 und 4 und Weiterleitung an blablabla@gmx.de info@domain3.de => Weiterleitung an blablabla2@gmx.de usw.
Das meine ich nicht, sondern die logische Verwaltung der User auf dem System. Du kannst, wie ich bereits geschrieben habe, über eine Nomenklatur mehrere Domains in Cyrus unterbringen. Logisch werden sie aber als eine Domain angesehen, nur die Wahl des Usernamens deutet an, welche Domain ursprünglich dahinterstand: user1@domain1.com -> user.domain1_com_user1 user1@domain2.net -> user.domain2_net_user1 in CyrAdm: cm user.domain1_com_user1 im Verzeichnis: /var/spool/imap/user/d/domain1_com_user1 Damit kann man zwar die gleiche User in mehreren Domains anlegen, aber die Cyrusverwaltung der User sieht sie als eine Domain mit vielen Usern, nicht als mehrere Domains mit internen Usern. Bei virtuellen Domains in Cyrus wird dies auch sauberer angelegt: user1@domain1.com -> user1@domain1.com in CyrAdm: cm user1@domain1.com im Verzeichnis: /var/spool/imap/domain/domain1.com/user1
Es soll auf dem Serverrechner auch keine lokalen Mailclients geben, die die Mail abholen. Das Mailabholen passiert alles in anderen Netzwerken, in der Regel z.B. von mir zu Hause und auch anderen Menschen, die Zugriff auf das Imap-Konto bekommen sollen. Im Allgemeinen sind es Dialup-Verbindungen, die sich auf dem Server ins Mailfach einloggen, also dynamisch vergebene IP-Adressen.
Das ist das normale Verfahren. Wenn Cyrus läuft, solltest jedenfalls bald ein TLS-Zertifikat erstellen, um die Verbindung verschlüsseln zu können. Dies ist sinnvoll, da mit den Authentifikationsmechanismen PLAIN und LOGIN die Login-Daten im Klartext übertragen werden.
Nimm auch cyrus-sasl-login dazu. Wer PLAIN sagt, muss auch LOGIN sagen. (^-^)
cyrus-sasl-login wird mir per yast nicht angeboten. Steckt das in einem anderen Paket drin? Oder muss das per Hand installiert werden?
Nein, das sollte wirklich bei der Distro dabei sein.
Hast du die Installation mit "make install" oder mit "make upgrade" vorgenommen. Im letzteren Fall übernimmt er die bestehende Konfiguration und ergänzt nur die fehlenden Einträge.
Postfix habe ich gar nicht neu installiert. Wie gesagt, ich habe nur die main.cf aus den Sourcen extrahiert und über meine letzte Konfiguration gestülpt. Es war ein Versuch, meine main.cf zu bereinigen (inzwischen standen über 100 Zeilen zusätzlicher Code drin und ich vermute Webmin, das ich vor 2 Monaten mal benutzt hatte, hat hier auch schon einiges hineingeschrieben. Habe davon schnell die Finger gelassen.).
Uh... Na gut, machen wir einfach das beste daraus.
Puh, nimm lieber die -vv weg. Erst, wenn wir ein Problem innerhalb von Postfix-Lookups untersuchen müssen, ist so ein tiefer Loglevel sinnvoll.
Okay, laut Andreas bringt das sowieso erst etwas ab Postfix 2.3. Bei mir ist die 2.2.9 drauf.
Hier meine /usr/lib64/sasl2/smtpd.conf: pwcheck_method: saslauthd mech_list: plain login
Du hast PLAIN noch nicht installiert, wenn ich das richtig sehe. Prüfe das besser! cyrus-sasl-plain ist installiert. cyrus-sasl-login ist nicht installiert (s.o.)
Grmpf, ich meinte ja LOGIN. Nimm das LOGIN solange aus der Liste der Mechanismen heraus, wie du Login nicht installiert hast.
Teste, dass der user sich auf imap einloggen kann:
testsaslauthd -u user -p password -s imap Klappt ;-) Es kommt eine Meldung
0: OK "Success."
Prüfe, dass die SuseFirewall imap herauslässt und versuche, dich mit einem client im internen Netzwerk über Imap mit dem Server zu verbinden. Hat es bis hierhin geklappt, sollte Cyrus für den Anfang laufen.
Hohoho...nicht nur im internen Netzwerk (wie gesagt habe ich auch gar nicht vor einen Imap-Client auf dieser Maschine zu installieren). Es ist sogar möglich, dass ich meinen Mail-Client zu Hause die Verbindung zur IMAP-Box beibringen konnte. Freu.
Sehr schön.
Ich habe in yast noch den User postfix der Gruppe mail hinzugefügt, da sonst der user postfix nicht auf den Socket zugreifen kann (Besitzer cyrus:mail).
Habe ich auch gemacht. Bei mir gehört der Socket aber irgendwie dem root:
tux:/var/lib/imap/socket # ls -l total 0 srwxrwxrwx 1 cyrus mail 0 Dec 14 21:08 idle -rw------- 1 cyrus mail 0 Nov 12 23:38 imap-1.lock srwxrwxrwx 1 root root 0 Dec 14 21:08 lmtp -rw------- 1 cyrus mail 0 Nov 11 23:02 lmtpunix-0.lock -rw------- 1 cyrus mail 0 Nov 21 10:38 pop3-1.lock
Macht aber nichts, dann die Zugriffsrechte sind für alle gegeben, da ist der Besitzer egal. Bei mir sind die Rechte nur für user:group gesetzt, deshalb hatte ich Postfix mit in die Gruppe Mail aufgenommen.
dann setze den Transport in Postfix:
postconf -e "mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp"
okay
postfix reload okay
Jetz schicke mal eine Mail an den user und schaue nach, ob sie in Cyrus eingetroffen ist.
Und hier das Log dazu:
Dec 14 21:54:47 domain1 postfix/smtpd[6400]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Du hast in /etc/nsswitch.conf nis in passwd/user/group gesetzt. Nimm das mal raus.
Dec 14 21:54:47 domain1 postfix/smtpd[6400]: connect from localhost[127.0.0.1] Dec 14 21:55:22 domain1 postfix/smtpd[6400]: BD4DA192C2: client=localhost[127.0.0.1] Dec 14 21:55:29 domain1 postfix/cleanup[6403]: BD4DA192C2: message-id=<20061214205522.BD4DA192C2@mail.domain1.de> Dec 14 21:55:29 domain1 postfix/qmgr[6216]: BD4DA192C2: from=
, size=375, nrcpt=1 (queue active) Dec 14 21:55:29 domain1 postfix/smtp[6404]: BD4DA192C2: to= , orig_to= , relay=none, delay=17, status=bounced (mail for mail.domain1.de loops back to myself) Dec 14 21:55:29 domain1 postfix/cleanup[6403]: A46D119EC4: message-id=<20061214205529.A46D119EC4@mail.domain1.de> Dec 14 21:55:29 domain1 postfix/qmgr[6216]: A46D119EC4: from=<>, size=2335, nrcpt=1 (queue active) Dec 14 21:55:29 domain1 postfix/qmgr[6216]: BD4DA192C2: removed Dec 14 21:55:29 domain1 postfix/smtp[6404]: A46D119EC4: to= , relay=none, delay=0, status=bounced (mail for mail.domain1.de loops back to myself) Dec 14 21:55:29 domain1 postfix/qmgr[6216]: A46D119EC4: removed Dec 14 21:55:32 domain1 postfix/smtpd[6400]: disconnect from localhost[127.0.0.1] Es wird scheinbar etwas zurückgebounced. Ich vermute, dass ich Postfix jetzt beibringen muss, wohin info_wdr_de geschickt werden sollte. Wahrscheinlich eine Einstellung im mydestination-Parameter.
Jein, du hast die Mail nur an den usernamen geschickt. Verwende mal die vollständige Emailadresse info_wdr_de@tux.domain1.de. Postfix verwendet den Wert von $myorigin, um FQDN Adressen zu machen. Setze mal postconf -e "myorigin = $mydomain" postfix reload Dann werden unvollständig Adressen mit "tux.domain1.de" vervollständigt. Dann schicke noch einmal eine Mail los.
# postconf -n command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/lib/postfix debug_peer_level = 2 html_directory = /usr/share/doc/packages/postfix/html mail_owner = postfix mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man mydestination = $mydomain, localhost mydomain = tux.domain1.de myhostname = mail.domain1.de newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES sample_directory = /usr/share/doc/packages/postfix/samples sendmail_path = /usr/sbin/sendmail setgid_group = maildrop unknown_local_recipient_reject_code = 550
Wenn das funktioniert, können wir Postfix beibringen, smtp auth zu verwenden. Dann kannst du mit einem remote Client Mail senden und lesen. Danach kommen dann Antispam-Maßnahmen, Amavisd-new, TLS, PFLogSumm. Wenn du dann noch Energie hast, können wir die virtuellen Domains einbauen und die Lookups/Auth über MySQL machen. Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org