Listserver und Exchange

So genannte ListServer gibt es schon viele und dienten in der Anfangszeit des Internets der Kommunikation zwischen vielen Menschen. Sie sind leicht einem "Verteiler", der von einem Admin gepflegt wird,  nicht ganz unähnlich aber sind eher die "Luxusversion" mit Mehrwert. Die Funktion ist weder in Microsoft Exchange On-Premises oder Online enthalten aber auch nicht in Unix-Mailservern wie Postfix, SendMail, QMail u.a. sondern immer daneben zu betreibenden Programmen, die sich aber an einen bestehenden Mailserver anbinden.

Statt Verteiler

Ist ein Listserver nicht auch nur ein "Verteiler"?  Bis zu einem gewissen Grad stimmt das sogar, denn auch ein Verteiler hat erst einmal eine Mailadresse, die angeschrieben werden kann und verteilt die Nachrichten an die Mitglieder. Das kann auch Exchange und Sie können sogar steuern, wer den Verteiler anschreiben darf.

Aber ein Verteiler hat einige direkte Nachteile, Sie sie in Exchange auch nicht ändern können, z.B.

  • Mitglieder sind AD-Objekte
    Durch die enge Verzahnung on Exchange mit dem Active Directory muss ist nicht nur der Verteiler ein AD-Objekt (Gruppe) sein sondern auch alle Mitglieder. Für eine interne Verteilung ist das ausreichend aber wollen Sie wirklich alle externen Empfänger der Verteiler im als Exchange-aktivierte AD-Kontakte (MailContact) oder AD-Benutzer (MalUser) anlegen und damit z.B. in der GAL anzeigen oder als Weiterleitung anbieten?
  • Absender-Rewriting
    Ein Verteiler ändert nur die "Envelope"-Zieladresse, damit die Mail an die verschiedenen Mitglieder zugestellt wird aber schreibt keine Header-Felder um. Spätestens wenn externe Absender eine Mail über den Verteiler an ein externes Mitglied senden, dürften Spamfilter anschlagen. Siehe auch Verteiler und SPF/DKIM/DMARC
  • Pflege des Verteilers
    Ein Teil der Aufgabe kann zwar an den Besitzer des Verteilers delegiert werden aber neue Kontakte muss schon noch ein Administrator anlegen. Und wer kümmert sich um das Löschen überflüssiger Kontakte

Aus meiner Sicht ist ein Exchange Verteiler also nur etwas für die interne Kommunikation einer Firma, wenn Absender und Empfänger intern sind. Wobei ich hier schon fragen würde, ob Sie Informationen in dem Fall wirklich über Verteiler mehrfach verteilen wollen oder nicht eine "Zusammenarbeit" in einem Wiki, Git, SharePoint, OneDrive vielleicht besser ist.

Funktionsweise

Dennoch gibt es auch heute noch den Bedarf an einer Informationsverteilung per Mail an Empfänger in vielen Firmen. In Zeiten von Newsgroups oder Teams Chaträumen, Webseiten wie Reddit oder Microsoft Community (https://answers.microsoft.com/) sind Listserver zwar immer weniger gefragt aber er schon lange mit Mail arbeitet, nutzt immer noch solche Plattformen, z.B. die Kommunikation von Exchange MVPs mit Microsoft oder auch die Linux Kernel Liste.

Auch wenn der Tod von E-Mail durch Teams, Slack und andere Plattformen mehrfach ausgerufen wurde, kommunizieren viele Menschen asynchron per Mail. Sobald aber mehrere Personen in einer Gruppe aktiv sind, sollte nicht jeder Teilnehmer eine Rundmail schreiben, sondern seine Mail an eine zentrale Mailadresse senden, die dann die Information an die Mitglieder verteilt. Damit das reibungslos möglich ist, gibt es eine Software, die eine Mail an diese Adresse annimmt und verarbeitet.

Verwechseln Sie einen Listserver nicht meinem "Marketing-Verteiler". Wenn ihr Marketing all ihre Kunden anschreiben will, dann ist meist auch eine "persönliche Ansprache" mit dem Namen gemeint. Das ist ist dann ein Serienbrief aber keine Mailingliste.

Der Betrieb eines Listservers ist aber auch nicht gerade einfach, denn es gibt hier mehrere Anforderungen oder Wünsche. Die Basisfunktion ist ähnlich zu einer Verteilerliste:

  • Mitglieder können an die Listadresse senden
  • Die Liste verteilt die Mail an alle Teilnehmer

Aber ganz so einfach ist es nicht. Denken Sie an die folgenden Aspekte:

  • Mail-Anpassung ReplyTo
    Wenn eine Mail von Tln-A an die Liste geht, dann soll bei allen Mitgliedern diese Mail ebenfalls ankommen. Wenn aber der Absender nun weiter "Tln-A" bleibt, dann würden Antworten ja nicht an die Liste sondern Tln-A gehen. Also muss die Liste die Rückantwort-Adresse anpassen. Das kann einfach im Header über das Feld "Reply-to" gemacht werden.
  • Mail-Anpassung From/To
    Dabei bleibt es aber nicht, denn welchen Namen sollen die Anwender in ihrem Mailprogamm als Absender und Empfänger sehen?. Sie möchten ja schon sehen, dass die Mail über die Liste gekommen ist, z.B. um individuelle Posteingangsregeln anwenden zu können. Aber auch der echte Absender ist interessant. Der Listserver muss also überlegen, wie er die Header-Felder "From:" und "Sender:" entsprechend setzt.
  • Spamfilter
    Sie glauben doch nicht, dass eine Mail eines externen Absenders aus "contoso.com" über den Listserver bei "Adatum.com" bei einer dritten Firma "msxfaq.de" zugestellt werden kann, wenn contoso.com einen "-all" im SPF-Record hat und Adatum natürlich nicht autoritativ ist. Auch hier muss das System sich Gedanken zu DKIM und SPF machen.
  • Eingehender Spam
    Eine List-Adresse ist für Spammer besonders interessant und wenn Sie die Zustellung nur auf Mitglieder beschränken wollen, müssen Sie auch hier versuchen, den Absender zu verifiziere, z.B. per SPF oder DKIM. Hoffentlich liefern alle Domains der Mitglieder und möglicher Absender diese Information mit. Ansonsten können sie nur hoffen, dass ein Spammer nicht eine gültige "Mitglied/List-Address"-Kombination in die Hände fällt. Darauf würde ich mich nicht verlassen aber ein klassischer Spamfilter kann hier schon das schlimmste vermeiden.
  • OOF-Spam/Loop-Detection
    Es gibt aber noch andere "unerwünschte Mails" von einem gültigen Absender an die Liste, die sie besser nicht an alle Mitglieder verteilen wollen. Wie sinnvoll ist es, wenn Sie eine "Ich bin im Urlaub"-Meldung eines Mitglieds an alle anderen Teilnehmer verteilen?
  • NDR-Meldungen
    Auch Unzustellbarkeiten, weil das Postfach voll oder ungültig ist, sollte ein Listserver verarbeiten können, z.B. indem er die Adressen dann pausiert oder entfernt.
  • Mitgliedermanagement, Besitzer-Berechtigungen
    Wenn Sie die Liste nicht als Administrator verwalten wollen, dann könnte ein "Self Management" interessant sein. Es gibt durchaus Listserver, bei dem sich ein Anwender selbst eintragen kann, indem er eine Mail mit "Subscribe" im Betreff an die Liste sendet oder mit "Unsubscribe" sich auch abmeldet. Denken Sie hier auch an ein "Double OptIn" oder einen Vorbehalt durch einen Moderator oder den Listenbesitzer. Einige Lösungen stellen auch ein Webportal bereit, über den der Teilnehmer einfacher seine Konfiguration anpassen kann. Natürlich muss auch die Datenbank mit den Teilnehmern gut geschützt sein.
  • Disclaimer
    Einen Link auf einen Hilfe oder Kontaktadresse oder direkt einen "Austragen"-Link könnte der Listserver auch an jede Mail an die Teilnehmer anfügen. Ebenso spart ein Link zu einer Hilfe dem Moderator viel Arbeit. Allerdings ändert die dann den Inhalt und bricht DKIM-Signaturen, was beachtet werden muss. Das gilt auch für SMIME/PGP-Signaturen von Absendern, die dann entfernt werden sollten. Ihre Liste kann ja selbst signieren.
  • Archiv/Digest
    Zuletzt sollten Sie auch überprüfen, ob sie alle übertragenen Nachrichten in einem Archiv sammeln und dieses bei Bedarf sogar bereitstellen wollen.
  • Throttling
    So ein Listserver kann ganz schön viele Mails empfangen und noch mehr Mails versenden. Das ist deutlich mehr als ein übliches "Benutzerpostfach". Darauf muss nicht nur ihr Mailserver sondern die komplette Topologie ausgelegt sein. Eine hohe Last sollte ja nicht ihren regulären SMTP-Traffic negativ beeinflussen oder sogar Service-Limits ihres Exchange Hosters überschreiten. (Siehe Exchange Online Message Rate Grenzen und EXO 5000 Group Member)

Eigentlich sind all diese Aspekte keine "Kann" sondern "MUSS"-Anforderungen und es dürfte nicht einfach sein, so eine Funktion mal eben Selbst zu programmieren. Daher kann Exchange zwar als SMTP-Drehscheibe dienen aber nicht selbst Listserver sein.

Subdomain oder Postfach

Ein List-Server ist daher fast immer ein eigenständiges Programm, welches Mail empfängt oder abholt und wieder versendet. Je nach Topologie sind zwei Optionen denkbar:

  • Postfach
    Die Mails an die Adresse der Liste landen in einem Postfach, welches der Listserver regelmäßig z.B. per POP3/IAP4 o.ä. abholt. Damit könnten Sie sogar einen Listserver bei Provider1 laufen lassen während das Postfach bei einem anderen Hoster liegt. Dennoch ist diese Lösung eher selten, denn neben den Lizenzen brauchen Sie ein Dienstkonto mit Kennwort und nicht jeder wünschenswerte SMTP-Header lässt sich beim Versand setzen.
    Vergessen Sie hier Exchange Online Postfächer, da diese bestimmten Limits (Exchange Online Message Rate Grenzen) unterliegen, die eine Nutzung als Listserver-Adresse verhindern.
  • SubDomain
    Häufiger ist daher die Anbindung über eine Subdomain und auf dem Listserver läuft auch ein passender eigener SMTP-Service. Wo dieser Services dann gehostet wird ist flexibel gestaltbar. Er kann sogar als "nachrangiger Mailserver" neben ihrem primären SMTP-Service dienen.

Wenn Sie natürlich mehrere Listen über den gleichen Server betreiben wollen, dann sollte jede Liste eine eigene eindeutige SMTP-Adresse haben. Im ersten Fall brauchen Sie dann mehrere Postfächer (-> Lizenzen?).

Listserver

Ich habe schon geschrieben, dass Exchange kein Listserver ist. Die obige Beschreibung sollte Sie aber auch gleich davon abhalten, mal eben schnell per Skript ihren eigenen Listserver zu schreiben. Die Aufgabe ist nicht zu unterschätzen und es gibt ja schon jede Menge kommerzielle aber auch kostenfreie Lösungen. Eine Empfehlung möchte und kann ich hier nicht aussprechen. Früher (1991-1999) zu Zeiten von Novell, MHS und Connect² habe ich noch einen Listserver betrieben aber seit dem nicht mehr. Aber vielleicht helfen ihnen hier ein paar Links weiter:

Letztlich sind die Funktionen und Anforderungen hier zu sehr unterschiedlich, um Produktempfehlungen zu geben.

Weitere Links