postfix vs ldap: Alias-Lookup für vollständige Adressen?

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
altmetaller
Beiträge: 108
Registriert: 03.02.2017 12:28:41

postfix vs ldap: Alias-Lookup für vollständige Adressen?

Beitrag von altmetaller » 07.07.2022 23:52:33

Moin,

ich hänge in mein LDAP unterhalb der User eine Klasse auf, die E-Mail-Aliasadressen handhaben soll. Hier, so sieht das aus:
# extended LDIF
#
# LDAPv3
# base <uid=testuser,ou=people,dc=testdomain,dc=de> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# testuser, people, testdomain.de
dn: uid=testuser,ou=people,dc=testdomain,dc=de
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: postfixUser
cn: User
sn: Test
loginShell: /bin/bash
uidNumber: 10000
gidNumber: 10000
homeDirectory: /home/testuser
shadowMax: 99999
shadowMin: 1
shadowWarning: 7
shadowInactive: 7
uid: testuser

# Vorname Nachname, testuser, people, testdomain.de
dn: cn=Vorname Nachname,uid=testuser,ou=people,dc=testdomain,dc=de
mailacceptinggeneralid: testuser
maildrop: testuser_local
objectClass: inetOrgPerson
objectClass: postfixUser
objectClass: top
cn: Vorname Nachname
sn: Nachname


# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2
Hier die /etc/postfix/ldap-aliases.conf
server_host = hostname.vom.ldap.server
search_base = dc=testdomain,dc=de
query_filter = (mailacceptinggeneralid=%s)
result_attribute = maildrop
bind_dn = cn=readonly,dc=testdomain,dc=de
bind_pw = [...]
Das funktioniert eigentlich "sehr gut". Die E-Mails für "testuser" werden auf dem E-Mail-Server im lokalen User testuser_lokal einsortiert.

Was mir allerdings aufgefallen ist: Der Lookup matcht (natürlich!) auf alle Domains, die ich im Postfix konfiguriert habe. In der /etc/postfix/main.cf habe ich:
mydestination = testdomain.lokal, nochnedomain.de, testdomain.de, localdomain
Ergebnis: Der User kassiert die E-Mails von folgenden Adressen:
  • testuser@testdomain.lokal
  • testuser@nochnedomain.de
  • testuser@testdomain.de
  • testuser@localdomain
Ich würde es irgendwie "eleganter" finden, wenn ich im LDAP die vollständigen E-Mail-Adressen statt des lokalen Parts vorhalten würde (so kenne ich es zumindest von Exchange). Das LDAP-Objekt würde dann in etwa so aussehen:
# Vorname Nachname, testuser, people, testdomain.de
dn: cn=Vorname Nachname,uid=testuser,ou=people,dc=testdomain,dc=de
mailacceptinggeneralid: testuser@nochnedomain.de
mailacceptinggeneralid: testuser@testdomain.de
maildrop: testuser_local
objectClass: inetOrgPerson
objectClass: postfixUser
objectClass: top
cn: Vorname Nachname
sn: Nachname
In dem Fall wären nur noch diese Adressen erreichbar:
  1. testuser@nochnedomain.de
  2. testuser@testdomain.de
Die Anderen Adressen (z.B. testuser@localdomain) sollen gebounced werden.

Meine Fragen dazu:
  1. Möchte ich das wirklich?
  2. Falls ich das möchte: Wie kann ich postfix mitteilen, dass er im LDAP nach den kompletten E-Mail-Adressen und nicht nur nach dem Teil vor dem @ suchen soll?
Liebe Grüße,
Jörg

Antworten