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

hallo Michael,

wenn man sogo verwendet, lohnt sich der aufwand mit den klarnamen-alias ueberhaupt nicht: sogo greift von sich aus schon auf die sophomorixFirst/SurnameASCII-attribute zu.
d.h. wenn man an ein schuelerli schreiben moechte genuegt es, die ersten paar buchstaben vom nachnamen zu tippen und voila, hat man eine auswahl aller in frage kommenden adressaten mit den klarnamen und der eigentlichen mailadresse.

jetzt haette ich noch gerne einen nativen mailclienten, der das auch kann.

viele gruesse

michael

Hi @micha

Kannst du dir nicht mit CardDAV die Kontaktliste auf das jeweilige Geräte syncen?
SoGo hat eigentlich einen eigebatuen CardDAV Server.

VG, Dorian

… nochmal unter’m Strich: Wäre dann nicht der mailcow-docker-Container (mit SOGo) eine sehr gute Möglichkeit, den v7-Server endlich um einen mail-Server zu ergänzen?

Offenbar wird der andere docker-container seit mehr als zwei Jahren nicht mehr gewartet?!?

Noch eine Rückfrage dazu: Wie reagiert die Auswahl denn bei Doppelnamen? Steht dann die Klasse dahinter? Oder wie kann man die sonst unterscheiden?

Viele Grüße,
Michael

Das wird sicher funktionieren. Und es würde sicher viele freuen, wenn du das machst :+1:

VG, Dorian

Na ja – den Container zum Laufen zu bekommen ist nicht das Problem. Ich habe es gerade mit der alten Installation versucht und docker-compose pull laufen lassen … das läuft sogar noch und ist jetzt auf dem aktuellen Stand!

Dann geht’s los: Die Anbindung an den v7-Server per AD ist der erste Schritt, der ja noch machbar klingt. Aber dann: Ich weiß nicht, was man alles einstellen muss, bis der eigene mail-Server auch nur ansatzweise als vertrauenswürdig gilt und einer Prüfung von https://www.mail-tester.com/ standhält. Das müsste natürlich gewährleistet sein, damit nicht jede zweite eMail des schulinternen Mailservers von den großen Providern als SPAM eingestuft wird …

Aber wenn @micha hier Erfahrungswerte hat, können wir das gerne anstoßen. Ich habe ja schon öfter hier geschrieben, dass ich einen laufenden v7-Mailserver stark vermisse…

Viele Grüße,
Michael

hallo zusammen,

ich habe die komfortable situation, hinter dem belwue-mailrelay zu sitzen. d.h. um white-/gray-/blacklisting usw. musste ich mich ueberhaupt nicht kuemmern. MX eintrag fuer die maildomain und die bitte an belwue, das mailrouting anzupassen genuegen.

aber das muesste doch bei allen providern die ein mailrelay zur verfuegung stellen, aehnlich sein?

viele gruesse

michael

hallo Michael,

nein, doppelnamen sind ein problem und man sieht die klasse nicht.

man muss dann wirklich den richtigen samaccountname (aka uid) kennen. also wer hat hinten eine ziffer und wer nicht.

habt Ihr soviele schueler mit doppelnamen?

viele gruesse

michael

Hallo.

Das ist ein Nachteil / Problem …

Den kennt man natürlich nicht immer … allerdings funktionieren ja eMails an ganze Klassen, wie Du sagst, oder?

So viele sind es nicht – aber einige schon … was wird denn angezeigt, wenn Doppelnamen im System eingetragen sind? Vermutlich immer alles, oder?

Viele Grüße,
Michael

Hallo Rüdiger,

bei meinem Produktivsystem funktioniert Deine beschriebene Vorgehensweise auch nicht.
Hast Du evtl. Testing Pakete auf Deinem Testsystem, bzw Änderungen, welche noch nicht in „stable“ sind?

Viele Grüße
Klaus

hallo zusammen,

nach dem upgrade auf die sophomorix-samba version 3.81.11 tut

nun genau was es soll. alle klassen haben nun die richtige maildomain.

's wird immer besser! ruediger ist ein held und jeff (https://youtu.be/6Y1yQdb7SlE) auch!

viele gruesse

micha

Hallo micha,

ja stimmt, das kann ich bestätigen.

Könntest Du vielleicht Deine /etc/postfix/main.cf und /etc/postfix/master.cf posten?

Bei meinem Setup erweitert Postfix die Gruppen nicht zu einzelnen Adressen, obwohl ein postfix -q das richtige Ergebnis liefert.

Danke und viele Grüße
Klaus

hallo Klaus,

ich habe mein gesamtes /etc/postfix archiviert und hier abgelegt:
https://dt.wara.de/postfix/

die bind-passwoerter sind natuerlich fakes.

bei mir hat das auch nicht auf anhieb funktioniert, ich habe dann eine weile rumprobiert und evtl. muss man die aliases-db jedesmal neu erzeugen (vgl. meine liesmich-aliases.txt: "die datei ldap-aliases.cf.db muss manuell mit sudo postmap ldap-aliases.cf erzeugt werden. ").

was aber schlecht waere, dann muesste man ja nach jeder aenderung im ldap-verzeichnis wieder diese datenbank erzeugen. kann doch nicht sein, oder?

ich muss also gestehen, dass ich es noch nicht komplett verstanden habe.

noch ein hinweis zu normalen mail-empfaengern:
ldap-virtual_maps.cf legt die mails dovecot-gerecht ab: der pfad zum Maildir wird in main.cf UND ldap-virtual_maps.cf festgelegt.

zuerst hatte ich mich an lmtp versucht, laut dovecot-doku soll das supereinfach sein, aber ich habe es nicht hinbekommen. plan B war dann die virtual-maps-datei.

viele gruesse

michael

@jeffbeck
Hallo Rüdiger,

das funktioniert aber noch nicht für Projekte.

/etc/linuxmuster/sophomorix/default-school/school.conf

...
[type.project]
        # projects 
        MAILDOMAIN=schule.example.com
...

sophomorix-project --update-maildomain

sophomorix-project -i -p p_teamleiter

                mail: p_teamleiter@fzi.lan                    
   sophomorixAddMailQuota: ---:---:                                
   sophomorixMailAlias: FALSE                                   
   sophomorixMailList: FALSE  

Könntest Du das bitte noch realisieren?

EDIT:
Gerade gefunden. Ist wohl noch in Arbeit.

Danke und viele Grüße
Klaus

Hallo Michael,

vielen Dank für die Dateien mit den Kommentaren!

Bei mir funktioniert die Mailzustellung an Klassen jetzt auch. Und zwar via dovecot lmtp, wie das in der Docker Beispielkonfiguration ist. Letztendlich war die Reihenfolge bei virtual_alias_maps entscheidend.

Die ldap-aliases.cf, wie auch andere ldap Dateien brauchst Du nicht mit postmap in ein Berkeley DB Hash File umwandeln. Diese werden von postfix direkt gelesen und verarbeitet.

/etc/postfix/ldap-domains.cf

bind = yes
bind_dn = CN=global-binduser,OU=Management,OU=GLOBAL,DC=linuxmuster,DC=lan
bind_pw = FvxVgHv8oszRX96t
query_filter = (mail=*@%s)
result_attribute = mail
search_base = OU=SCHOOLS,DC=linuxmuster,DC=lan
server_host = ldaps://server.linuxmuster.lan:636
version = 3

/etc/postfix/ldap-aliases.cf

bind = yes
bind_dn = CN=global-binduser,OU=Management,OU=GLOBAL,DC=linuxmuster,DC=lan
bind_pw = FvxVgHv8oszRX96t
query_filter = (mail=%s)
result_attribute = mail
search_base = OU=SCHOOLS,DC=linuxmuster,DC=lan
server_host = ldaps://server.linuxmuster.lan:636
version = 3

/etc/postfix/ldap-groups.cf

bind = yes
bind_dn = CN=global-binduser,OU=Management,OU=GLOBAL,DC=linuxmuster,DC=lan
bind_pw = FvxVgHv8oszRX96t
query_filter = (mail=%s)
result_attribute = mail
special_result_attribute = member
leaf_result_attribute = mail
search_base = OU=SCHOOLS,DC=LINUXMUSTER,DC=lan
server_host = ldaps://server.linuxmuster.lan:636
version = 3

leaf_result_attribute bewirkt, daß die eigentliche Gruppe nicht adressiert wird, sondern nur die Mitglieder der Gruppe.

/etc/postfix/main.cf

...
virtual_transport = lmtp:unix:/var/run/dovecot/lmtp
virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf
# Achtung: Reihenfolge einhalten. virtual ist optional, ldap-groups.cf zuerst, dann erst ldap-aliases.cf
virtual_alias_maps = hash:/etc/postfix/virtual, ldap:/etc/postfix/ldap-groups.cf, ldap:/etc/postfix/ldap-aliases.cf
...

Bei Interesse schreibe ich das Setup von Dovecot und Postfix mit Mails an Gruppen und Mailquota über Linuxmuster noch ins Wiki.

Viele Grüße
Klaus

1 „Gefällt mir“

Hallo Klaus,
danke für’s Teilen!
Ich werde unseren docker-Mailserver nochmal mit Deinen neuen Optionen anwerfen und schauen, ob es damit läuft.

Allerdings bleibt das generelle Problem bestehen: Was muss man alles unternommen, damit der Mailserver auch von den großen Providern als vertrauenswürdig eingestuft wird und z.B. die Tests von https://www.mail-tester.com/ halbwegs übersteht?
Es bringt ja nichts, wenn man einen schuleigenen Mailserver hat, der aber von „allen“ anderen Mail-Servern als SPAM-Schleuder eingestuft wird…

Viele Grüße,
Michael

Hallo Michael,

Es kommt darauf an, wie Dein Setup ist. Bei mir ist es so, daß ich beim externen Provider ein Multidrop Postfach habe, welcher alle Mails für schule.example.com annimmt. Diese hole ich mit dem internen Mailserver via „fetchmail“ ab. Der Versand funktioniert dann über denselben Provider mittels relayhost Parameter in Postfix.

Wenn Dein Mailserver mit einer festen IP-Adresse im Internet steht, dann muß dieser einen gültigen DNS MX-Record haben, ebenso sollte der Reverse Lookup der IP-Adresse auflösbar sein und der Name identisch sein mit dem Mailnamen(Greeting Banner) des Postfix. Ein DNS DKIM Eintrag(openDKIM) ist außerdem hilfreich. Mehr braucht es eigentlich nicht. Natürlich sollte der Postfix so eingerichtet sein, daß er kein offenes Relay ist.

Viele Grüße
Klaus

…also im Moment befindet sich der Mailserver als VM auf unserem Server – wir haben „systembedingt“ keine feste IP, da es das Paket nicht zu buchen gab … daher ist der ganze Ansatz vermutlich gleich zum Scheitern verurteilt?!?
Deine Optionen habe ich trotzdem mal eingebaut. Es ist der linuxmuster-docker-mail-Container, über den hier schon mehrfach gesprochen wurde.

Hallo Michael,

also ein interner Mailserver, der E-Mails vom Provider abholt und intern verteilt? E-Mails werden dann über den Mailserver an den Provider verschickt(Relayhost).
Dann sollte es keine Probleme geben, da ja der Provider die Mails verschickt.

Viele Grüße
Klaus

Hallo.

Wir haben einen vollwertigen Webserver (mit Plesk). Der kann natürlich als Relayhost dienen und auch eMails annehmen. Dazu müsste man den internen Mailserver mit ihm verheiraten und als vertrauenswürdig einstellen. Ich weiß aber nicht, welche Schritte dazu notwendig sind. :thinking:

Umgekehrt würden dann alle eMails, die von außen an den internen Webserver geschickt werden, zunächst über den Relay-Host laufen und dort alle in einem einzigen Postfach landen, richtig?
Ist das denn zweckmäßig auf diese Art?

Auf unserem docker-Host in der DMZ, auf dem im Moment zu Testzwecken abwechselnd mailcow/SOGo und der linuxmuster-mail-Container laufen, wäre im Prinzip alles denkbar … entscheidend wird am Ende aber sein, wie benutzerfreundlich das ist.

Ich habe es übrigens nochmal mit den geänderten Settings, die Du oben vorgeschlagen hast, versucht … gerade konnte ich mich wieder mit meinen Credentials anmelden: IMAP, POP3 und SMTP einfach testen - servereye – ein erster Erfolg!

… und wenn ich mir nochmal das Setup mit dem SOGo/Mailcow-Server ansehe, wird’s nicht unbedingt übersichtlicher. Da weiß ich gar nicht, wohin die Dateien /etc/postfix/*.cf gehören, damit sie auch in den Container durchgereicht werden :frowning:
Nachtrag: … gerade erst wiedergefunden: Das hatten wir alles schon mal und es scheint weiterhin nicht dabei zu sein: External authentication (LDAP Support) · Issue #2316 · mailcow/mailcow-dockerized · GitHub

Viele Grüße,
Michael

Hallo Michael,

Du authentifizierst Postfix bei der Auslieferung von E-Mail an Deinen externen Mailserver smtp.example.com mit dem Multidrop Postfach „multidroppostfach“ und dem Passwort „geheim“.

/etc/postfix/main.cf

relayhost = smtp.example.com
...
# Smptauth
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtp_sasl_security_options = noanonymous

/etc/postfix/smtp_auth

smtp.example.com               multidroppostfach:geheim

postmap /etc/postfix/smtp_auth

Abholen tust Du die E-Mails mit fetchmail an Deinem internen Mailserver. z.B.:

/etc/fetchmailrc

poll smtp.example.com
port 995
#envelope "X-Original-To:"
protocol POP3
no dns
# Deine Domain für die Schul E-Mails
localdomains schule.example.com
user 'multidroppostfach' password 'geheim' is * fetchall ssl

Richtig. Zweckmäßig ist das, weil Du manuell auf dem externen Mailserver keine E-Mail Konten anlegen mußt. Man muß sich nur noch irgendwie um das Löschen der internen Postfächer kümmern, wenn LDAP User gelöscht werden(sophomorix-kill). Da habe ich bis jetzt noch keine Lösung.

Ich habe auf dem internen Mailserver Nextcloud mit Rainloop Mail laufen. Da mußt Du dann gar nichts mehr machen. Auch keine weiteren Ports für E-Mail nach außen öffnen.

Super!

Da kann ich leider nicht weiterhelfen, weil ich keinen Dockerhost verwende und auch sonst kein großer Freund von Docker bin :wink:

Viele Grüße
Klaus