Teams Channel Mail

Einzelne Kanäle in Teams können eine Mailadresse bekommen. Diese Seite beschreibt die Zusammenhänge.

Funktionalität

Inhalte per SMTP an einen Kanal zu senden, ist gar nicht mal so ungewöhnlich Es gibt schon lange in Exchange vergleichbare Ziele in Form von "Shared Mailboxes" oder "Public Folder". Nicht immer sollen Meldungen in einem Postfach landen. Ein Team-Kanal ist geradezu optimal, um neue Einträge dort weiter zu diskutieren.

Der Besitzer eines Teams kann, sofern nicht global blockiert, für jeden Kanal eine eine Mailadresse generieren lassen. Er kann auch bestimmen, wer eine Mail an den Kanal senden darf. Die Mail landen dann als Nachricht direkt im Kanal. Die originale Mail und die Anlagen werden von Teams automatisch in das Verzeichnis den Bereich "Dateien" abgelegt. Das mach es natürlich besonders interessant so automatisiert Informationen in den Dateibereich des Kanals und damit auch in die dahinter stehende SharePoint Library abzulegen.

Die Mailadresse folgt dabei dem folgenden Namensmuster, woraus auch zu erkennen ist, in welcher Region der Tenant liegt

xxxxxxxx.<tenantdomain>@amer.teams.ms
xxxxxxxx.<tenantdomain>@emea.teams.ms

Der Präfix ist dabei eine 8-stellige zufällige Kombinationen aus Buchstaben und Zahlen, gefolgt von der Domäne, die anscheinend in Exchange als "Standard Empfängerrichtlinie" hinterlegt ist. Danach kommt erst das "@emea.teams.ms", was je nach geografische Region auch noch anders ist. Bislang kenne ich nur Amerika (amer.teams.ms), Europa (emea.teams.ms) und Asien (apac.teams.ms) passend gibt es dazu auch die MX-Einträge im DNS.

PS C:\> Resolve-DnsName -Type MX emea.teams.ms

Name                                     Type   TTL   Section    NameExchange                              Preference
----                                     ----   ---   -------    ------------                              ----------
emea.teams.ms                            MX     3600  Answer     emea-teams-ms.mail.protection.outlook.com 0

PS C:\> Resolve-DnsName -Type MX amer.teams.ms

Name                                     Type   TTL   Section    NameExchange                              Preference
----                                     ----   ---   -------    ------------                              ----------
amer.teams.ms                            MX     3600  Answer     amer-teams-ms.mail.protection.outlook.com 0

PS C:\> Resolve-DnsName -Type MX apac.teams.ms

Name                                     Type   TTL   Section    NameExchange                              Preference
----                                     ----   ---   -------    ------------                              ----------
apac.teams.ms                            MX     3600  Answer     apac-teams-ms.mail.protection.outlook.com 0

Das sieht fast so aus, als ob Microsoft einen eigenen Tenant "emea-teams-ms" für den Mailempfang angelegt hat. Aber meine Recherchen haben keine dazu passenden Tenants geliefert.

Globale Einstellung

Ehe Sie an Einstellungen am Team bzw. Kanal gehen sollten Sie als Teams Administrator die globalen Einstellungen kontrollieren. Sie können hier generell den Empfang von Mails deaktivieren. Diese Einstellung kann ein Teams Besitzer auch nicht überstimmen.

In dem Dialog sehen Sie aber auch die Möglichkeit, die Absenderdomains zu beschränken. Wenn Sie also 100% sicher gehen wollen, dass ihre Teams nur von internen oder "vertrauenswürdigen Domänen" erreicht werden können, dann sollten Sie hier die Domänen durch "Leerzeichen" getrennt eingeben. Alternativ geht natürlich auch die Skype for Business Online PowerShell:

PS C:\> Get-CsTeamsClientConfiguration | fl AllowEmailIntoChannel,RestrictedSenderList

AllowEmailIntoChannel : True
RestrictedSenderList : msxfaq.de;msxfaq.onmicrosoft.com

# EMail an kanäle erlauben oder verbieten
PS C:\> Set-CsTeamsClientConfiguration -AllowEmailIntoChannel <$true/$false>

# Whitelist für Absenderdomains setzen
PS C:\> Set-CsTeamsClientConfiguration -RestrictedSenderList "domain1.tld;domain2.tld"

# Whitelist leeren, so dass jede Absenderdomain zugelassen ist
PS C:\> Set-CsTeamsClientConfiguration -RestrictedSenderList $null

Hier müssen die Domänen aber als ein String mit ";" (Semikolon) als Trenner angegeben werden.

Achtung: Diese Positivliste wird auf alle Kanäle des Tenants angewendet und wurden bei mir nach wenigen Minuten übernommen.

Leider habe ich keine Informationen, wie Microsoft sicherstellt, dass die Absenderdomänen nicht gefälscht sind. Per SPF, SenderID und DMARC kann ein Absender zwar beweisen, dass er legitim diese Domain verwendet aber ein Spammer wird dann einfach keine Einträge setzen. Dann bleibt es beim "Spamfilter" von Exchange Online als Schutz.

Der globale Standardwert erlaubt Mails von allen Domänen.

Einstellung pro Kanal

Wenn auf dem Tenant global der Empfang von Mails für Kanäle zugelassen ist, dann kann der Besitzer des Teams bei den Eigenschaften eines Kanals die Funktion aktivieren. Der Link ist

Achtung: Wenn Sie die "E-Mail-Adresse abrufen", wird sie auch angelegt. Ich habe leider keine visuelle Markierung gesehen, anhand derer man schon direkt sehen kann, ob der Kanal eine Mailadresse hat. Wenn Sie also Besitzer also irrtümlich auf den Link geklickt haben, dann denken Sie auch wieder an den Link "E-Mail-Adresse entfernen".

Je nach globaler Einstellung ändert sich das Fenster.

  • Keine globale Einschränkung auf Domänen
    Dann kann der Besitzer selbst bestimmen, von dem Mails angenommen werden. Er hat die Wahl zwischen "Welt", Mitglieder des Teams oder Absenderdomains, die er selbst pflegen kann.
  • Globale Beschränkung auf eine Domain
    Hat der Administrator jedoch auf dem Tenant die Liste der erlaubten Absenderdomains gepflegt, so hat der Besitzer nur die Wahl zwischen diesen Domänen oder einer noch engeren Eingrenzung auf Teammitglieder.

Viel mehr Einstellungen gibt es hier nicht.

Mailadresse abrufen

Wenn Sie den Dialog geschlossen haben, dann können Sie einfach erneut über das gleiche Menü die Mailadresse wieder abrufen. Es gibt sogar zwei Einstiegspunkte zum Menü

Wenn Sie hier die Mailadresse "kopieren", dann können Sie diese aber nicht 1:1 in Outlook direkt einfügen (Stand Mrz 2020), da Sie als "komplettString" in der folgenden Form kopiert wird:

Allgemein - UCLabor.de <12345678.tenantdomain.onmicrosoft.com@emea.teams.ms>

Damit hat aber z.B. Outlook 365(2002. Build 12527.20194) ein Problem, dass die Mail per SMTP gar nicht versendet wird

Ein Blick in den Header zeigt aber auch, dass die Mail den PC nicht mal verlassen hat.

From: "Systemadministrator"
Sender: "Systemadministrator"
To: <Allgemein - UCLabor.de <12345678.msxfaq.onmicrosoft.com@emea.teams.ms>>
Subject: Unzustellbar: Mail von Extern direkt an Teams Kanal
Date: Sun, 8 Mar 2020 16:04:05 +0100
Message-ID: <075501d5f55a$d0a03640$71e0a2c0$@Domain>

Wenn sie genau die "TO-Zeile" anschauen dann hat Outlook diese falsch übernommen. Hier noch mal die Gegenüberstellung.

Falsch:  To: <Allgemein - UCLabor.de <12345678.msxfaq.onmicrosoft.com@emea.teams.ms>>
Richtig: To: "Allgemein - UCLabor.de" <12345678.msxfaq.onmicrosoft.com@emea.teams.ms>

Das kann sich aber von Version zu Version ändern.

Mail an den Kanal

Ich verkneife mir nun eine Anleitung, wie sie aus Outlook o.ä. eine Mail an den Kanal senden. Das sollte ihnen schon glücken und bei mir ist Mail dann wie folgt angekommen:

Die Mails ist samt Formatierungen und dem Inline-Bild sauber angekommen. Allerdings konnte Teams mit der SMIME-Signatur nichts anfangen. Die Mail und die Anlagen landen im Dateien-Bereich als eigene Dateien:

Damit steht einer Weiterverarbeitung nichts entgegen.

Wenn ich genau die gleiche Mail noch einmal sende, dann werden die Dateien nicht überschrieben, sondern zusätzlich mit einem anderen Namen abgespeichert. Sie sollten hier keine "Versionierung" erwarten.

How to send email to a channel in Microsoft Teams
https://www.youtube.com/watch?v=d5Dekg8NG5w

Sending Emails to Channels in Microsoft Teams
https://www.youtube.com/watch?v=mbQQRH3ufzM

Mailadresse löschen

Natürlich können Sie bei einem Kanal auch wieder die Mailadresse entfernen. Das ist insbesondere hilfreich, wenn Sie irrtümlich die Mailadressen "sehen" wollten und Teams dabei eine neue Adresse angelegt hat.

Wenn Sie irrtümlich bei einem Kanal die Mailadresse entfernen und dann wieder anlegen, dann vergibt Teams eine neue Adresse! Die alte Adresse ist unwiederbringlich verloren. Das ist OK, wenn sie z.B. einen von extern erreichbaren Kanal haben und die Adresse bei Spammern bekannt wurde. Eine Änderung bedeutet aber auch ein Update bei allen legitimen Absendern.

Exchange Kontakt

Nun ist natürlich die Adresse mit einem "xxx@emea.teams.ms" nicht gerade, was man für eine externe Kommunikation wünscht. Aber es hindert Sie ja niemand daran, einen Exchange Kontakt in ihrer Exchange Umgebung einzurichten, welcher eine normale Mailadresse hat und die Nachrichten an Teams weiter leitet.

Bei einem Hybrid-Setup sollten Sie den Kontakt OnPremises anlegen und mit ADSync zu Exchange Online replizieren lassen, damit beide Exchange Organisationen den gleichen Wissensstand haben.

Nachdem Sie den Kontakt angelegt haben, sollte er auch im Adressbuch erscheinen. Sie können dies per Browser mit OWA schneller nachprüfen, denn das Outlook Offline Addressbuch wird einige Zeit für das Update benötigen.

 

Als Nebeneffekt ist der Empfänger dann auch per LDAP auflösbar, was insbesondere für 3rd Party Produkte (Scan to Mail, Spamfilter etc.) sogar erforderlich sein kann.

Einen negativen Effekt hat der Kontakt aber hinsichtlich dem Exchange Adressbuch auch. Outlook ist durchaus in der Lage auch den Teams-Kanal als Empfänger zu finden, obwohl er nicht als Eintrag im Exchange Adressbuch vorhanden ist.

Dort gibt es nur den Kontakt und natürlich das Teams selbst als "Office Group

PS C:\> Connect-EXOPSSession
PS C:\> Get-Recipient ucla*

Name                                            RecipientType
----                                            -------------
uclabor-allg                                    MailContact
UCLabor.de_12345678-1234-1234-1234-1234567890ab MailUniversalDistributionGroup

Leider ist der Kanal also kein Exchange Objekte, welches per Empfängerrichtlinien auch mit Mailadressen versehen werden kann. Das war früher bei den mailaktivierten öffentlichen Ordnern besser.

Hier gibt es sicher noch Potential bei Microsoft zur Verbesserung.

Mailrouting zum Kanal

Sie wissen nun, dass der Kanal eine Mailadresse mit der Endung "@emea.teams.ms" o.ä. hat und dass es dafür einen MX-Eintrag gibt. Entsprechend habe ich mit oder ohne Kontakt nun verschiedene Wege und Möglichkeiten. Da die Teams-Adressen aber nicht "intern" sind, muss eine Mail zum Kanal über den MX-Record geroutet werden.

Absender können aus meiner eigenen Exchange Organisation in Exchange Online aber auch Exchange OnPremises kommen. Aber auch externe Absender können direkt die Kanal-Adresse anschreiben. Um es noch komplexer zu machen, kann ich auch einen Mail-Kontakt in meiner Exchange Organisation anlegen, die eine "freundliche Mailadresse" anbietet und auch von intern und extern angeschrieben werden kann. In alle Kombinationen kommen natürlich SPF/DMARC und andere Spamfilter ins Spiel, die Mails verhindern können.

Absender Ziel Routing Status

Eigene Org

Kanal-Adresse

Die Mail kommt über den normalen Weg und wen Sie SPF/DMARC richtig gesetzt haben, dann akzeptiert Teams auch die Mail problemlos.

Eigene Org

Kontakt-Umleitung

Intern können Sie über einen Exchange Kontakt den Kanal im Adressbuch auswählen und anschreiben. Ihre Absenderadresse bleibt dabei unverändert und das Routing ist dann identisch zum ersten Fall

Extern

Kanal-Adresse

Sofern sie den Kanal auch aus dem Internet erreichbar gemacht haben, kann auch ein externer Absender die kryptische Kanal-Adresse anschreiben. Schön ist das aber nicht.

Extern

Kontakt-Umleitung

Wenn Sie nun auch für die externen Absender eine "freundliche Mailadresse" durch einen Kontakt bereitstellen sollen, dann funktionierte das im März 2020 noch problemlos. Bei der Mal wird ja nur die Zieladresse aber nicht die Absenderadresse umgeschrieben. Bei Teams kommt daher eine Mail von ihrem System mit der Absenderadresse einer anderen Firma an. Wenn die andere Firma nun auch mit SPF/DMARC arbeitet, dann wird jeder gut sortierte Spamfilter die Mail nicht durchlassen. Das stimmt aber leider nur halb.

  • Exchange Online Protection blockt eine SPF=Fail
    Im März hat Exchange Online selbst Mails durchgelassen, die die SPF-Prüfung nicht bestanden haben und der Absender per DMARC sogar ein Reject empfiehlt
  • Externer Absender nutzt auch Exchange Online
    In dem fall verweist dessen SPF-Eintrag auch auf die Cloud-Server und es ist kein Unterschied zu sehen

Drauf verlassen würde ich mich aber nicht und vielleicht ist Sender Rewriting Scheme (SRS) die Antwort in Zukunft.

Outbound Connector für Teams

Es gibt noch einen Sonderfall, der in der Tabelle noch nicht erfasst ist: Ihre Umgebung kann ja so konfiguriert sein, dass ausgehende Mails nicht von Exchange Online per MX-Record versendet werden sondern sie einen eigenen Spamfilter einsetzen oder alle Mails über "OnPremises" routen. In dem Fall empfängt Teams die Mails nicht von Office 365 sondern einem ganz externen Server, obwohl die Absenderdomäne in ihrem Tenant auch hinterlegt ist.

Dann kann es helfen, wenn Sie im Tenant einen eigenen "Outbound Connector" für die Teams-Domänen definieren, damit zumindest Exchange Online die Mail am besten direkt wieder zu Exchange Online leitet. Das geht am einfachsten mit einem Connector, der über eine Transportregel für diese Domain angesprochen wird.

Den Connector zu der Regel müssen Sie natürlich vorher anlegen und die Zustellung einfach per MX-Record konfigurieren. Die Umleitung einer Mail per Regel ist aus meiner Erfahrung zuverlässiger als ein "Outbound Connector" mit einem entsprechenden Adressraum.

Mailrouting eingehend vom eigenen Tenant

Weiter oben habe ich schon beschrieben, dass die Mailadresse recht dynamisch aus einer Zeichenkette, einer Domäne in ihrem Tenant und eine Suffix in der Form @emea.teams.ms, @amer.teams.ms besteht. Ich habe also eine Mail an einen Teams Kanal gesendet und mir dann den Header der empfangenen Mail betrachtet. Sie haben diese Mail ja als EML-Datei im Dateien-Bereich des Kanals. Die Mail von meinem Postfach im gleichen Tenant an den Kanal hatte nur wenige "Received"-Header:

Received: from DB5EUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2a01:111:e400:7e0a::38) by
 DB5EUR03HT006.eop-EUR03.prod.protection.outlook.com (2a01:111:e400:7e0a::123)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.11; Thu, 5 Mar
 2020 22:01:08 +0000
Authentication-Results: spf=pass (sender IP is 80.66.20.18)
 smtp.mailfrom=Netatwork.de; emea.teams.ms; dkim=pass (signature was verified)
 header.d=Netatwork.de;emea.teams.ms; dmarc=pass action=none
 header.from=Netatwork.de;compauth=pass reason=100
Received-SPF: Pass (protection.outlook.com: domain of Netatwork.de designates
 80.66.20.18 as permitted sender) receiver=protection.outlook.com;
 client-ip=80.66.20.18; helo=mail.netatwork.de;
Received: from mail.netatwork.de (80.66.20.18) by
 DB5EUR03FT058.mail.protection.outlook.com (10.152.20.255) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id
 15.20.2793.11 via Frontend Transport; Thu, 5 Mar 2020 22:01:08 +0000
From: "Carius, Frank" <Frank.Cariusxx@Netatwork.de>
To: UCLabor Kanal Allgemein <xxxxxx.netatwork.onmicrosoft.com@emea.teams.ms>
Subject: Test von Exchange Online an UCLaborKanalAllgemein

Anscheinend hat Exchange Online die Mail über Centralized Mailrouting direkt zu meinem OnPremises-Exchange geleitet, der sie dann über den Spamfilter weiter zur Cloud und sehr schnell zu Teams geroutet hat.

Mailrouting eingehend von Extern über Kontakt

In dem Beispiel habe ich einen Mail von meinem Notebook per SMTP an 1und1 eingeliefert, der die Mail dann über den Spamfilter von Net at Work an einen Kontakt zugestellt hat. Exchange hat die Zieladresse dann umgeschrieben und die Mails wieder über NoSpamProxy versendet. Diese internen Stationen sehen sie nicht, da NoSpamproxy die Header hier entfernt hat.

In Zeile 3 geht die Mail dann per MX-Record zu Office 365 und nach einigen Stationen in den Kanal:

Fragen

Die Funktion ist gegeben und wenn man von den zukünftigen Problemen bei der Nutzung eines Kontakts mal absieht, auch robust und nützlich. Ein paar Fragen stellen sich mir aber dennoch.

  • Liste der Mailadressen zu Kanälen
    Ich habe bislang keinen Weg gefunden, alle in der Organisation genutzten Mailadressen von Kanälen zu finden. Im Message-Tracking habe ich diese Mails nur dann gesehen, wenn Sie über meinen Kontakt gelaufen oder direkt von internen Anwendern versendet wurden.
  • Welcher Kanal hat eine Mailadresse?
    Leider hat ein Teams-Besitzer keine Möglichkeit zu erkennen, welche Kanäle schon eine Mailadresse haben. Sobald er "E-Mailadresse abrufen" macht, wir ein Kanal ohne Mailadresse mit einer neuen Adresse versehen.
  • Orphaned Kontakte
    Wenn ich als Admin für einen Kanal einen passenden Kontakt anlege, dann kann der Teams-Besitzer den Kanal oder die Mailadresse löschen und ich sende munter weiter die Mails. Natürlich werden NDRs erzeugt, aber es gibt keinen eingebauten Prozess.
  • Gast-Mitglieder in "Teams Mitglieder"?
    Ich habe noch nicht geprüft, ob "Gäste" als Absender eine privilegierte Funktion haben, da der Teams-Besitzer ja den Absenderkreis auf "Mitglieder im Team" beschränken kann. Dann würde sich erst recht die Frage stellen, wie der Absender einer anonymen SMTP-Verbindung verifiziert werden kann. SPF, DKIM und DMARC stehen zur Stelle aber ist anscheinend nicht aktiv.

Weitere Links

Sending an email directly to a Microsoft Teams channel
https://www.youtube.com/watch?v=jN0BxoG7yh8