Thunderbird als POP3 und IMAP4 Client
Aus der gleichen Gruppe wie Firefox stammt auch "Thunderbird", ein universeller Mailclient, welcher auch per IMAP4/POP3 mit dem Exchange Server sprechen kann. Interessant ist bei Mozilla aber auch eine Art "Autokonfiguration".
Für eine Verbindung von Thunderbird mit Exchange Online müssen sie als Benutzer einmalig einen "Content" bestätigen. Diese kann auch der Administrator für alle Konten des Tenant machen. Dies wird weiter unten beschrieben.
Konto einrichten
Addiert ein Anwender ein Konto, dann fragt Mozilla wie Outlook erst mal nur den Namen (Displayname), die Mailadresse und das Kennwort ab.
Danach geht Mozilla her und versucht über folgende Schritte die korrekte Mailkonfiguration zu ermitteln
- E-Mail-Provider
Per Netmon ist schön zu sehen, dass Thunderbird per DNS nach der Maildomäne sucht und per HTTP eine XML-Datei herunter landen möchte. (Hostname "%maildomain%" oder "autoconfig.%maildomain%"
Http: Request, GET URI: /.well-known/autoconfig/mail/config-v1.1.xml?emailaddress=frank.carius%40xxnetatworkxx.de
- Mozilla Datenbank
Dann stellt Mozilla selbst eine Datenbank mit gängigen Zugangsservern bereit, die von Thunderbird unter der URL https://live.mozillamessaging.com/autoconfig/ angefragt wird. - Übliche Namen
Wenn all das nicht funktioniert, dann versucht Mozilla einfach ein paar "gebräuchliche" Namen per DNS aufzulösen und per POP3, IMAP, SMTP anzusprechen. Gesehen haben ich dabei die Anfragen und Verbindungsversuche nach folgenden Namen.
imap.netatwork.de smtp.netatwork.de pop3.netatwork.de pop.netatwork.de
- Manuell
Wenn all das nicht zum Ziel führt, dann muss der Mitarbeiter die Daten von Hand eingeben
Um so eine Funktion also für ihre eigene Exchange Umgebung bereit zu stellen müssen Sie nur eine passende XML-Datei auf ihrem Webserver ablegen, damit Clients diese beziehen können:
<clientConfig version="1.1"> <emailProvider id="firma.de"> <domain>firma.de</domain> <displayName>firma Mail Server</displayName> <displayShortName>firma</displayShortName> <incomingServer type="imap"> <hostname>firma.de</hostname> <port>993</port> <socketType>SSL</socketType> <authentication>password-cleartext</authentication> <Username>%EMAILADDRESS%</Username> </incomingServer> <outgoingServer type="smtp"> <hostname>firma.de</hostname> <port>587</port> <socketType>STARTTLS</socketType> <authentication>password-cleartext</authentication> <Username>%EMAILADDRESS%</Username> </outgoingServer> </emailProvider> </clientConfig>
Achtung: Das funktioniert nur sauber, wenn der Anmeldename der Userpart der Mailadresse oder die komplette Mailadresse ist. Bei Exchange ist das recht einfach zu realisieren, indem Sie den UPN einfach auf die Mailadresse setzen. Ich habe hier als Authentifizierung natürlich nun die Exchange 2010 "sicheren" Defaults eingesetzt, d.h. SMTP nur mit StartTLS über den Client Connector auf Port 587 und Abruf per IMAP4S. Im Thunderbird sieht das dann wie folgt aus:
Ausgehende Mails werden nicht über den Standard Port 25 gesendet, hinter dem sowieso ein Spamschutz lauert, der keine Authentifizierung unterstützt, sondern über den Port 587, welcher natürlich eine Verschlüsselung (hier STARTTLS statt SSL) und Authentifizierung erzwingt.
Für den Zugriff auf das Postfach dienst dann IMAP4 über den Port 993, welcher gleich mit SSL startet und nach einer Anmeldung den Zugriff erlaubt.
Wenn Sie Verbindung selbst per SSL oder STARTTLS gesichert ist, dann ist es nicht mehr so wichtig, ob das Kennwort selbst auch noch mal verschlüsselt wird.
Weitere Informationen zur automatischen Konfiguration finden Sie auch auf folgenden Links:
- Autoconfiguration in Thunderbird
https://developer.mozilla.org/en/Thunderbird/Autoconfiguration - ISP Database
http://support.mozillamessaging.com/bg/kb/ISP+Database - Automatic Account Configuration
http://support.mozillamessaging.com/bg/kb/Automatic+Account+Configuration - Thunderbird Accountdaten in XML-Datei vorgeben
http://firma.de/blog/index.php?/archives/72-Thunderbird-Accountdaten-in-XML-Datei-vorgeben.html
Thunderbird und Exchange Online
Microsoft hat in Exchange Online die Anmeldung per "Username/Kennwort" abgeschaltet und erzwingt mittlerweile OAUTH2 / Modern Authentication. Daher muss Thunderbird sich auch als "Application" mit einer ApplicationID und Secret ausweisen und mit mit SAML-Token sich anmelden. Thunderbird kann dies seit Version 102.7.0 (ca. Jan 2023) aber als Tenant Administrator müssen Sie ert die "Applikation Thunderbird" freischalten, wenn Sie gemäß meiner Empfehlung von Checkliste Tenant Einrichtung den App Consent für Anwender deaktiviert haben.
Dies geht am einfachsten durch den Aufruf als Administrator der folgenden URL. (Ersetzen Sie die TenantID)
https://login.microsoftonline.com/{tenant-id}/adminconsent?client_id=9e5f94bc-e8a4-4e73-b8be-63364c29d753
https://login.microsoftonline.com/msxfaqdev.onmicrosoft.com/adminconsent?client_id=9e5f94bc-e8a4-4e73-b8be-63364c29d753
Nach der Anmeldung als Administrator sehen Sie folgenden Dialog
Die wesentlichen Berechtigungen sind:
IMAP.AccessAsUser.All (Read and write access to mailboxes via IMAP.) POP.AccessAsUser.All (Read and write access to mailboxes via POP.) SMTP.Send (Send emails from mailboxes using SMTP AUTH.) offline_access (Ermöglicht die Ausstellung von lang laufenden Tokens
Sie können aber auch über das EntraID-Portal die Applikation "Thunderbird" kontrollieren und direkt die erlaubten Benutzer steuern. Natürlich könnten Sie dazu auch Conditional Access-Regel nutzen
Auch hier sind noch einmal die Berechtigungen aufgeführt.
Im Thunderbird Client müssen Sie dann "OAUTH2" als Anmeldeverfahren einstellen.
Andere Anmeldeverfahren sind mit Exchange Online nicht mehr möglich.
- OAUTH2 / Modern Authentication
- Exchange Online Authentifizierung
- IMAP4 mit Office 365
- Authentifizierung im Wandel der Zeit
- SAML und Preauthentication
-
Microsoft OAuth Authentication and
Thunderbird in 2024
https://support.mozilla.org/en-US/kb/microsoft-oauth-authentication-and-thunderbird-202 - Important: Thunderbird 102.7.0 And
Microsoft 365 Enterprise Users
https://blog.thunderbird.net/2023/01/important-message-for-microsoft-office-365-enterprise-users/ - Thunderbird 102.7.0: Änderung bei der
OAuth2-Autorisierung mit Microsoft-Konten
https://stadt-bremerhaven.de/thunderbird-102-7-0-aenderung-bei-der-oauth2-autorisierung-mit-microsoft-konten/
Thunderbird und EWS mit ExQuilla
Normalerweise nutzt Thunderbird immer nur IMAP4 oder POP3. Nun gibt es aber natürlich gegen diese Protokolle diverse Vorbehalte, z.B.:
- Firewall Traversal
Normalerweise können Clients per POP3/IMAP4 unverschlüsselt als auch verschlüsselt durch alle Firewalls kommunizieren. Allerdings müssen diese Protokolle natürlich "erlaubt" sein und immer mehr Firmen blocken diese Dienste - POP3/IMAP4 aktivieren
Wenn Sie selbst einen Exchange Server betreiben und Thunderbird als Client erlauben wollen, dann müssten sie POP3 und/oder IMAP4 erlauben. Das würde aber auch wieder die Türen für andere eventuell unerwünschte Clients öffnen. - POP3 saugen
Gerade das POP3-Protokoll ist eine latente Gefahr, da damit nur der Posteingang gelesen werden kann und viele Clients per Default die Mails "abholen" und diese dann nur noch lokal auf dem Client vorliegen. Das ist nicht im Sinne einer Exchange Umgebung.
Eigentlich sind die Exchange Web Services der ideale Weg neben ActiveSync und Outlook Anywhere (RPC/HTTP) mit dem Postfach sich zu verbinden. Mit dem AddIn "ExQuilla" ist es möglich, dass Thunderbird direkt mit dem Exchange Server über EWS kommuniziert. Leider kann ich das selbst nicht weiter testen
- ExQuilla 22.0 Released
https://exquilla.zendesk.com/home
Thunderbird Debugging
Weniger bekannt ist, dass Thunderbird unter Windows auch ein relative ausführliches Debug-File schreiben kann. Die Aktivierung erfolgt aber etwas ungewöhnlich, indem Sie eine CMD-Shell starten und dort erst einmal zwei Umgebungsvariablen setzen.
set MOZ_LOG=POP3:4,IMAP:4,SMTP:4 MOZ_LOG_FILE=c:\tem\moztrace.txt start thunderbird
Dann starten Sie Thunderbird aus dieser Shell, damit die Variablen übernommen werden. Hier mal ein Beispiel, wie ich eine fehlerhafte Anmeldung an einem Exchange Server diagnostiziert habe. Thunderbird hat den Servernamen mit einen @servername an den Usernamen addiert.
[(null) 7716: Main Thread]: I/SMTP SMTP Send: AUTH LOGIN [(null) 7716: Main Thread]: I/SMTP SMTP entering state: 0 [(null) 7716: Main Thread]: I/SMTP SMTP Response: 334 VXNlcm5hbWU6 [(null) 7716: Main Thread]: I/SMTP SMTP entering state: 13 [(null) 7716: Main Thread]: I/SMTP SMTP entering state: 16 [(null) 7716: Main Thread]: D/SMTP SMTP AuthLoginStep1() for DOMAIN\USER@exch16.msxfaq.de [(null) 7716: Main Thread]: D/SMTP LOGIN auth [(null) 7716: Main Thread]: I/SMTP Logging suppressed for this command (it probably contained authentication information) [(null) 7716: Main Thread]: I/SMTP SMTP entering state: 0 [(null) 7716: Main Thread]: I/SMTP SMTP Response: 334 UGFzc3dvcmQ6 [(null) 7716: Main Thread]: I/SMTP SMTP entering state: 18 [(null) 7716: Main Thread]: D/SMTP SMTP Login response, code 334 [(null) 7716: Main Thread]: I/SMTP SMTP entering state: 17 [(null) 7716: Main Thread]: D/SMTP SMTP AuthLoginStep2 [(null) 7716: Main Thread]: D/SMTP LOGIN auth, step 2 [(null) 7716: Main Thread]: I/SMTP Logging suppressed for this command (it probably contained authentication information) [(null) 7716: Main Thread]: I/SMTP SMTP entering state: 0 [(null) 7716: Main Thread]: I/SMTP SMTP Response: 535 5.7.3 Authentication unsuccessful
Der Vorteil hierbei ist, das Sie auch die Befehle einer mit STARTTLS gesicherten Verbindung sehen können
- Protokoll (Log-Datei) der
Server-Verbindung mit IMAP, POP und SMTP
erstellen
https://www.thunderbird-mail.de/lexicon/entry/215-protokoll-log-datei-der-server-verbindung-mit-imap-pop-und-smtp-erstellen/ - Thunderbird Authentication
https://wiki.mozilla.org/Thunderbird:Supported_authentication_methods
Weitere Links
- IMAP4 mit Office 365
- POP3 Clients
- IMAP4 Clients
- IMAP4-Telnet
- IMAP4Push
- SMTP-Telnet
- SMTP authentifiziert senden
-
IMAP4 Performance unter Exchange 2010
http://blogs.technet.com/b/exchange/archive/2010/05/06/454836.aspx - Q161118 XCLN: Troubleshooting POP3 Connections to Exchange Server
- Q161116 XCLN: POP3 Supported Command Set für Exchange Server 5.0
- http://www.Microsoft.com/exchange/techinfo/administration/2000/pop3.asp
- 322826 XGEN: List of POP3 Commands Supported by Microsoft Exchange 2000 Server
- 937359 POP3 and IMAP4 clients cannot connect to a server that is running Exchange Server 2007
- Outlook 2003 IMAP Aufräummakro, Version 1.2
http://www.staudte-edv.de/Kunden/IMAPcleanup.asp
Outlook VBA, welches bei IMAP4 Zugriff "gelöschte Mails" beim Verlassen den Ordner auch löscht. - IMAP4 Proxies zur Performance Verbesserung
http://www.horde.org/imapproxy/
http://www.imapproxy.org/index.html - EWS