20 / 20
Dec 2021

Hallo,
ich habe hier eine kleine Frage bezüglich des Egroupware Mail Systems - ich würde gerne zu meiner bestehenden Domain noch weitere hinzufügen damit ich verschiedene User/Domains auf einem Egroupware Server betreiben kann.
Mir ist nur nicht ganz klar wie ich eine weitere Domain im Egroupware einrichten soll.

Wenn ich bei einem neu angelegten User auf “Mail Account” wechsle dann steht auf der IMAP Seite die aktuelle erste Domain drinnen, was passiert wenn ihr hier eine Änderung mache - oben steht ja “Everyone” als “Valid for” drinnen, ändert das dann die Domain für alle? Das wäre nicht das was ich beabsichtige! :slight_smile:

Über einen kleinen Tip wäre ich dankbar!
Schöne Grüße
Manfred

  • created

    Oct '21
  • last reply

    Dec '21
  • 19

    replies

  • 2.0k

    views

  • 2

    users

  • 1

    like

  • 6

    links

Musst Du unter SMTP als primäre Email oder Alias eintragen. Postfix nimmt dann automatisch für diese Domain Mail an. Natürlich muss der MX für die Domain entsprechend gesetzt werden.

Am IMAP/Dovecot ist nichts zu ändern.

Ralf

9 days later

Hallo Ralf,

danke für deine Antwort - Ressourcen-bedingt hat mein Test jetzt ein wenig länger gebraucht.
Ich habe für eine weitere Domain bei meinem Hauptbenutzer einen Alias Eintrag erstellt, MX Record wurde natürlich auch passend gesetzt. Das Mail kommt auch an, allerdings landet es wie mit Alias Eintrag zu erwarten direkt im Hauptpostfach.

Eigentlich hätte ich mir gewünscht dass ich für weitere Domains/Adressen in meinem Postfach einen eigenen Eingangsbereich habe - so wie bisher als die Domain noch auf einem externen IMAP Server lag.

Jetzt habe ich mir gedacht dass ich einfach in der User Administration auf Mail-Account gehe und dort zu meinem User einen weitere Account anlege. Wenn ich dort jetzt einen zusätzlichen Account anlege und den IMAP & SMTP Server auf meinen aktuellen Server stelle, dann klappt das leider nicht - schon die Anmeldung mit dem Account scheitert. Im IMAP Log sieht man das “auth failed”.

SMTP und IMAP Server habe ich auf der Domain belassen auf der mein Haupt Account läuft, da hier das SSL Zertifikat passt. Ich könnte natürlich entsprechend das Zertifikat anpassen und um die zweite Domain erweitern, ich vermute aber dass das mein Problem nicht ganz löst.

Klappt das überhaupt so wie ich mir das gedacht habe oder bin ich hier komplett auf dem Holzweg und das Nutzen mehrerer Domains für verschiedenen IMAP Konten auf einem Egroupware Server ist gar nicht vorgesehen bzw. funktioniert nicht?

Vielen Dank
Manfred

Bei dem EGroupware-Mail Server entspricht ein Benutzer einem Postfach.

Du kannst dem Benutzer die EMail Adresse aus einer anderen Domain geben oder für Dich einen weiteren Benutzer anlegen und auf dessen Postfach mit einem zusätzlichen Mailkonto auch aus EGroupware mit Deinem Hauptkonto zugreifen.

Andere unterstützte Möglichkeit ist für den Alias aus der anderen Domain einen Folder anzulegen und per Sieve-Regel alls Mails für die Alias-Adresse dorthin zu verschieben.

Ralf

Ich habe jetzt versucht einen weiteren Benutzer anzulegen und ihm eine Mail Adresse mit der neuen Domain zu geben, im /var/lib/egroupware/mail/ Ordner erscheint dann ein neues Postfach name@neue-domain@haupt-domain.

Das mit der Sieve Regel wäre natürlich eine Möglichkeit, ich würde es aber gerne komplett getrennt haben. Die Bedienung ist bei getrennten Postfächern einfach weniger fehleranfällig.

Nur um sicher zu gehen, wir sprechen hier schon von dieser Maske:

Und anschließend die weiteren Details (IMAP, Sieve, SMTP) unter Rechtsklick auf den User und “Mail Account” einstellen?

Schöne Grüße
Manfred

Da kommt dann übrigens im Logfile folgendes beim Anliefern von Mails:
4.7.1 manfred@larcher.family: Relay access denied
weil der Server wohl ein <manfred@larcher.family@hauptdomain> erwartet.

2 months later

Heute hatte ich wieder mal ein wenig Zeit mir das Ganze anzusehen, der SQL Befehl mit dem die Domains aus der Mysql Datenbank geholt werden lautet (sql-domain.cf) wie folgt:

    SELECT config_value
    FROM egw_config
    WHERE config_app='phpgwapi' AND config_name='mail_suffix' AND config_value='%s'
    # allow all domains from configured aliases
    UNION
    SELECT DISTINCT RIGHT(mail_value, LENGTH(mail_value)-INSTR(mail_value, '@'))
    FROM egw_mailaccounts
    WHERE mail_type=3 AND mail_value LIKE '%%@%s'

Der erste Teil des Selects liefert bei mir die Hauptdomain zurück mit der egroupware betrieben wird, der zweite Teil liefert lieder gar nichts retour.

mail_type=3 gibt es in der Tabelle keinen einzigen Eintrag.

Mein zusätzliche angelegter Account mit @larcher.family steht hier als mail_type=“5” in der Tabelle und enthält den Wert “manfred@larcher.family@hauptdomain” was natürlich nicht stimmen kann.

Ändere ich den Eintrag in der MySQL Tabelle und entferne die @hauptdomain am Ende, so liefert der Select die Domain korrekt zurück. Allerdings erhalte ich wenn ich eine Mail anliefern möchte ein 454 4.7.1 Relay access denied.

Was vermutlich daran liegt das der sql-mailbox.cf Select:

SELECT CONCAT(account_lid,’@’,config_value) FROM egw_accounts JOIN egw_config ON config_app=‘phpgwapi’ AND config_name=‘mail_suffix’ JOIN egw_mailaccounts active ON egw_accounts.account_id=active.account_id AND active.mail_type=0 AND active.mail_value=‘active’ LEFT JOIN egw_mailaccounts delivery ON egw_accounts.account_id=delivery.account_id AND delivery.mail_type=1 WHERE account_status=‘A’ AND account_type=‘u’ AND (account_expires=-1 OR account_expires>NOW()) AND (delivery.mail_value IS NULL OR delivery.mail_value<>‘forwardOnly’) AND account_lid<>‘anonymous’ AND account_lid=‘manfred’ AND config_value=‘larcher.family’;

auch nichts zurück liefert…

Was habe ich hier falsch gemacht?

Schöne Grüße
Manfred

Hast Du dem Konto einen Alias mit der zweiten Domain eingetragen, oder direkt die zweite als primäre Email Adresse. Nicht sicher ob ich letzteres so vorgesehen habe.

Ralf

Hallo Ralf,

ich habe ein zusätzliches Benutzerkonto erstellt dem ich die Mail Adresse dieser Domain zugeordnet habe.
Und dieses habe ich dann, wie andere IMAP Accounts auch, bei meinem eigentlichen Mailkonto hinzugefügt.

Schöne Grüße
Manfred

Hmm, warum so umständlich?

Dann laden die Mails doch in zwei Mailboxen, wenn Du bei Dir einen zusätzlichen Alias einträgst, muss Du nicht auch noch einen User/Mailbox dafür anlegen. Ein Alias sorgt dafür das Mails an die Aliasadresse in der Mailbox landen, bei der der Alias eingetragen wurde.

Mit dem folgenden Kommando kannst Du rausfinden, was Postfix für eine eingehende Mail Adresse macht:

docker exec -it egroupware-smtp postmap -q <email> mysql:/etc/postfix/sql-aliases.cf

Ralf

Hallo Ralf,

genau das ist es was ich gerne möchte dass Mails in einer eigenen Mailbox am gleichen Server landen auf die ich dann zugreifen kann. So kann ich eine Mailbox dann auch mehreren Usern zuordnen.

Der Query liefert mit der Mail Adresse nichts zurück.

Schöne Grüße
Manfred

Ich habe hier mal ein Beispiel gemacht:


Das kann ich jetzt wie folgt abfragen:

root@testbox:/etc/egroupware-mail/postfix# docker exec -it egroupware-smtp postmap -q RalfBecker@testbox.egroupware.org mysql:/etc/postfix/sql-aliases.cf
ralf@testbox.egroupware.org
root@testbox:/etc/egroupware-mail/postfix# docker exec -it egroupware-smtp postmap -q ralf@test-box.egroupware.org mysql:/etc/postfix/sql-aliases.cf
ralf@testbox.egroupware.org
root@testbox:/etc/egroupware-mail/postfix# docker exec -it egroupware-smtp postmap -q test-box.egroupware.org mysql:/etc/postfix/sql-domains.cf
test-box.egroupware.org
root@testbox:/etc/egroupware-mail/postfix# docker exec -it egroupware-smtp postmap -q test2-box.egroupware.org mysql:/etc/postfix/sql-domains.cf
root@testbox:/etc/egroupware-mail/postfix#

Dh. der Alias ralf@test-box.egroupware.org wir jetzt in die Mailbox des User ralf geliefert und Postfix ist jetzt für die Domain test-box.egroupware.org zusätzlich zur Hauptdomain testbox.egroupware.org zuständig, nicht aber für test2-box.egroupware.org (Query liefert dort kein Ergebnis).

Ralf

Du ordnest mit dem Alias nicht zu, sondern kopierst die Mail zustätzlich in die anderen Boxen.

Was Du machen kannst ist ein User mit der entsprechenden primären Mail und dessen Mailbox an diverse User freigeben, dann existieren die Mails zu einmal.

Ralf

Guten Morgen Ralf,

danke für das Beispiel!
Wenn ich eine Alias Adresse anlege, dann passiert genau das was passieren soll - der Mailserver nimmt die E-Mail an und leitet sie in das Postfach zu dem die Alias Adresse gehört. Das funktioniert so prima, ist aber leider nicht das was ich bräuchte.

Mein Anliegen wäre dass ich auf einem egroupware Server mehrere Mail-Domains betreiben kann bei denen die User voneinander unabhängig sind - keine Ahnung ob ich mich da klar ausdrücke.
z.B. Verein-A und Verein-B teilen sich einen egroupware Server, beide Vereine haben aber grundsätzliche nichts miteinander zu tun. Beim Verein-A und Verein-B gibt es dann noch zusätzlich Postfächer die mehrere User bearbeiten, ein Kontakt-Postfach - das soll nicht als Alias angelegt werden sondern autark bleiben weil die User anhand des Status einer Mail erkennen was zu tun ist (ungelesen=unbearbeitet).

Beim obigen Konzept wäre es ja so dass Verein-A die erste Domain am Server hat und somit der Verein-B auch alles Mail Adressen von Verein-A bekommt, seine Verein-B Domain würde dann nur als Alias existieren und zwar korrekt zugestellt aber trotztem beim Verein-A landen bzw. dem Postfach der Verein-A Domain.
Ausgehende Mails nehme ich mal an haben dann per Default auch den Absender der Verein-A Domain und das ist ja nicht gewünscht.

Ist das auch irgendwie hin zu bekommen?

Vielen Dank
Manfred

Sinnvoll wäre dann allen eine (primäre) EMail Adresse aus der gewünschten Domain zu geben, und falls gewollt zusätzliche Aliases (Vorstand@…).

Muss ich evtl. die ein oder andere SQL Query noch anpassen, sollte keine große Aktion sein.

Ralf

Hallo Ralf,

ja, genau das wäre mein Wunsch! :slight_smile:
Wie gesagt mit der primären Adresse aus der @larcher.family Domain ist dann in der Datenbank ein Eintrag mit @manfred@larcher.family@primäre-domain gelandet.
Ich denke an der Stelle müsste man anfangen.
Wäre super wenn du die SQL Abfragen entsprechend anpassen könntest!

Vielen Dank
Manfred

SELECT config_value FROM egw_config WHERE config_app=‘phpgwapi’ AND config_name=‘mail_suffix’ UNION SELECT DISTINCT RIGHT(mail_value, LENGTH(mail_value)-INSTR(mail_value, ‘@’)) FROM egw_mailaccounts WHERE mail_type=3 UNION SELECT DISTINCT RIGHT(mail_value, LENGTH(mail_value)-INSTR(mail_value, ‘@’)) FROM egw_mailaccounts WHERE mail_type=5 and mail_value NOT LIKE ‘%@egroupware.local’;

Der Select würde die korrekten Domains liefern.
Dein Einblick in eure Datenstruktur ist sicher der bessere und vermutlich bekommst du einen bessere hin, aber ein Anhaltspunkt wäre es mal. :slight_smile:

Habe mir das nochmal angeschaut: alle Domains die primäre Mailadressen sind zu internen zu erklären hat ein großes Problem, wenn man Benutzer mit externen Email Adressen einträgt (und nicht darauf achtet, diese NICHT zu aktivieren).

Einfacher Workaround: lege einem einzigen Benutzer, z.B. Deinem eigenen einen Alias in der zweiten Domain an, dann kannst Du diese Domain auch als primäreren Email für Benutzer der zweiten Domain verwenden. Alternativ kannst Du auch einem User der zweiten Domain einen zusätzlichen Alias aus dieser eintragen.

Ralf

Das ist übrigens nicht die primäre Email (die ist in egw_addressbook.contact_email), sondern der Speicherort der Mailbox, damit der sich beim Ändern von Benutzernamen nicht ändert und damit die Mailbox “weg” ist:

Ralf

Hallo Ralf,

das scheint jetzt eine ganz vernünftige und einfach Lösung zu sein! :slight_smile:

Ich habe beim sysop-User einfach eine Alias mit eingerichtet, anschließend konnte ich einen neuen User anlegen mit der @larcher.family Domain als E-Mail Adresse. Versenden und Empfangen klappt dann auf Anhieb.

Somit ist das Thema für mich erstmal erledigt, wenn man weiß wie dann ist das Anlegen mehrerer Domains auf einem egroupware Server also kein Problem mehr! :wink:

Vielen Dank - einen guten Rutsch ins neue Jahr und jede Menge Glück und Gesundheit wünsche ich Euch allen!
Manfred