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

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)
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
