Exchange 2013/2016 – IMAP4 Bereitstellung

Hallo Freunde der Sonne,

hier Mal ein kurzer Artikel zu meiner Selbsterinnerung wie anstrengend Microsoft doch manchmal seien kann.

Exchange 2013/2016 – IMAP4 Bereitstellung

Hinweis

Der IMAP4-Zugriff konnte bei mir nicht mit einem administrativen Konto durchgeführt werden.

Vorbereitungen

  • Port-Forwardings oder N:NAT für folgende Ports inkl Firewall-Freigabe
    • IMAP: 993 SSL
    • SMTP: 587 TLS (Client Frontend Connector)
  • Gestartete Dienste
    • Microsoft Exhcange IMAP4 (MSExchangeImap4) – gestartet & automatisch
    • Microsoft Exchange-IMAP4-Back-End (MSExchangeIMAP4BE) – gestartet & automatisch

Via Powershell:

Set-service msExchangeIMAP4 -startuptype automatic
Start-service msExchangeIMAP4
Set-service msExchangeIMAP4BE -startuptype automatic
Start-service msExchangeIMAP4BE

Einrichtung

1. Hinterlegen der Zugriffsdaten in der OWA (via Powershell)

Set-PopSettings -ExternalConnectionSettings {mail.domain.tld:995:SSL}
Set-ImapSettings -ExternalConnectionSettings {mail.domain.tld:993:SSL}
Get-ReceiveConnector "*Client Frontend*" | Set-ReceiveConnector -Fqdn mail.domain.tld -AdvertiseClientSettings $true -RequireTLS $true

2. Neustarten der involvierten Dienste

iisreset
Restart-service msExchangeIMAP4
Restart-service msExchangeIMAP4BE

3. Prüfen der Konfigurationspfade in der OWA

Abbildung 1: Exchange OWA Optionen
Abbildung 1: Exchange OWA Optionen

4. Berechtigen der Benutzer für SMTP (via Powershell)

Für den Fall, dass bei einer normalen Einrichtung des SMTP via Benutzer-Login die Meldung kommt: 5.7.1 – Benutzer nicht berechtigt unter diesem Konto zu senden.

Get-Mailbox | Add-ADPermission -User "NT-AUTORITÄT\SELBST" -ExtendedRights "Send As"

Generell würde ich das aktivieren von Relay-Connectoren vermeiden und lieber allen Mitarbeitern die Berechtigung geben unter eigenem Namen senden zu dürfen.

5. Konfiguration Client (Thunderbird)

Abbildung 2: IMAP-Thunderbird
Abbildung 2: Thunderbird IMAPS

Ab hier sollte der Kunde dann schon etwas glücklicher sein.

Debugging

Protokollierung einschalten und ggf. durchlesen was schief läuft:

Set-ImapSettings -Server "mail" -ProtocolLogEnabled $true
Set-PopSettings -Server "mail" -ProtocolLogEnabled $true
Set-ReceiveConnector "*Client Frontend*" -ProtocolLoggingLevel Verbose

Nur für den Fall, dass man nicht mehr weis wo die Protokolle eignetlich hingesichert werden bzw. zu faul zum Suchen ist:

Set-ImapSettings -Server "mail" -ProtocolLogEnabled $true -LogFileLocation "D:\Logs\Imap"
Set-PopSettings -Server "mail" -ProtocolLogEnabled $true -LogFileLocation "D:\Logs\POP"

Die SMTP-TransportLogs würde ich nicht leichtsinnig umlegen…

Set-TransportService "mail" -ReceiveProtocolLogPath "D:\Logs\Receive" -SendProtocolLogPath "D:\Logs\Send" -ReceiveProtocolLogMaxFileSize 20MB -SendProtocolLogMaxFileSize 20MB -ReceiveProtocolLogMaxDirectorySize 400MB -SendProtocolLogMaxDirectorySize 400MB -ReceiveProtocolLogMaxAge 45.00:00:00 -SendProtocolLogMaxAge 45.00:00:00

Und zum Abschalten der Protokollierung:

Set-ImapSettings -Server "mail" -ProtocolLogEnabled $false
Set-PopSettings -Server "mail" -ProtocolLogEnabled $false
Set-ReceiveConnector "*Client Frontend*" -ProtocolLoggingLevel None