Table of Contents

Mail Address Extension / Instant Aliases mit Microsoft Exchange

Bekannterweise unterstützt Microsoft Exchange (auch bis zur Version 2019) keine Address Extensions oder Instant Aliases oder wie auch immer man sie nennen möge.

Wer es gar nicht kennt, kurze Erklärung:

Benutzer A kann seine E-Mail Adresse individuell erweitern, in dem er den Alias durch das im Mailserver definierte Trennzeichen (bspw. unter Postfix “recipient_delimiter”) und ein selbstdefinierten String übergibt.
Adresse: benutzer.a@domain.tld
zusätzliche Adresse: benutzer.a+besonderswichtig@domain.tld

Damit lassen sich nach Bedarf unterschiedliche Adressen erzeugen, die bei unterschiedlichen Portalen, Anwendungen, Shops, usw. verwendet werden können. Macht die Identifizierung bei Missbrauch leichter und vereinfacht das automatische Filtern/Sortieren im Posteingang.
Alle größeren Linux Mailserver kennen dieses Feature. Wenn auch unter unterschiedlichen Namen. Microsoft Exchange leider nicht. :-(

Workaround am Beispiel mit Postfix als Relay

Man stelle vor den Exchange eine (oder mehrere ;-)) Postfix Instanz(en) die alle Mails an den Exchange relayen. An der Stelle sollte man schon darauf achten, dass Postfix nur die Mails annimmt, deren Empfänger tatsächlich am Exchange existieren.

Ob man das nun mit lokalen Dateien

recipient_delimiter = +
relay_domains = hash:/etc/postfix/relay_domains
relay_recipient_maps = hash:/etc/postfix/relay_aliases
relay_domains
domain.tld OK
relay_aliases
benutzer.a@domain.tld OK

macht oder aufwendigere Datenbank/Directory Anbindungen baut ist egal. Je nach Wunsch und Anforderungen.
Ich persönlich mag die lokalen Textdateien. Ausfallsicher, keine akuten Abhängigkeiten und lassen sich einfach per Script befüllen.

Handling der Alias-Adressen im Postfix

Bisher

Workaround

Wir lassen Postfix die ursprüngliche Adresse mit Extension auf die korrekte Adresse am Exchange mappen.
Dazu bedienen wir uns der Postfix Option “smtp_generic_maps

smtp_generic_maps = hash:/etc/postfix/generic_maps

Und schreiben in die generic_maps welche Adresse auf welche Adresse gemappt werden soll:

generic_maps
benutzer.a@domain.tld benutzer.a@domain.tld

Sieht merkwürdig und sinnfrei aus, aber beim Relaying im Postfix passiert folgendes:

Cool, oder? :-D