Dovecot als lokalen Mailspeicher konfigurieren

E-Mail Programme verwalten lokale Nachrichten für gewöhnlich selbst. Das kann zu sehr spezifischen Fehlern führen und zeitaufwendige Migrationen notwendig machen, sollte man einst das Werkzeug wechseln wollen.

Um eine langfristige Unabhängigkeit von der Software und eine flexible Handhabung zu sichern, kann man einen dedizierten IMAP-Dienst zur Nachrichtenverwaltung konfigurieren.

Das erlaubt es, die gewohnte E-Mail Umgebung weiter zu verwenden, während man gleichzeitig die hohen Qualitätsansprüche eines spezialisierten Diensts geltend macht.

Nach Installation – xbps-install -Su dovecot in Void Linux – ist der Konfigurationsaufwand für den Dovecot IMAP-Dienst überraschend gering:

Lokale Nutzung definieren

# Dienst nur via localhost anbieten
SET_LISTEN='s|^#listen = .*|listen = 127.0.0.1|g'
sed -i_$(date +%Y%m%d) "$SET_LISTEN" \
        /etc/dovecot/dovecot.conf

# ~/.Maildir als Mailverzeichnis verwenden
SET_MAIL_LOCATION='s|^#mail_location = .*|mail_location = maildir:~/.Maildir|g'
sed -i_$(date +%Y%m%d) "$SET_MAIL_LOCATION" \
        /etc/dovecot/conf.d/10-mail.conf

# SSL deaktivieren
SET_SSL='s|^ssl = .*|ssl = no|g'
sed -i_$(date +%Y%m%d) "$SET_SSL" \
        /etc/dovecot/conf.d/10-ssl.conf

Authentifizierungsmethode festlegen

## Variante 1: Passwortabfrage deaktivieren
#[ -f /etc/dovecot/conf.d/auth-static.conf.ext ] ||
#        cp /usr/share/examples/dovecot/conf.d/auth-static.conf.ext /etc/dovecot/conf.d/auth-static.conf.ext 
#SET_INCLUDE='s|^#!include auth-static.conf.ext|!include auth-static.conf.ext|g'
#sed -i_$(date +%Y%m%d) "$SET_INCLUDE" \
        /etc/dovecot/conf.d/10-auth.conf

# Variante 2: Zugriff per Linux-Passwort authorisieren
[ -f /etc/dovecot/conf.d/auth-system.conf.ext ] ||
        cp /usr/share/examples/dovecot/conf.d/auth-system.conf.ext /etc/dovecot/conf.d/auth-system.conf.ext
SET_INCLUDE='s|^#!include auth-system.conf.ext|!include auth-system.conf.ext|g'
sed -i_$(date +%Y%m%d) "$SET_INCLUDE" \
        /etc/dovecot/conf.d/10-auth.conf

Variante 1 ermöglicht allen Benutzern Zugriff auf sämtliche E-Mails (!). Sie sollte nur nach gründlicher Analyse der Sicherheits-Anforderungen in Betracht gezogen werden, kann aber bei Linux-Distribution interessant sein, welche im Grundsystem kein PAM beinhalten. Das ist beispielsweise bei Alpine Linux der Fall.

Variante 2 nutzt PAM um beim Mailabruf die Eingabe des lokalen Linux-Benutzerpassworts anzufordern.

Sobald man Dovecot-Dienst aktiviert und gestartet hat – in Void-Linux per sudo ln -s /etc/service/dovecot /var/service/dovecot – kann man im E-Mail Programmen den IMAP-Abruf einrichten. Als Server gibt man dafür localhost an. Benutzername und Passwort entsprechen den Daten des Linux-Benutzers.