Microsoft Exchange

UM mit Microsoft Exchange 2016 / 2019

E-Mail Weiterleitung

Damit E-Mails mit Adressen wie @sms.alleo.intern und @fax.alleo.intern zum UM-Server gelangen, müssen sie vom Mailserver weitergeleitet werden. Bei Microsoft Exchange 2016 / 2019 wird die E-Mailweiterleitung über einen SMTP-Sendeconnector pro UM-Dienst eingerichtet:

  1. Öffnen Sie das Exchange Admincenter.

  2. Gehen Sie unter Nachrichtenfluss auf Sendeconnectors und starten Sie den Assistenten (durch Klick auf +) zur Anlage eines neuen Sendeconnectors:

exchange1

  1. Auf der ersten Seite des Assistenten geben Sie einen Namen für den Connector ein und wählen den Typ Benutzerdefiniert aus.

  2. Auf der zweiten Seite des Assistenten wählen Sie E-Mail über Smarthosts weiterleiten und fügen Sie die IP-Adresse des XPhone Connect Servers hinzu. Speichern Sie dies und klicken auf Weiter.

  3. Wählen Sie nun als Authentifizierungsmethode Keine aus und klicken auf Weiter.

  4. Auf der nächsten Seite geben Sie die Adressräume an, an die dieser Connector E-Mails weiterleiten soll. Klicken Sie dazu auf das +. Geben Sie die Daten der Domäne an, klicken auf Speichern und auf Weiter:

exchange2

  1. Wählen Sie nun aus, über welchen Exchange Server (Quellserver) ihres Unternehmens die Nachrichten versendet werden sollen. Klicken Sie dazu auf remember-user, wählen den gewünschten Server aus und klicken auf Hinzufügen und auf OK, danach auf Fertigstellen.

  2. Gehen Sie für den SMS-Dienst analog vor.

Nachrichtenformate

Die XPhone Connect UM-Dienste erwarten den Nachrichtentext immer als unformatierten Text. Die Erstellung und Konfiguration von Remotedomänen erfolgt über die Exchange Verwaltungsshell

Öffnen der Exchange-Verwaltungsshell:

exchange3

In diesem Beispiel wird die Remotedomäne fax erstellt:

New-RemoteDomain -DomainName fax.alleo.intern -Name fax

exchange4

Mit folgendem Befehl lässt sich die Remotedomäne abfragen:

Get-RemoteDomain -Identity fax | Format-List

Gelb markierte Werte müssen geändert werden:

exchange5

Im Folgenden sind alle Parameter aufgelistet und gelb markiert, die geändert werden müssen.

exchange6

Alle Parameter, die zu ändern sind, haben in der Tabelle eine laufende Nummer. Anhand dieser Nummer sind auch die Befehle nummeriert:

  1. Ändern CharacterSet in iso-8859-1 ( MIME-Zeichensatz):

    Set-RemoteDomain fax -CharacterSet iso-8859-1
    
  2. Ändern NonMimeCharacterSet in iso-8859-1 ( Nicht-MIME-Zeichensatz):

    Set-RemoteDomain fax -NonMimeCharacterSet iso-8859-1
    
  3. Ändern AllowedOOFType in none (keine Abwesenheitsnachrichten an die Domäne senden):

    Set-RemoteDomain fax -AllowedOOFType None
    
  4. Ändern AutoReplyEnabled in false (automatische Weiterleitungen erlauben):

    Set-RemoteDomain fax -AutoReplyEnabled $false
    
  5. Ändern DeliveryReportEnabled in False (Zustellungsberichte deaktivieren):

    Set-RemoteDomain fax -DeliveryReportEnabled $false
    
  6. Ändern NDREnabled in False (Unzustellbarkeitsberichte deaktivieren):

    Set-RemoteDomain fax -NDREnabled $false
    
  7. Ändern ContentType in MimeText (Textnachricheten werden immer als Text gesendet):

    Set-RemoteDomain fax -ContentType MimeText
    
  8. Ändern TNEFEnabled in False:

    Set-RemoteDomain fax -TNEFEnabled $False
    

Hinweis

Nach Eingabe des Befehls kommt von der shell nur im Fehlerfall eine Rückmeldung.

Prüfen Sie am Ende Ihrer Konfiguration die Einstellungen:

Get-RemoteDomain -Identity fax | Format-List

exchange7

IMAP4 Zugriff

Sollen Benutzer die Möglichkeit haben, ihre Voicemails auch per Telefonfernabfrage abhören und bearbeiten zu können, nutzt der UM-Server das IMAP4 Protokoll, um die Nachrichten aus der Mailbox des Benutzers abzufragen.

  1. Nach der Standardinstallation des Exchange-Servers wird der IMAP4-Dienst nicht automatisch gestartet. Dies muss über den Windows-Dienste-Manager verändert werden:

exchange8

  1. Der IMAP4-Dienst muss nun noch so konfiguriert werden, dass er eine Klartext-Authentifizierung zulässt und die Nachrichten nur im Textformat liefert. Dazu muss die Exchange-Verwaltungsshell gestartet werden. Geben Sie dort den Befehl ein:

    Set-ImapSettings –LoginType PlainTextLogin –MessageRetrievalMimeFormat TextOnly
    
  • Mit Get-ImapSettings | Format-List können Sie die Einstellungen überprüfen. Im folgenden Bild sind die wichtigen Parameter markiert:

exchange8

  1. Nach erfolgter Konfiguration des IMAP4-Dienstes muss dieser neu gestartet werden.

Bei Problem kann optional das IMAP-Logging aktiviert werden. Im Verzeichnis C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\PopImap ist die Datei Microsoft.Exchange.Imap4.exe.config zu finden. Ganz am Ende der Datei wird das Logging konfiguriert:

<appSettings>

<add key="MaxIoThreadsPerCPU" value="0" />

<add key="ConnectionCacheSize" value="250" />

<add key="ProtocolLog" value="false" />

<add key="LogPath" value="C:\Program Files\Microsoft\Exchange Server\Logging\Imap4" />

<add key="AgeQuotaInHours" value="24" /> <add key="SizeQuota" value="10000000" />

<add key="PerFileSizeQuota" value="1000000" />

<add key="AllowCrossSiteSessions" value="false" />

</appSettings>

In der hervorgehobenen Zeile muss der Wert von false auf true geändert werden. Das Logging beginnt sobald Sie den Dienst neu starten.

Relay-Einstellungen

Sollen die UM-Dienste E-Mails an beliebige Domainen verschicken dürfen, so sind dazu einige Einstellungen im Exchange Server und im XPhone Connect Server notwendig.

In der Standardkonfiguration werden E-Mails, die per SMTP in den Exchange-Server gelangen, nur in Domänen zugestellt, die der Exchange-Server akzeptiert. Akzeptierte Domänen werden im Exchange Admin Center unter Nachrichtenfluss auf dem Reiter Akzeptierte Domänen verwaltet. Eine Möglichkeit das Verschicken an bestimmte externe Domänen zu erlauben, wäre also diese Domäne in die Liste der „Akzeptierten Domänen“ aufzunehmen. Dies würde allerdings bedeuten, dass jeder Computer, der den Exchange-Server per SMTP erreichen kann, E-Mails an diese Domäne schicken dürfte. In der Regel ist das nicht gewünscht.

Um zu erreichen, dass nur der Computer, auf dem die UM-Dienste laufen, an beliebige Domänen E-Mails verschicken darf, muss man einen zusätzlichen SMTP-Empfangsconnector konfigurieren:

exchange10

  • Öffnen Sie das Exchange Admin Center > Nachrichtenfluss > Empfangsconnectors.

  • Starten Sie den Assistenten zum Anlegen eines Neuen Empfangsconnectors durch Klick auf +/Neu.

  • Geben Sie einen eindeutigen Namen ein, wählen Sie die Rolle Hub-Transport und Typ Benuzterdefiniert aus. Klicken Sie auf Weiter.

exchange11

  • Bei Netzwerkadapterbindungen bearbeiten Sie den voreingestellten Eintrag (Alle verfügbaren IPv4-Adressen) und ändern den Port auf 2500:

  • Klicken Sie auf Weiter.

  • Geben Sie im letzten Fenster die Remote-IP-Adresse(n) des Servers an, von denen E-Mails empfangen werden können sollen und drücken Sie Fertig stellen.

MAPI Anschaltanleitung

MAPI wird benötigt, um private und öffentliche Outlook Kontaktordner in XPhone Connect Directory anzubinden, um den serverseitigen Kalenderabgleich mit em Microsoft Exchange Server zu verwenden, wenn ein Microsoft Exchange Server für die Speicherung der UM Nachrichten eingesetzt wird und die Fernabfrage der Voicemails dieses Protokoll verwenden soll.

MAPI Überblick

MAPI („Messaging API“) ist eine Schnittstelle zum Microsoft Exchange Server, die vom XPhone Connect Server für folgende Funktionen verwendet wird:

  • XPhone Connect Directory

  • Serverseitiger Kalenderabgleich

  • MAPI Postfach für UM Nachrichten

Die MAPI Konfiguration im XPhone Connect Server unterscheidet sich leicht für die verschiedenen Versionen des Microsoft Exchange Servers. XPhone Connect unterstützt die Exchange Server Versionen 2016 und 2019.

Exchange 2016, 2019

Für die MAPI-Anbindung an Exchange 2016 / 2019 muss auf dem XPhone Connect Server Microsoft Outlook 2016 (32-Bit) oder Microsoft Outlook 2019 (32-Bit) installiert werden. Das erfolgt nicht automatisch durch den Installations-Assistenten sondern muss durch den Administrator manuell durchgeführt werden.

Der Standard E-Mail-Client muss ab jetzt Microsoft Outlook sein. Dies ist in der Windows Registrierung unter diesen Schlüsseln zu prüfen, hier muss bei „Standard“ der Wert “ Microsoft Outlook “ gesetzt sein:

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Clients\Mail]

Wichtig

XPhone Connect unterstützt die serverseitige MAPI Anbindung an Office 365 für öffentliche und freigegebene Kontaktordner, jedoch keine persönlichen Kontaktordner, keinen serverseitigen Kalenderabgleich und keine Fernabfrage von Voicemail.

„MAPIAccount“ für XPhone Connect Dienste

Für alle Exchange Server Versionen müssen der XPhone Connect Server und alle UM Dienste unter einem speziellen Domänen-Account (MAPIAccount) laufen. Die Umstellung des Dienste-Accounts für alle betroffenen Dienste erfolgt über den XPhone Connect Server Manager:

  • Stellen Sie unter Dieses Konto den MAPIAccount ein, geben Sie das zugehörige Kennwort ein und wählen anschließend Jetzt ändern.

Hinweis

Szenario

  • Auf dem XPhone Connect Server ist Outlook installiert (für die MAPI-Anbindung an den Exchange Server)

  • Das Windows-Kennwort des MAPI-Accounts, unter dem der XPhone Connect Server läuft, wurde geändert.

Aktion

Nach der Kennwortänderung müssen folgende Aktionen auf dem XPhone Connect Server durchgeführt werden:

  • Auf dem XPhone Connect Server Computer unter dem MAPI-Account anmelden.

  • XPhone Connect Server Dienst über den XPhone Connect Server Manager beenden.

  • Im XPhone Connect Server Manager den Dienst-Account auf localhost stellen.

  • Den Dienst-Account wieder auf den MAPI-Account umstellen und dabei das neue Kennwort eingeben.

  • Outlook starten
    • Outlook fordert das neue Kennwort an.

  • Kennwort eingeben und prüfen, ob Outlook fehlerfrei läuft. (ggf. Outlook beenden und erneut starten → die Kennwortabfrage darf nicht nochmals erfolgen!)

  • Outlook beenden.

  • XPhone Connect Server Dienst neu starten.

Auf diese Weise wird sichergestellt, dass Kalendersynchronisation, Exchange-Kontaktordner und die Voicemail-Fernabfrage wieder korrekt funktionieren.

Der MAPIAccount muss ein vollwertiger Domänen-Account mit einem eigenen Postfach auf dem Exchange Server sein.

Achtung

Das Konto MAPIAccount darf nicht Mitglied der Gruppe Domänen-Admins, Exchange Servers, Organisations-Admins und Exchange-Organisation-Administrators sein.

Diesem MAPIAccount müssen nun volle Zugriffsrechte (FullAccess) auf alle Exchange Postfächer erteilt werden. Das erreicht man durch die Vergabe des Rechts Receive-As für den MAPIAccount auf allen Exchange Datenbanken.

Bei den Exchange Servern vergibt man die Rechte in der Exchange-Verwaltungsshell, einer speziellen Kommandozeilen-Oberfläche für den Exchange Server. Damit der MAPIAccount volle Zugriffsrechte auf den Postfächern aller Datenbanken erhält, müssen die Berechtigungen Send-As und Receive-As vergeben werden:

Get-Mailboxdatabase | Add-ADPermission -AccessRights ExtendedRight -ExtendedRights Receive-As, Send-As -User "<MAPIAccount>" | ft identity,user,extendedrights,accessrights,deny,isinherited

Durch den vorangestellten Befehl „Get-Mailboxdatabase“ werden dem anschließenden Befehl Add-ADPermission automatisch die Namen aller Datenbanken der Exchange Organisation übergeben. Man erspart sich auf diese Weise die explizite Angabe der Option -Identity für jede einzelne Datenbank.

Als Ergebnis des Kommandos erhält man eine Auflistung aller Datenbanken mit den jeweils vergebenen Rechten für den MAPIAccount in dieser Form:

Identity User ExtendedRights AccessRights Deny IsInherited

-------- ---- -------------- ------------ ---- -----------

DB_NAME < MAPIAccount > {Receive-As} {ExtendedRight} False False

DB_NAME < MAPIAccount > {Send-As} {ExtendedRight} False False

Um exemplarisch zu überprüfen, ob der MAPIAccount volle Zugriffsrechte auf das Postfach eines bestimmten Exchange Benutzers hat, verwendet man den folgenden Befehl:

Get-MailboxPermission -Identity "<ExchangeUser>" -User "< MAPIAccount >"

Man erhält dann eine Ausgabe in dieser Form (wichtig ist hier AccessRights = {FullAccess}):

Identity User AccessRights IsInherited Deny

-------- ---- ------------ ----------- ----

<ExchangeUser> < MAPIAccount > {FullAccess} True False

Um die speziellen Berechtigungen des MAPIAccounts wieder von allen Exchange Datenbanken zu entfernen, verwendet man dieses Kommando:

Get-Mailboxdatabase | Remove-ADPermission -AccessRights ExtendedRight -ExtendedRights Receive-As, Send-As -User "<MAPIAccount>"

Befinden sich in der Domäne mehrere Exchange Server, können die oben beschriebenen Kommandos auf allen Exchange Servern ausgeführt werden, indem der Befehl zum Auflisten aller Exchange Server vorangestellt wird:

Get-ExchangeServer | ...

Exchange 2016 / 2019

Die MAPI-Anbindung an den Exchange 2016 / 2019 Server erfordert die Installation von Microsoft Outlook 2016 (32-Bit) / 2019 (32-Bit) auf dem XPhone Connect Server. Es wird folgende Vorgehensweise empfohlen:

Nur bei Migration von Exchange 2013 oder älter nach Exchange 2016 / 2019:

  • Löschen aller Datenquellen vom Typ private oder öffentliche Outlook Kontaktordner im Connect Directory

  • In der Datei atlas.xml, die sich im Installationsverzeichnis des XPhone Connect Servers befindet, muss die Einstellung von RoHFlagsUseRoH auf off stehen:

    <Exchange>
        <mapi>
            <RoHFlagsUseRoH>off</RoHFlagsUseRoH>
        </mapi>
    </Exchange>
    
  • Beenden Sie den XPhone Connect Servers Dienst

  • Deinstallieren Sie über Systemsteuerung > Programme und Features Messaging API and Collaboration Data Objects 1.2.1

  • Deinstallieren Sie ein ggf. vorhandenes Microsoft Office 2013 oder älter auf dem Server

Anbindung an Exchange 2016 / 2019

  • Installieren Sie Microsoft Office 2016 / 2019 (32-Bit) mit den Komponenten Outlook und – je nach Bedarf - Word, Excel und Powerpoint. Für die MAPI-Anbindung ist nur Outlook erforderlich, die anderen Applikationen unterstützen das serverseitige Rendern von Fax-Dokumenten. Es muss sichergestellt werden, dass keine weitere Office-Version installiert ist!

  • Überprüfen Sie, dass Microsoft Outlook als Standard-E-Mail-Client eingerichtet ist.

  • Für das Dienstkonto des XPhone Connect Servers muss interaktives Windows-Logon auf dem XPhone Connect Server Rechner erlaubt sein. Das XPhone Connect Server Dienstkonto muss zuvor im Active Directory eingerichtet und mit ausreichenden Rechten im Exchange Server ausgestattet werden (siehe „MAPIAccount“ für XPhone Connect Dienste).

  • Starten Sie Outlook 2016 / 2019 (32-Bit) und richten Sie ein Standard-MAPI-Profil ein. Der Cache Modus von Outlook muss ausgeschaltet werden!

  • Das neu erstellte Profil muss als Standard Outlook Profil festgelegt werden.

  • Zur Überprüfung der Berechtigungen empfiehlt es sich, das Postfach eines anderen Benutzers zu öffnen. Hinweis: Dazu soll unbedingt ein weiterer unkritischer Test-Account verwendet werden, damit keine unberechtigten Zugriffe auf Benutzer-Postfächer erfolgen! Außerdem sollte (sofern vorhanden) der Zugriff auf öffentliche Exchange Ordner überprüft werden. Wichtig ist insbesondere der Zugriff auf den Kontakt-Ordner.

  • Installieren bzw. aktualisieren Sie denXPhone Connect Server.

  • Ändern Sie das Dienstkonto des XPhone Connect Servers auf den MAPI-Account im XPhone Connect Server-Manager und starten Sie den XPhone Connect Server Dienst neu über den XPhone Connect Server-Manager

  • Bestehende Datenquellen, die für ältere Exchange Server angelegt wurden, können nicht für Exchange 2016 / 2019 verwendet werden. Alle Datenquellen vom Typ private bzw. öffentliche Outlook Kontaktordner im Connect Directory müssen ggf. neu angelegt werden. Verwenden Sie dazu eine neue Bezeichnung für die Datenquelle.

MAPI Troubleshooting

Auf den C4B Supportseiten finden Sie aktuelle Hinweise zur Behebung von MAPI Problemen mit XPhone Connect: MAPI-Quiz

Exchange Mailbox Store Limits

Symptome
  • MAPI Clients melden den Fehler „MAPI_E_FAILONEPROVIDER (0x8004011D)“.

  • Im Eventlog des Exchange Servers gibt es entsprechende Warnungen oder Fehler:

    Source: MSExchangeIS, Mapi session "…./cn=<MAPIAccount>" exceeded the maximum of 32 objects of type "session"
    
Erklärung

Jeder Exchange Mailbox Server limitiert die maximale Anzahl von MAPI-Sessions pro User auf 32. Dieses Limit hat Microsoft eingeführt, um den Exchange Server vor fehlerhaft programmierten MAPI Clients oder Angriffen zu schützen. Der XPhone Connect Server Dienst läuft unter einem Domänen-Account mit vollen Zugriffsrechten auf alle Exchange Postfächer (MAPIAccount) damit:

  • das XPhone Connect Directory auf öffentliche und private Outlook Kontaktordner zugreifen kann.

  • der serverseitige Kalenderabgleich mit Exchange für die Präsenzsteuerung funktioniert.

  • das Voicemail-System auf die im Exchange Server gespeicherten Voicemail-Nachrichten zugreifen kann.

Je nach Konfiguration des XPhone Connect Servers benötigt der MAPIAccount mehr als 32 gleichzeitige MAPI-Sessions auf dem Exchange Server. Die folgende Formel gibt den ungefähren Bedarf an:

Anzahl MAPI-Sessions für den MAPIAccount = N \* 5 \* ( O + P )


O: Anzahl öffentlicher Outlook Datenquellen im XPhone Connect Directory

P: Anzahl privater Outlook Datenquellen im XPhone Connect Directory (i.d.R. 1 oder 0)

N: Anzahl gleichzeitig unter dem MAPIAccount laufender XPhone Connect Server.

Mit 6 öffentlichen und einer privaten Outlook-Datenquelle kann das Limit schon überschritten werden: 1 \* 5 \* ( 6 + 1 ) = 35.
Abhilfe für Exchange 2016 und 2019

Bei einem Exchange Server wird das Limit für die erlaubten MAPI Sessions mit Hilfe einer sog. „Throttling Policy“ hochgesetzt. Zunächst wird eine neue Policy erzeugt, die anschließend dem MAPI-Account zugewiesen wird.

Dazu öffnet man die Exchange-Verwaltungsshell, eine spezielle Kommandozeilen-Oberfläche für den Exchange Server, und gibt folgende Kommandos ein:

New-ThrottlingPolicy NoThrottlingPolicy

Set-ThrottlingPolicy NoThrottlingPolicy -RCAMaxConcurrency Unlimited -EWSMaxConcurrency Unlimited -EWSMaxSubscriptions Unlimited -CPAMaxConcurrency Unlimited -EwsCutoffBalance Unlimited -EwsMaxBurst Unlimited -EwsRechargeRate Unlimited

Set-Mailbox "User Name" -ThrottlingPolicy NoThrottlingPolicy
  • Anschließend muss der Dienst „Microsoft Exchange Informationsspeicher“ (engl: „Microsoft Exchange Information Store“) neu gestartet werden. Während des Neustarts sind die Postfächer nicht erreichbar.

Ob die Einstellung erfolgreich war, lässt sich mit diesem Kommando überprüfen:

Get-Mailbox –Identity "<MAPIAccount>" \| fl

Es werden alle Attribute der angegebenen Identity aufgelistet, unter anderem die neu hinzugefügte XPhoneServerThrottlingPolicy.

Oder:

Get-ThrottlingPolicyAssociation \| more

Zur Auflistung aller Accounts.

Sollte die vorgenommene Maßnahme noch nicht zum Erfolg geführt haben, muss in der Registry noch folgender Key gesetzt werden:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem]"Maximum Allowed Sessions Per User"=dword:00000080

(in diesem Fall sind 128 Sessions erlaubt -> 80 in Hexadezimal)

Der Wert muss hoch genug sein, dass der Exchange Server ausreichend Sessions für den User vergeben kann, unter dem der XPhone Connect Server läuft.

Diese Änderung muss auf jedem Exchange Mailbox Server innerhalb einer Database Availability Group (DAG) durchgeführt werden. Ansonsten kann es zu inkonsistentem Verhalten kommen.

Haben Sie einen Fehler auf dieser Seite entdeckt?

Bitte schicken Sie uns einen Hinweis auf diesen Fehler per Mail an doku@c4b.de. Vielen Dank!