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

Hi,

Eigentlich müsste es mit type.adminclass funktionieren:

Aber probiere mal noch type.teacherclass

VG, Dorian

Hallo Holger,

ja genau, ich habe nach einigen versuchen (ohne docker) einen extra v-host mit postfix, dovecot und sogo aufgesetzt, der mit virtuellen benutzern und maildomains arbeitet, also alle infos zu benutzern und domains vom ldap-verzeichnis vom server holt.

die maildomain der klassen braeuchte ich nun fuer mail-alias damit ich einfach maillinglisten bilden kann.
das wird aber nur beim versenden verwendet: die mailadresse der klasse soll nur ein alias fuer alle mitglieder der klasse sein. die klasse soll dabei kein eigenes postfach haben, deshalb brauche ich die korrekte mailadresse der klasse wahrscheinlich nicht, der klassenname sollte genuegen.

einige versuche spaeter:

ich habe das mit den mailinglisten nun direkt mit den bordmitteln von postfix geloest (die korrekte maildomain beim klassennamen braucht es fuer alias-zustellung ohnehin nicht).

hier die abfrage aus der /etc/postfix/ldap-aliases.cf - datei heraus:

query_filter = (&(objectClass=group)(samaccountname=%s))
result_attribute = sophomorixMembers

kann man mit postmap -q testen und das ganze liefert zu jeder klasse brav alle usernamen der schuels.

viele gruesse
michael

hallo Dorian,

vielen dank fuer die hilfe. das bei type.adminclass einzufuegen hatte ich auch getestet, die maildomains der klassen bleiben aber unberuehrt.

aber inzwischen habe ich mailinglisten direkt mit den virtual-maps von postfix eingerichtet. da ich das attribut mail aus dem ldap-verzeichnis nirgends verwende, spielt die maildomain dort keine rolle.

nur wenn man das evtl. spaeter auf viele verschiedene maildomains ausbauen wollte, waere es evtl. wichtig.

unten ist meine ldap-aliases.cf, falls jemand mailinglisten benoetigt (natuerlich macht ein mailserver in der schule erst mit mailinglisten sinn).

wer einen extra mail-host mit postfix/dovecot und ldap-anbindung an den schulserver (virtual user/maildomain) aufsetzen moechte kann mir gerne schreiben, dann kann ich vielleicht helfen.

viele gruesse

michael

##################################################################
#                                                                #
#    testen, ob query funktioniert:                              #
#    sudo postmap -q e3fi2 ldap:/etc/postfix/ldap-aliases.cf     #
#                                                                #
##################################################################
bind_dn = cn=<binduser>,OU=Management,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan
bind_pw = <binduser-pwd>
server_host = 10.16.1.1
server_port = 389
search_base = OU=default-school,OU=SCHOOLS,DC=wara,DC=lan
version = 3
#query_filter = mail=%s                                                                                                                  
# infos zum query-filter:                                                                                                                
# aus man-page von ldap_table:                                                                                                           
#    search the directory, where %s is a                                                                                                 
#    substitute for the address Postfix is trying to resolve
# objectclass muss group sein, wir suchen klassen und keine einzeluser
query_filter = (&(objectClass=group)(samaccountname=%s))
result_attribute = sophomorixMembers

Hallo.

Kann man das nicht auch auf dem docker-mail-Container verwenden? Leider ist mir weiterhin nicht klar, welcher Ansatz der „offiziell empfohlene“ bgzl eines Mail-Servers sein soll …

Viele Grüße,
Michael

hallo Michael,

ich habe mich noch nie mit docker beschaeftigt, aber wenn im container postfix laeuft, muesste es sehr aehnlich konfiguriert werden: man betreibt einen mailserver mit virtuellen benutzern, d.h. benutzern, die auf dem mail-host kein konto haben.

ich wollte esmtp- und imap-zugang und ein webfrontend (sogo), deshalb habe ich alles selbst gestrickt.

viele gruesse
michael

Hi. Ich hatte schon vor längerer Zeit den docker-Container ausprobiert, den es „passend“ für den v7-Server gibt. Aber dabei gab es div. Fragen und Probleme, die ich bisher nicht klären konnte.

Die alte Diskussion ist hier:

und hier:

Wie ist das denn bei Deinem Setup z.B. bei Namensänderung/Hochzeit? Wird so etwas automatisch abgefangen (weil Du ja von „virtuellen Benutzern“ gesprochen hattest)?

Viele Grüße,
Michael

Hallo Michael,

die alte diskussion muss ich erst noch lesen. zu docker: https://youtu.be/eMvYJsjwT3Y

postfix und dovecot verlassen sich ausschliesslich auf das attribut „samaccountname“ im samba4-ldap-verzeichnis. auch die authentifizierung wird auf seiten von samba4 erledigt: postfix/dovecot schicken user-namen und passwort an den ldap-server von samba und wenn der meldet „authentifiziert!“, verlassen sich postfix und dovecot darauf.

wenn eine mail eintrifft, gleicht postfix den usernamen (der teil vor dem @) mit samaccountname aus dem ldap-verz. ab wenn es dort solch einen namen gibt, wird die mail ins Maildir kopiert. oder, wenn es die allererste mail fuer diesen user ist wird in z.b. /var/spool/vmail ein neues unterverzeichnis angelegt (unten ist ein beispiel).

bei namensaenderung haengt also alles davon ab, ob der benutzer von sophomorix einen neuen samaccountname erhaelt.

aendert sich bei jemandem „samaccountname“, bleibt das alte spool-verzeichnis erhalten. das gibt probleme, wenn benutzernamen = samaccountname(s) nach einiger zeit fuer neue schuels wiederverwendet werden. man muss also die spool-verzeichnisse von allen, die dauerhaft aus der schule ausscheiden loeschen. das geht einfach per skript, wenn man eine liste der abgaenger-samaccountnames hat.

meine mailinglisten scheinen praechtig zu funktionieren. neben allen klassen habe ich auch noch die liste teachers@ und sonstige gruppen im ldap-verz…

im gegensatz zu den alten listen sind wirklich nur die schuels auf den klassenlisten, keine lehrs mehr. d.h. man bekommt keinen backscatter von der liste.

viele gruesse
michael

#query_filter = mail=%s
# infos zum query-filter:
# aus man-page von ldap_table:
#    search the directory, where %s is a
#    substitute for the address Postfix is trying to resolve
query_filter = (&(objectclass=user)(samaccountname=%s))
result_attribute = samaccountname
#
# samaccountname um ein "/" ergaenzen, damit postfix das maildir-format nimmt:
result_format = %s/Maildir/

Hallo, bei meinem Testsystem tut das:

[type.adminclass]
# student classes from school administration software (created by students.csv, …)
MAILDOMAIN=web.de

Dann aufrufen:
sophomorix-class --update-maildomain

und siehe da:

sophomorix-class -i -c 7_a

liefert


                 mail: 7_a@web.de                              
  sophomorixMailQuota: ---:---:                                
  sophomorixMailAlias: FALSE                                   
   sophomorixMailList: FALSE                                   

@Micha, bitte noch mal nachvollziehen, ob das tatsächlich nicht tut.

LG, Rüdiger

hallo Rüdiger,

nein, tut leider nicht, siehe unten. oder habe ich die falsche school.conf?

viele gruesse
michael

in
/etc/linuxmuster/sophomorix/default-school/school.conf
habe ich den eintrag:

[type.adminclass]
MAILDOMAIN=caponova.wara.de

start des skripts:

sophomorix-class --update-maildomain

stdout:

#### Updating CN=2bkph1-1,OU=2bkph1-1,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (start)####
   * Setting mail to '2bkph1-1@wara.lan'
#### Updating CN=2bkph1-1,OU=2bkph1-1,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (end)####


#### Updating CN=2bkph1-2,OU=2bkph1-2,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (start)####
   * Setting mail to '2bkph1-2@wara.lan'
#### Updating CN=2bkph1-2,OU=2bkph1-2,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (end)####


#### Updating CN=2bkph2-1,OU=2bkph2-1,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (start)####
   * Setting mail to '2bkph2-1@wara.lan'
#### Updating CN=2bkph2-1,OU=2bkph2-1,OU=Students,OU=default-school,OU=SCHOOLS,DC=wara,DC=lan (end)####

… usw.

noch ein test:

sophomorix-class -i -c e3fi2
---------------------------------------------------------------------
                     mail: e3fi2@wara.lan                          
      sophomorixMailQuota: ---:---:                                
      sophomorixMailAlias: FALSE                                   
       sophomorixMailList: TRUE

Hallo micha.

Ok, das heißt dann auch, dass der Login der Kollegen ausschließlich über den samaccountname (=Login) läuft, während die eMail-Adresse selbst nicht zum Login verwendet werden kann, richtig? So war das imho auf dem docker Container bisher auch!

Wenn das so ist und man zudem bei Namensänderung beherzigt, nur den Nachnamen, nicht aber den Login zu verändern, müsste dieses Problem ja abgefangen sein?

Hast du als eMail-Adresse die Form vorname.nachname@deine-schule.de oder aber die ungünstigere Variante login@deine-schule.de?
Ich bevorzuge die erste Variante (Alias), damit man zuverlässig jeden Kollegen erreichen kann ohne vorher raten zu müssen …

Die Sache mit den Mailinglisten interessiert mich auch — wie gesagt: Die Objekte sind im AD ja alle bereits vorhanden. Man muss sie „nur“ noch nutzen.

Was das Abrufen der eMails angeht: Da würde ich das SoGo-Frontend auch dem Rainloop-Frontend deutlich bevorzugen. Leider ist das aber wieder ein extra Login mit neuer Oberfläche … von SSO leider nichts zu sehen …

Dazu würde ich gleich Mailcow als Docker-Container nehmen … ist aber wieder eine Großbaustelle für sich :frowning:

Viele Grüße,
Michael

hallo Michael,

ich habe im moment nur die canonischen mailadressen <samaccountname>@<maildomain>.

ja, mit virtual-alias-maps koennte man auch mailadressen der form
alfred.neuman@madschule.de erzeugen.
keine schlechte idee, hatte ich so noch gar nicht bedacht.

aber ich lass erstmal die kuerzel, da gibt’s dann auch keine umlaute, adelstitel usw. und weniger tipperei.

viele gruesse

michael

… das Problem mit Umlauten usw hat man normalerweise nicht, wenn man givenname.sn verwendet, oder? Doppelnamen könnten noch ein Problem sein…

@Michael
Es gibt die Attribute sophomorixFirstnameACII, oder so. Schau die mal an, ob die passen, sn,givenname sind UTF8

LG, Rüdiger

Hallo Rüdiger (@jeffbeck)

Ich habe die Attribute gefunden:
sophomorixFirstnameASCII
sophomorixSurnameASCII

Es ist trotzdem noch nicht alles perfekt … ein Problem sind Leute mit Doppelnamen (und zwar egal ob Vor- oder Nachname). Die haben dann u.U. eine endlos lange eMail-Adresse … zudem weiß ich weiterhin nicht, ob die Eindeutigkeit der Adresse überhaupt gewährleistet ist!? Beim Login ist es ja kein Problem, da
Max Mustermann (5a) zu musmax wird, während
Max Mustermann (5b) zu musmax1 wird.

Allerdings hätten beide die gleiche eMail-Adresse, oder? Wer würde eine eMail an max.mustermann@meine-domain.de dann erhalten? Funktioniert so jedenfalls nicht zuverlässig, oder??

Viele Grüße,
Michael

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