Attribut "mail" im ldap-(AD)-Verzeichnis, Maildomain für Klassen

Hallo Klaus … und wieder ein Mini-Stückchen weiter … dafür aber auch zwei Schritte zurück. Das Thema „Mail-Server“ ist hier leider nach wie vor ungelöst.

Ich habe mir auf einem Webserver in der DMZ ein aktuelles RainLoop installiert, um zu sehen, ob immerhin der Login klappt. Das geht soweit alles … ich kann mich mit meinem Login oder auch mit meiner vollständigen eMail-Adresse anmelden und sehe auch mein Maildir.

Im Admin-Panel erhalte ich bei den Domains auf beiden Seiten (Empfangen und Senden) grünes Licht:

Dennoch kann ich keine eMail versenden. Auf dem docker-Host habe ich mir die Logs angesehen:

docker logs <container-ID>  -f
--> 
Oct 25 13:10:50 mail dovecot: imap-login: Login: user=<mein-login>, method=PLAIN, rip=172.17.17.120, lip=172.18.0.2, mpid=4643, TLS, session=<MY0EFyisER4>
Oct 25 13:10:50 mail postfix/submission/smtpd[4644]: error: open database /etc/postfix/virtual.db: No such file or directory
Oct 25 13:10:50 mail postfix/submission/smtpd[4644]: connect from unknown[172.17.17.120]
Oct 25 13:10:50 mail postfix/submission/smtpd[4644]: Anonymous TLS connection established from unknown[172.17.17.120]: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
Oct 25 13:10:59 mail postfix/trivial-rewrite[4647]: error: open database /etc/postfix/virtual.db: No such file or directory
Oct 25 13:10:59 mail postfix/trivial-rewrite[4647]: fatal: db_common_parse: /etc/postfix/ldap-domains.cf: Invalid query template: (mail=*@%)
Oct 25 13:11:00 mail postfix/master[1530]: warning: process /usr/lib/postfix/sbin/trivial-rewrite pid 4647 exit status 1
Oct 25 13:11:00 mail postfix/master[1530]: warning: /usr/lib/postfix/sbin/trivial-rewrite: bad command startup -- throttling

So geht’s also leider nicht weiter … ich weiß leider nach wie vor nicht, ob überhaupt jemand hier im Forum den linuxmuster-mail-Container erfolgreich mit dem v7-Server und den geforderten Features einsetzt?!?

Vielleicht hast du ja noch einen Tipp …
Viele Grüße,
Michael

Hallo Michael,

2 Fehler sehe ich in Deinem Log Auszug:

Oct 25 13:10:59 mail postfix/trivial-rewrite[4647]: fatal: db_common_parse: /etc/postfix/ldap-domains.cf: Invalid query template: (mail=*@%)

Muss in ldap-domains.cf heißen:

query_filter = (mail=*@%s)
error: open database /etc/postfix/virtual.db: No such file or directory

Wenn in /etc/postfix/main.cf ein Eintrag für /etc/postfix/virtual existiert, mußt Du diese evtl. mit postmap in ein .db Format bringen. Also postmap /etc/postfix/virtual

Viele Grüße
Klaus

Hallo Klaus.
Wow – das ging schnell! Ok – ich habe die beiden Einträge geändert. Jetzt erhalte ich bzgl der Datei virtual.db eine andere Meldung – ich kann den Eintrag evtl auch ganz rauswerfen, wenn das damit nicht läuft? Es ist imho eh optional, oder?

-rw-r--r-- 1 root root     0 Oct 25 13:57 virtual
-rw-r--r-- 1 root root 12288 Oct 25 14:06 virtual.db
Oct 25 13:58:39 mail dovecot: imap-login: Login: user=<mein-login>, method=PLAIN, rip=172.17.17.120, lip=172.18.0.2, mpid=1593, TLS, session=<aYoDwi3PXoKsERF4>
Oct 25 13:58:39 mail postfix/submission/smtpd[1580]: connect from unknown[172.17.17.120]
Oct 25 13:58:39 mail postfix/submission/smtpd[1580]: Anonymous TLS connection established from unknown[172.17.17.120]: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
Oct 25 13:58:39 mail postfix/submission/smtpd[1580]: 5C4885441E8: client=unknown[172.17.17.120], sasl_method=PLAIN, sasl_username=mein-login@meine-schule.de
Oct 25 13:58:39 mail postfix/sender-cleanup/cleanup[1585]: warning: hash:/etc/postfix/virtual is unavailable. open database /etc/postfix/virtual.db: No such file or directory
Oct 25 13:58:39 mail postfix/sender-cleanup/cleanup[1585]: warning: hash:/etc/postfix/virtual lookup error for "mein-login@meine-schule.de"
Oct 25 13:58:39 mail postfix/sender-cleanup/cleanup[1585]: warning: 5C4885441E8: virtual_alias_maps map lookup problem for mein-login@meine-schule.de -- message not accepted, try again later
Oct 25 13:58:39 mail dovecot: imap(mein-login)<1593><aYoDwi3PXoKsERF4>: Logged out in=11 out=443 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 body_count=0 body_bytes=0
Oct 25 13:58:39 mail postfix/sender-cleanup/cleanup[1585]: warning: hash:/etc/postfix/virtual is unavailable. open database /etc/postfix/virtual.db: No such file or directory
Oct 25 13:58:39 mail postfix/sender-cleanup/cleanup[1585]: warning: hash:/etc/postfix/virtual lookup error for "postmaster@mail.meine-schule.de"
Oct 25 13:58:39 mail postfix/sender-cleanup/cleanup[1585]: warning: 5DB455441E8: virtual_alias_maps map lookup problem for postmaster@mail.meine-schule.de -- message not accepted, try again later
Oct 25 13:58:39 mail postfix/submission/smtpd[1580]: disconnect from unknown[172.17.17.120] ehlo=2 starttls=1 auth=1 mail=1 rcpt=1 data=0/1 commands=6/7
Oct 25 13:58:39 mail dovecot: imap-login: Login: user=<mein-login>, method=PLAIN, rip=172.17.17.120, lip=172.18.0.2, mpid=1595, TLS, session=<v5QKwi3PYoKsERF4>
Oct 25 13:58:39 mail dovecot: imap(mein-login)<1595><v5QKwi3PYoKsERF4>: Logged out in=549 out=2667 deleted=0 expunged=0 trashed=0 hdr_count=1 hdr_bytes=507 body_count=0 body_bytes=0

Viele Grüße,
Michael

Hallo Michael,

der postfix denkt er ist nicht zuständig für die Domain „meine-schule.de“. /etc/postfix/virtual ist also leer, ok. Dann muß es eine andere Möglichkeit für postfix geben nachzusehen, welche Domains er bedienen soll.
Was ergibt die Ausgabe:

postconf virtual_alias_maps

Und was ist der Inhalt der Dateien, welche diese Ausgabe auflistet?

Viele Grüße
Klaus

… das liefert:

root@mail:/etc/postfix# postconf virtual_alias_maps
virtual_alias_maps = hash:/etc/postfix/virtual, ldap:/etc/postfix/ldap-groups.cf, ldap:/etc/postfix/ldap-aliases.cf

Mittlerweile habe ich gesehen, dass die Datei virtual.db wieder weg ist, wenn der Container neu gestartet wurde – logisch, aber hatte ich vorhin nicht bedacht. :man_facepalming:

Diese Installation ist ja ein docker-Container … daher gerade nochmal die .db angelegt und siehe da: Ich kann jetzt immerhin schon mal eine eMail an mich selbst schicken. Ein Anfang … aber alles andere ist noch nicht getestet.

Auch ein Adressbuch habe ich noch nicht.

Nachtrag:
Eine eMail vom Schul-Mail-Server an eine web.de-Adresse kam gerade über! Der Rückweg aber nicht … im Log-File steht dann:
Recipient address rejected: User unknown in virtual mailbox table; … ich werde das mal rauswerfen und es dann nochmal versuchen.

Nachtrag zum Nachtrag:
Keine Änderung … der Rückweg klappt nicht. Die eMail wurde als unzustellbar zurück an web.de geschickt und auch dort steht: Recipient address rejected: User unknown in virtual mailbox table

ach ja – du wollltest ja auch noch den Inhalt der beiden Dateien sehen. Hier kommen sie (leicht angepasst mit deinen Empfehlungen):

cat ldap-groups.cf             
# modified by linuxmuster-mail at 20200123163046
# /srv/docker/linuxmuster-mail/config/postfix/ldap-users.cf
#
# thomas@linuxmuster.net
# 20190314

bind = yes
bind_dn = CN=global-binduser,OU=Management,OU=GLOBAL,DC=linuxmuster,DC=meine-domain,DC=de
bind_pw = sehr-geheimes-Passwort
#Geändert:
#query_filter = (samaccountname=%s)
#result_attribute = samaccountname
query_filter = (mail=%s)
result_attribute = mail
special_result_attribute = member
leaf_result_attribute = mail
search_base = OU=SCHOOLS,DC=linuxmuster,DC=meine-domain,DC=de
server_host = ldaps://server.linuxmuster.meine-domain.de:636
version = 3

und

cat ldap-aliases.cf 
# modified by linuxmuster-mail at 20200123163046
# /srv/docker/linuxmuster-mail/config/postfix/ldap-users.cf
#
# thomas@linuxmuster.net
# 20190314

bind = yes
bind_dn = CN=global-binduser,OU=Management,OU=GLOBAL,DC=linuxmuster,DC=meine-domain,DC=de
bind_pw = sehr-geheimes-PW
#geändert:
#query_filter = (samaccountname=%s)
#result_attribute = samaccountname
query_filter = (mail=%s)
result_attribute = mail
search_base = OU=SCHOOLS,DC=linuxmuster,DC=meine-domain,DC=de
server_host = ldaps://server.linuxmuster.meine-domain.de:636
version = 3

Hilft Dir das weiter?

Noch eine Ergänzung: Ich habe gerade spasseshalber mal eine eMail an ein Projekt geschickt … also sowas wie p_kurs_ma123@linuxmuster.meine-domain.de – die eMail kam zwar zurück (User doesn't exist!), doch die User innerhalb der Gruppe konnten alle aufgeflöst werden! Es fehlt als offenbar nur noch eine Kleinigkeit!?!

Hallo Michael,

das passt doch jetzt so, oder?
Du kannst eine E-Mail an Dich selbst schicken. Mail an ein Projekt funktioniert bei mir auch noch nicht. Das ist in sophomorix-samba noch nicht implementiert. D.h. das Projekt bekommt bei mir noch nicht den Domainnamen für E-Mail, welcher in der school.ini definiert ist.
Was ist denn jetzt noch der Fehler im mail.log bei einer E-Mail an eine Schul E-Mail Adresse?

Viele Grüße
Klaus

Hallo Klaus,
nein, es passt noch nicht ganz – was bereits funktioniert ist:

  • eMail an mich selbst (in der Form <login>@meine-schule.de)
  • eMail raus z.B. an web.de → wird zugestellt!

Was aber nicht klappt:

  • eMail zurück von web.de an die Schul-Adresse. Die wird nicht zugestellt, da das Postfach angeblich nicht exisitiert
  • eMail nicht per Login sondern per Alias <vorname.nachname@meine-schule.de> → wird ebenfalls nicht gefunden
  • eMail an eine Gruppe wird ja immerhin aufgelöst: In der zurückgeschickten eMail erscheinen bei mir alle Namen der Gruppenmitglieder, aber dann ist man wieder bei Punkt 1: „Postfach existiert nicht“.

Unter’m Strich: Ich verstehe nicht, warum es intern zwar geht aber von extern nicht ankommt?
Der mail-Server ist auf jeden Fall von außen erreichbar. Daran liegt es nicht…

Vielleicht hast du ja eine neue Idee … eigentlich kann es nicht mehr viel sein, oder?
Viele Grüße,
Michael

Hallo Michael,

Logfileauszug des Mailservers?

Existiert wahrscheinlich auch nicht. Außer Du hast das gesetzt in der school.conf MAIL_LOCAL_PART_SCHEME
Vielleicht einfach mal die E-Mail Adressen im LDAP kontrollieren.

Ok, also derselbe Fehler wie oben. Mail von extern nach intern funktioniert nicht. Intern kannst Du also an Gruppenmitglieder(Klassen, Projekte) schicken.

Schau doch nochmal ins Mailserver Log was da steht.

Viele Grüße
Klaus

… hatte ich ja oben bereits gepostet.
Ich habe gerade nochmal im docker-Container selbst nachgesehen:
Die Datei /var/log/mail/mail.info liefert den gleichen Inhalt die die docker-Logs. Von daher habe ich leider keine neuen / anderen Fehlermeldungen als schon oben stehen.
Oder meinst du noch etwas anderes, was ich hier posten könnte?

Hallo Klaus.
Vielleicht kommt hier noch ein Hinweis, wo es klemmt … in Deiner Vorlage hast du diesen Befehl eingefügt:

#    testen, ob query funktioniert:                              #
#    sudo postmap -q e3fi2 ldap:/etc/postfix/ldap-aliases.cf     #

Was liefert der Befehl bei Dir denn zurück: Nur den Login oder die vollständige eMail-Adresse?

Wenn ich das innerhalb des docker-Containers mit meinem Login versuche, erhalte ich nichts. Ich denke, dass es mit der Einstellung

#query_filter = (samaccountname=%s)
#result_attribute = samaccountname
bzw 
query_filter = (mail=%u)
result_attribute = mail

zusammenhängen könnte … leider ist nicht klar, was denn nun richtig ist.
Du verwendest offenbar den mail-Einträg, während der docker-Container seinerzeit mit der anderen Einstellung „ausgeliefert“ wurde. Nur wenn ich den Eintrag
samaccountname verwende, liefert die postmap-Abfrage meinen Login zurück (aber nicht die gesamt eMail-Adresse).

Es bleibt aber leider dabei: Wenn ich von außen eine eMail an meine Schul-Adresse schicke, erhalte ich auch weiterhin:

Recipient address rejected: User unknown in virtual mailbox table; from=<meine-adresse-bei@web.de> to=<mein-login@meine-schule.de> proto=ESMTP helo=<mout.web.de>

Aber noch etwas zu Deiner Anmerkung von oben:

Ja, das ist gesetzt: MAIL_LOCAL_PART_SCHEME = firstname.lastname

Zudem funktioniert
postmap -q meine-schule.de ldap:/etc/postfix/ldap-domains.cf und liefert sämtliche Adressen in der LANGEN Form vorname.nachname@meine-schule.de – vielleicht ist das ja das Problem?

Viele Grüße,
Michael

Hallo Michael,

Das ist nicht von meiner Vorlage, sondern von einer anderen Konfiguration hier im Forum mit anderen Parametern.

Du mußt mit meiner Konfiguration ausprobieren:

postmap -q mein-login@meine-schule.de ldap:/etc/postfix/ldap-aliases.cf

Muß zurückliefern:

mein-login@meine-schule.de

Woher kommt das denn jetzt?

query_filter = (mail=%u)

So steht es oben weder in Deiner noch in meiner Konfiguration.

Bitte lass das mal weg. Also setze:

MAIL_LOCAL_PART_SCHEME =

und ein sophomorix-class --update-maildomain so daß die E-Mail Adressen lauten loginname@meine-schule.de
Das wird sowieso zu Schwierigkeiten mit doppelten Namen führen.

Das passt so, weil Du das mit MAIL_LOCAL_PART_SCHEME = firstname.lastname festgelegt hast. Aber bitte erstmal wegnehmen.

Viele Grüße
Klaus

Hallo Klaus,

Sorry – ich hatte mir die Dateien von @micha angesehen, die er hier erwähnt hatte:

Die kamen also gar nicht von Dir – alle Einträge stehen wieder auf query_filter = (samaccountname=%s).

Damit komme ich immerhin soweit, dass von postmap der Username zurückgegeben wird:
postmap -q mein-login@meine-schule.de ldap:/etc/postfix/ldap-aliases.cf
funktioniert nicht (leere Ausgabe) aber
postmap -q mein-login ldap:/etc/postfix/ldap-aliases.cf
spuckt immerhin den Usernamen aus.

Ich werde als nächstes den Eintrag
MAIL_LOCAL_PART_SCHEME = firstname.lastname wieder rückgängig machen…
mal sehen, ob das hilft.

Ja, das hatten wir ja hier schon mal diskutiert … bei Lehrer-eMail-Adressen fände ich eine Alias-Adresse aber weiterhin extrem hilfreich. Da ist die Wahrscheinlichkeit für Doppelungen auch wesentlich geringer. Bei den Schüler-Adressen geht es vermutlich nicht anders. Ich weiß aber auch nicht, wie das z.B. Lösungen wie iServ realisieren – die müssen die Doppelungen ja auch irgendwie abfangen??

Noch eine Ergänzung bzgl des mail-Containers: Der Unterbau, den der linuxmuster-mail-Container verwendet, hat sich ja etwas geändert. Verwendet wird ja noch der alte https://hub.docker.com/r/tvial/docker-mailserver – der ist aber umgezogen zu
https://github.com/docker-mailserver/docker-mailserver! Und dort gibt es auch ein Beispiel, wie die LDAP-Anbindung aussehen könnte. Da es auf der Webseite nur eine einzige Datei ist, erscheint es mir viel einfacher zu sein als bisher!??

Viele Grüße,
Michael

Hallo Klaus.
Gerade habe ich es nochmal genauso versucht, wie Du es oben geschrieben hattest. Die Einträge in den ldap-*.cf-Dateien müssen alle mail und nicht samaccountname lauten. Dann funktioniert postmap auch!

Nun bin ich also einen entscheidenden Schritt weiter und die Postfächer sind vorhanden. Wenn ich nun eine e-Mail von außen an eine Schul-Adresse schicke, hat sich die Fehlermeldung geändert zu:

mail postfix/postscreen[1818]: NOQUEUE: reject: RCPT from [217.72.192.78]:60947: 550 5.7.1 Service unavailable; client [217.72.192.78] blocked using zen.spamhaus.org; from=<meine-adresse-bei@web.de>, to=<mein-login@meine-schule.de>, proto=ESMTP, helo=<mout.web.de>

Die eMail wird also offenbar als SPAM angesehen … nur: Warum?
Viele Grüße,
Michael

Hallo Michael,

Das ist gut, daß Du das genauso versucht hast, sonst hätte ich Dir nämlich nicht mehr weiterhelfen können :wink:

Der Mailserver mit LDAP Anbindung an Linuxmuster funktioniert also nun für Dich. Das ist Thema dieses Threads. Wenn wir jetzt hier weitermachen und jedes Detail und alle Möglichkeiten von Postfix ausschöpfen, dann wird es hier ganz schön unübersichtlich werden.

Warum die IP-Adresse mit der Du die E-Mail an web.de verschickt hast bei zen.spamhaus.org gelistet ist, mußt Du dort anfragen. Wenn Du den Spamfilter nicht möchtest, dann postscreen in postfix/master.cf deaktivieren(würde ich nicht empfehlen, wenn der Mailserver direkt im Internet hängt) oder postscreen_dnsbl_sites in postfix/main.cf anpassen.

Viele Grüße
Klaus

1 „Gefällt mir“

Hallo Klaus.

Ok, dann bleiben wir hier bei diesem Thema und ich mache für andere Fragen einen neuen Thread auf …

Nach wie vor unklar ist ja leider die Sache mit den Alias-Adressen, oder? Wenn ich das richtig sehe, müsste bei funktionierenden Aliases

postmap -q <login> ldap:/etc/postfix/ldap-users.cf
  etwas anderes liefern als
postmap -q <login> ldap:/etc/postfix/ldap-aliases.cf

richtig? (kurze Form / lange Form?)

Die Datei /etc/aliases ist bei Dir ja auch leer, oder?

Die Sache mit dem SPAM-Filter schaue ich mir nachher nochmal an …
Viele Grüße,
Michael

Hallo @micha
Ich habe die älteren Beiträge in diesem (etwas aus den Fugen geratenen) Thread gerade nochmal gelesen. Du schreibst, dass du SOGo verwendest … aber nicht als docker-Container sondern scheinbar NUR das Frontend?? Im Moment habe ich dazu im Testbetrieb RainLoop verwendet, was aber nur mäßig schick ist. Kannst du uns nochmal genauere Infos geben, wie die Anbindung über SOGo an den Mailserver läuft? Das scheint mir wirklich die sehr viel elegantere Lösung zu sein.

Viele Grüße,
Michael

Hallo Michael,

tut mir leid, dass ich so spät reagiere, ich hatte diesen verlauf hier nicht mehr verfolgt.

sogo gibt’s als deb-paket (apt install sogo)
unten ist meine config. da sogo, postifx und imapd alle auf dem gleichen host laufen, war sogo der leichteste teil der übung. d.h. sogo greift einfach auf localhost:smtp und localhost:imap zu. plain-text, ohne verschlüsselung, bleibt ja auf einem vhost. auch auf den schulserver (ldap) greife ich ohne ssl zu, ist zwar ein anderer vhost, aber auf der gleichen kiste.

vorsicht bei bind-passwörtern, die irgendwelche klammern enthalten, das wirft den conf-parser aus der bahn, wenn man die gänsefüsschen vergisst.

viele grüsse

michael

{
  SOGoProfileURL = "postgresql://sogo:sogo@db-alias:5432/sogo/sogo_user_profile";
  OCSFolderInfoURL = "postgresql://sogo:sogo@db-alias:5432/sogo/sogo_folder_info";
  OCSSessionsFolderURL = "postgresql://sogo:sogo@db-alias:5432/sogo/sogo_sessions_folder";
  OCSEMailAlarmsFolderURL = "postgresql://sogo:sogo@db-alias:5432/sogo/sogo_alarms_folder";
  SOGoLanguage = English;
  SOGoAppointmentSendEMailNotifications = YES;
  SOGoMailDomain = "caponova.wara.de";
  SOGoMailingMechanism = smtp;
//  SOGoSMTPServer = "smtp://127.0.0.1:587/?tls=YES&tlsVerifyMode=allowInsecureLocalhost";
  SOGoSMTPServer = 127.0.0.1;
  SOGoTimeZone = UTC;
  SOGoSentFolderName = Sent;
  SOGoTrashFolderName = Trash;
  SOGoDraftsFolderName = Drafts;
  SOGoIMAPServer = "imap://127.0.0.1:143/?tls=YES&tlsVerifyMode=allowInsecureLocalhost";
  SOGoSieveServer = "sieve://localhost:4190";
  SOGoIMAPAclConformsToIMAPExt = YES;
  SOGoVacationEnabled = NO;
  SOGoForwardEnabled = NO;
  SOGoSieveScriptsEnabled = NO;
  SOGoFirstDayOfWeek = 0;
  SOGoMailMessageCheck = manually;
  SOGoMailAuxiliaryUserAccountsEnabled = NO;
  SOGoMemcachedHost = 127.0.0.1;
  domains = {
     caponova.wara.de = {
        SOGoMailDomain = "caponova.wara.de";
        SOGoUserSources = (
           {
           type= ldap;
           CNFieldName = cn;
           IDFieldName = cn;
           UIDFieldName = sAMAccountName;
           baseDN = "OU=default-school,OU=SCHOOLS,DC=wara,DC=lan";
           bindDN = "cn=mail-binduser,OU=Management,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan";
           bindFields = (sAMAccountName);
           bindPassword = "wennichdasnurnochwuesste";
           canAuthenticate = YES;
           displayName = "Active Directory";
           hostname = "ldap://10.16.1.1:389";
           id = directory;
           isAddressBook = YES;
           }
        );
     };
  };
}
1 „Gefällt mir“

Hi.
Ja, ok – das stimmt. Allerdings ist auf dem 18.04er Ubuntu nur diese Version verfügbar:

sogo/bionic 3.2.10-1build1 amd64

Auf der Webseite gibt es Version 5.3 – aber das ist offenbar nicht frei verfügbar? Mir ist auch nicht klar, welche Version es denn nun sein muss, denn eigentlich reicht ja ein Frontend und nicht der ganze Server mit Backend?? Auf welchem Weg kann man ein aktuelles Frontend passend zum schon laufenden Mailserver aufsetzen?? Wenn Du also noch einen guten Tipp parat hast, wäre ich Dir dankbar :slight_smile:
Viele Grüße,
Michael

Hallo Michael,

Du brauchst das backend, das frontend ist eine webapp (es gibt auch native frontends).

das backend setzt wiederum voraus (aus Documentation/SOGoInstallationGuide.asciidoc im quellpaket):

|=============================================
|Database server        |PostgreSQL 7.4 or later
|LDAP server            |OpenLDAP 2.3.x or later
|SMTP server            |Postfix 2.x
|IMAP server            |Cyrus IMAP Server 2.4.x or later
|=============================================

cyrus muss nicht sein, ich habe dovecot verwendet. sogo braucht einen imap-server, egal welcher.

ja, die webseite von sogo hat mich auch verwirrt: sie wollen eine authentifizierung fuer den download.
aber nur fuer ihre builds, das quellpaket ist frei.
in meiner debian-distri ist sogo enthalten, also gibt es einen debian-paketverwalter, der aus den sogo-quellen ein .deb gebaut hat. das ist dann natuerlich komplett frei. fuer ubuntu wird das gleich sein.

in einer debian-bullseye-installation habe ich sogo in version 5.0.1.4 bei ubuntu 20.04 wird es aehlich sein.

ich habe gerade auch mal das quellpaket angeschaut, ./configure-make-make_install laeuft nicht so einfach:

./configure
error: please specify a GNUstep make tree!

GNUstep ist zwar interessant (wusste gar nicht, dass das noch lebt), aber bevor ich mich jetzt da einarbeite, vertaue ich meinem debian-package-maintainer.

also einfach: apt update && apt install sogo

das loest auch alle abhaengigkeiten auf.

viele gruesse
michael