Mailrouting mailAlternativeAddress / mailPrimaryAddress

mail
open-xchange
postfix

#1

Moin,

bei einem Kunden gibt es einen Pseudo-User mit Namen copy an die Mails von diversen Benutzern zusätzlich zugestellt werden sollen (falls mal jemand wegen Krankheit ausfällt, dass andere seine Mails lesen können).

Das System ist ein Single-Master mit OX.

Bislang war das in der LDAP wie folgt konfiguriert:

 uid=copy
 mailPrimaryAddress: copy@firma.de
 mailAlternativeAddress: user1@firma.de
 mailAlternativeAddress: user2@firma.de

Und bei user1:

  uid=user1
  mailPrimaryAddress: user1@firma.de
  mailAlternativeAddress: vorname.user1@firma.de

Wenn eine Mail an user1@firma.de geschickt wurde, landete diese im Postfach copy und im Postfach user1.

Irgendwann zwischen UCS 4.1 und 4.3 wurde etwas geändert, so dass dass jetzt nicht mehr funktioniert. Wir haben diesen Commit im Verdacht:
https://github.com/univention/univention-corporate-server/commit/78bbc4965f5fabd5d20481b36b25eeb78a9fb1ae

Wir haben jetzt beim Kunden das user1 LDAP Objekt geändert:

  uid=user1
  mailPrimaryAddress: user1@firma.de
  mailAlternativeAddress: vorname.user1@firma.de
  mailAlternativeAddress: user1@firma.de

jetzt geht es wieder. Ist das so gewünscht? Oder ist das ein Bug?

Viele Grüße
Sven Anders


#2

Hallo,

Darauf hätte ich auch getippt. Im Zuge des Updates für Bug #42249 wurde Update-Code für die Konfigurationsdatei bereitgestellt. Dieser funktioniert aber nicht, falls diese händisch geändert wurden.

Bitte schauen Sie nach, ob in /etc/univention/templates/files/etc/postfix *.dpkg-dist-Dateien liegen. Falls ja, müssen Sie Ihre Änderungen wegsichern und die Dateien zu den Originalen zurück benennen. Ähnlich wie hier: UCS Update 4.2.0 >4.2.1 Mailabruf nicht mehr möglich
und anschließend ucr commit /etc/postfix/* ausführen.

Nein - so ist das nicht gewünscht. Ein Bug ist es vermutlich nicht (siehe oben).

Grüße
Daniel Tröder


#3

Hallo Sven,

das Problem ist uns in anderer Form bekannt, liegt aber in einer Limitierung von Postfix 2.x begründet. Beim Auswerten der virtual_alias_maps wird sequentiell durch die Maps durchgegangen und sobald eine Map einen oder mehrere Adressen zurückgibt, wird die Auswertung der nachfolgenden Maps übersprungen.

Mit UCS 4.3 wird Postfix 3 verwendet, welches unionmaps mitliefert und das Problem damit erschlagen sollte.

Siehe dazu auch https://forge.univention.org/bugzilla/show_bug.cgi?id=45205 . Wir haben die unionmaps noch nicht getestet und leider auch noch keinen Zeitpunkt, wann dieser Bug umgesetzt wird.
Ggf. reicht es bei eurem Kunden aus, nach dem Update auf UCS 4.3 die manuelle Anpassung in die main.cf.local aufzunehmen, bis wir den Bug umgesetzt haben.

Viele Grüße

Sönke


#4

Hallo Sönke, Hallo Daniel,

das ist ja super, dass ihr so schnell antwortet. Ich habe leider oben die falsche Versionsnummer angegeben. Der Kunde ist auf 4.2-3 Errata 310. Die restlichen Hinweise werden wir untersuchen.

Schönes Wochenende

Sven


#5

Hallo, wir haben das gerade erneut analysiet. Diesmal auf einem UCS 4.3 1 Errata 145 (mit Open-Xchange)


# user1, users, ham.digitec.de
dn: uid=user1,cn=users,dc=ham,dc=digitec,dc=de
mailPrimaryAddress: user1@ham.digitec.de
mailAlternativeAddress: user2@ham.digitec.de

# user2, users, ham.digitec.de
dn: uid=user2,cn=users,dc=ham,dc=digitec,dc=de
mailPrimaryAddress: user2@ham.digitec.de

Schicken wir nun eine E-Mail an user2@ham.digi… wird die Mail nur dem User1 zugestellt.

Setzten wir bei user2 zustätzlich eine mailAlternativeAddress: user2@ham.digitec.de. Wird die Mail an beide zugesetellt.

Wir würden uns wünschen, dass man den query_filter in den ldap.ox-virtual auf:

query_filter = (&(objectClass=univentionMail)(|(mailAlternativeAddress=%s)(mailPrimaryAddress=%s)(oxResourceMailAddress=%s))(!(univentionCanonicalRecipientRewriteEnabled=1)))

und in der ldap.virtual auf:

query_filter = (&(objectClass=univentionMail)(|(mailAlternativeAddress=%s)(mailPrimaryAddress=%s))(!(univentionCanonicalRecipientRewriteEnabled=1)))

geändert werden könnte.

Gruß
Sven