Linuxspicker

Admins kleiner Zettelkasten für die Lösung von Linuxproblemen

Exchange-Mails auf Android-Telefon mit K-9 Mail und DavMail abrufen


Unter Android lassen sich zwar Exchange-Mails über die komplette Abgabe der Telefonkontrolle abrufen, doch mag nicht jeder sein Telefon von jemand anderem kontrollieren lassen. Aquamail und Maildroid bieten ebenfalls Exchange-Unterstützung an. Doch im Falle von mit GnuPG verschlüsselten E-Mails engt sich die Auswahl noch weiter ein und Maildroid hat unter Android 13 und 14 inzwischen Probleme.

Ein Ausweg ist die Nutzung eines per DavMail auf dem eigenen Server bereitgestellten Gateways und der Übergang zu K-9 Mail als Mailclienten auf Android, der auch verschlüsselte E-Mails lesen kann.

DavMail lässt sich unter Debian einfach per apt install davmail installieren. Für andere Serverbetriebssysteme finden sich auf der Projektseite weitere Versionen. Hauptsächlich wird eine laufende Java-Umgebung benötigt. Die Einstellungen sind in unter /etc/davmail/davmail.properties zu finden.

Nach der Installation geht es hauptsächlich um die Frage, welche Dienste (Caldav, IMAP, LDAP, POP3, SMTP) erreichbar sein sollen.


# Listener ports
#davmail.caldavPort=1080
davmail.imapPort=1143
#davmail.ldapPort=1389
#davmail.popPort=1110
davmail.smtpPort=1025

Die entsprechenden Ports müssen dann auch in der Firewall geöffnet werden, damit sie von außen erreichbar sind.

Dazu müssen die Art der Verbindung und der entsprechende Zugangspunkt auf dem Mailserver definiert werden.


# Exchange/Office 365 connection mode:
# - O365Modern Office 365 modern authentication (Oauth2)
# - O365Interactive Office 365 with interactive browser window, not available in headless mode (OpenJFX required)
# - O365Manual Office 365 with interactive dialog, not available in headless mode
# - O365 Office 365 EWS mode
# - EWS Exchange 2007 and later
# - WebDav Exchange 2007 and earliear WebDav mode
# - Auto WebDav mode with EWS failover
davmail.mode=EWS
# base Exchange OWA or EWS url
davmail.url=https://outlook.office365.com/EWS/Exchange.asmx

Zudem sollte noch der SSL-Schutz der Verbindung eingestellt werden.


# DavMail listeners SSL configuration
# systemd startup script expects keyStoreFile at /etc/davmail/keystoreFile
# (which can be a symlink).
davmail.ssl.keystoreType=PKCS12
davmail.ssl.keystoreFile=/etc/davmail/linuxspicker.p12
davmail.ssl.keystorePass=PASSWORT
davmail.ssl.keyPass=PASSWORT

Dazu lässt sich entweder ein eigenes Zertifikat einrichten, wie bei DavMail auf der Projektseite beschrieben. Oder man verwendet beispielsweise das bereits im PEM-Format vorhandene Zertifikat von Letsencrypt für die eigene Domain. Das lässt sich über nachfolgendes Script im PKCS12-Format erzeugen.


#!/bin/sh

/usr/bin/openssl pkcs12 -export -in /etc/letsencrypt/live/linuxspicker.net/fullchain.pem -inkey /etc/letsencrypt/live/linuxspicker.net/privkey.pem -out /etc/davmail/linuxspicker.p12 -passout pass:PASSWORT 

/bin/chown _davmail.mail /etc/davmail/linuxspicker.p12

Da das Letsencrypt-Zertifikat regelmäßig erneuert wird, muss auch das PKCS12-Zertifikat in gleicher Regelmäßigkeit erneuert werden. Aufgrund des unbekannten Erneuerungsdatums ist daher wohl ein täglicher Cronjob aus obigem Script in /etc/cron.daily die praktikabelste Lösung.

Wenn das alles eingerichtet ist und DavMail brav an den definierten Ports lauscht, kann der Android-Client eingerichtet werden. K-9 Mail (zukünftig Thunderbird auf Android) lässt sich einfach über den Playstore installieren. Dort muss dann bei der Einrichtung des Servers für den Maileingang und -ausgang die eigene Domain mit dem eingerichteten Port und SSL/TLS als Sicherheitsprotokoll eingetragen werden. Dazu noch die Zugangsdaten des realen Mailservers und schon sollten die Mails auf das Android-Telefon flutschen und sich eigene Mails verschicken lassen.


Stichworte: , , , , , , , , , , ,
Kategorien: ,