Treebeard wrote:
Wahrscheinlich ist es die beste Methode, Postfix, Cyrus, MySQL und WebCyrAdm zu installieren und Schritt für Schritt einzubinden. Es muss jedoch sichergestellt werden, dass Postfix und Cyrus wirklich mit MySQL-Unterstützung kompiliert wurden.
Wenn das nicht der Fall ist, muss über PAM gegangen werden und das MySQL-Modul für die Dienste konfiguriert werden.
Prüfe doch mal, ob Postfix und Cyrus mit MySQL-Sasl-Unterstützung kompiliert wurden:
Demnach sieht es so aus, als ob die mysql-Unterstützung nicht dabei ist.
Dann bleibt es bei saslauthd als auth_mech und dem MySQL-Modul für PAM.
Die MySQL-Unterstützung in Postfix existiert auch nur, weil ich sie einkompiliert habe, da unter meiner alten Suse 9.2 MySQL-Unterstützung noch rar ist. Bei Suse 10.x sieht das AFAIK besser aus. Da hat sich etwas getan. Ein postconf -m besagt mir aber, dass mysql als Datenbank unterstützt wird:
postconf -m btree cidr environ hash ldap mysql nis pcre proxy regexp sdbm static tcp unix
Ah, interessant. Andreas hatte sich dazu ja auch schon geäußert. Inzwischen scheint die Unterstützung per Modul nachladbar eingebunden zu werden. Eigentlich eine gute Sache, die das Kompilieren auf dem Produktivsystem überflüssig macht.
Könnte ich im Augenblick nicht sagen, ich habe bisher nicht mit WebCyrAdm gearbeitet. Ich glaube aber, dass es eine Konfig-Einstellung ist, ob das Passwort verschlüsselt ist oder nicht. Habe eben mal nachgesehen: ja, dies ist eine Einstellungssasche in der conf.php von web-cyradm
Gut, diese Bestätigung zu haben.
Ich würde ganz gerne allerdings die Passwörter in der Datenbank verschlüsselt stehen lassen. Die SQL-Abfragen sollte man entsprechend umschreiben können.
Dann würde ich doch lieber über saslauthd und PAM gehen. Dann kannst du die Passwörter auch verschlüsselt lassen.
Mein Ziel ist es etwa 10 Domains auf den Server zu transferieren. domain1 sollte 1 Postfach haben, etwa 10 Mailadressen sollen auf dieses Postfach zeigen, 3 Weiterleitungen der Mailadressen an externe Mailadressen (z.B. bei T-Online, Gmx, etc.) domain2 sollte 1 Postfach haben, 2 Mailadressen als Verweis darauf domain3, 1 Postfach, 1 Mailadresse zeigt darauf domain4, 3 Postfächer, ca. 40 Weiterleitungen der Mailadressen an externe Mailadressen (z.B. bei T-Online, Gmx, etc.) domain5-10 nur Weiterleitungen auf Postfach von domain1
Insgesamt hast du also für alle Domains eigentlich nur eine gemeinsame User-Basis, wobei nicht alle User in jeder Domain vorkommen. Die Weiterleitungen an externe Adressen rechne ich hier nicht, diese können mit virtual_alias_maps schnell eingerichtet werden. Am besten würdest du dann wohl mit einer Hauptdomain in $mydestination und vielen virtual_alias_domains einrichten. Oder sollen die Domains 2-4 eigenständige Domains sein mit unabhängigen Accounts?
Die Mailclients sind i.d.R. Windows-Clients (bis auf 2 Ausnahmen), Thunderbird, MS Outlook u.ä.
Kein Problem.
Vorerst wird der Server nur unter einer IP-Adresse erreichbar sein.
smtpd_delay_reject = no
Das kann zu Problemen führen mit manchen Clients, die erwarten, dass die Verbindung erst nach der Angabe des Empfängers beurteilt wird und nicht vorher abgelehnt wird. Das habe ich nur zu Debugging-Zwecken eingeschaltet, um zu sehen, wo Fehler auftreten
Grins, der Fehler steht auch so im Log. (^-^) [Test mit postmap]
/etc/postfix/relay_recipients.cf: user=mysqluser password=mysqlpasswort dbname=mysqldatenbank hosts=localhost query = SELECT valid_users from relayrecipients where valid_users = '%s'
Hier braucht die Datenbank nur eine Spalte haben (valid_users). Habe nun die /etc/postfix/relay_recipients.cf angelegt und auch die Tabelle in der Datenbank mit 2 Testusern (test1, test2) angelegt. Das scheint zu klappen:
# postmap -q test1 mysql:/etc/postfix/relay_recipients.cf test1 # postmap -q test3 mysql:/etc/postfix/relay_recipients.cf
Sehr schön. Beachte bitte, dass in relay_recipient_maps vollständige Adressen stehen sollten und nur für lokale Domains in $mydestination reine Usernamen verwendet werden sollten. Teste es mal mit folgenden Einstellungen für den Anfang: /etc/postfix/main.cf: alias_maps = hash:/etc/aliases # Vielleicht kannst du auch passwd und $alias_maps rauslassen. # Meistens sind die Adressen nur als Absender interessant für # lokale Dienste wie Backup, Cron, Spamassassin etc. local_recipient_maps = $alias_maps, proxy:unix:passwd.byname, mysql:/etc/postfix/local_recipients.cf # Mails für domain1.example.com gehen an Cyrus: mailbox_transport = cyrus mydestination = $mydomain, localhost mydomain = domain1.example.com #FQDN! myhostname = mail.example.com # FQDN externer Servername virtual_alias_maps = hash:/etc/postfix/virtual mysql:/etc/postfix/virtual_rewrite.cf virtual_alias_domains = mysql:/etc/postfix/virt_domains.cf smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination broken_sasl_auth_clients = yes smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_security_option = noanonymous /usr/lib/sasl2/smtpd.conf: pwcheck_method: saslauthd mech_list: plain, login /etc/postfix/local_recipients.cf: Gültige Empfänger für Domain1 müssen hier stehen (nur username) /etc/postfix/virt_domains.cf: Hier sind die zusätzlichen Domains enthalten /etc/postfix/virtual_rewrite.cf: Hier stehen die gültigen Empfänger für die virt_domains und die Umleitungen an externe Adressen. Es dürfen nur vollständige Adressen hier verwendet werden! Die MySQL-Abfragen musst du natürlich nach dem Muster von relay_recipient_maps, wie ich es gezeigt hatte, anlegen und auf die richtigen Tabellen zeigen lassen. Dies sind nur die wichtigsten Einstellungen, es werden bestimmt noch einige dazukommen oder wegfallen. Du kannst die Mysql-Abfragen erst mit postmap testen und dann in die Postfix-Konfiguration einbauen. Bitte beachte aber auch, dass MySQL unbedingt zuverlässig laufen muss, sonst bricht Postfix mit einem Fatal Error ab. Bei so wenig Adressen würde ich, ehrlich gesagt, auf MySQL verzichten und dies mit normalen Hash-Dateien machen. Je nachdem, welchen Anspruch an Zuverlässigkeit du an das System hast, solltest du es entsprechend überwachen. 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