Konfiguration für Dovecot-Version 2.4 formatieren

Dovecot Version 2.4 verwendet für die Konfiguration andere Direktiven1 als die Vorgängerversionen. Eine Paket-Aktualisierung könnte den Benutzer mit der Notwendigkeit zur Anpassung überraschen.

Insbesondere wenn man den Mailzusteller weitestgehend mit Standardwerten konfiguriert hat um ihn als lokalen Mailspeicher zu betreiben 2, kann man mit wenigen Änderungen an der Beispiel-Konfiguration den Betrieb wieder aufnehmen:

Bisherige Konfiguration sichern

cd /etc/dovecot
mv dovecot.conf "dovecot.conf_$(date +%Y%m%d)"
mv conf.d "conf.d_$(date +%Y%m%d)"

Neue Konfiguration zusammenstellen

cp /usr/share/examples/dovecot/dovecot.conf .
echo 'ssl = no' >> /etc/dovecot/dovecot.conf
echo '' >> /etc/dovecot/dovecot.conf
echo 'listen = 127.0.0.1' >> /etc/dovecot/dovecot.conf

SET_MAIL_HOME='s|^mail_home = .*|mail_home = /home/%{user}|g'
SET_MAIL_DRIVER='s|^mail_driver = .*|mail_driver = maildir|g'
SET_MAIL_PATH='s|^mail_path = .*|mail_path = ~/.Maildir|g'
SET_MAIL_UID='s|^mail_uid = .*|mail_uid = %{user}|g'
SET_MAIL_GID='s|^mail_gid = .*|mail_gid = %{user}|g'

sed -i "$SET_MAIL_HOME ; $SET_MAIL_DRIVER ; $SET_MAIL_PATH ; $SET_MAIL_UID ; $SET_MAIL_GID" /etc/dovecot/dovecot.conf

DISABLE_LMTP='s|^\( *lmtp\) |#\1 |g'
sed -i "$DISABLE_LMTP" /etc/dovecot/dovecot.conf

DISABLE_SSL='s|^\( *cert_file\) .*|\1 = /dev/null|g  ;  s|^\( *key_file\) .*|\1 = /dev/null|g'
sed -i "$DISABLE_SSL" /etc/dovecot/dovecot.conf

Neue Konfiguration validieren

doveconf -c /etc/dovecot/dovecot.conf -x

Werden keine Fehler gemeldet, sollte Dovecot nach dem Neustart des Dienstes wieder einsatzfähig sein.

Inhalt der dovecot.conf

Zum Vergleich sei hier noch die Datei /etc/dovecot/dovecot.conf nach der Aufbereitung durch obige Befehle gezeigt:

dovecot_config_version = 2.4.1
dovecot_storage_version = 2.4.1
!include_try conf.d/*.conf
protocols {
  imap = yes
}
mail_home = /home/%{user}
mail_driver = maildir
mail_path = ~/.Maildir
mail_uid = %{user}
mail_gid = %{user}
namespace inbox {
  inbox = yes
  separator = /
}
passdb pam {
}
ssl_server {
  cert_file = /dev/null
  key_file = /dev/null
}
ssl = no
listen = 127.0.0.1

1 All Dovecot Settings [Version 2.4.1]

2 Groovy-Skills Artikel: Dovecot als lokalen Mailspeicher konfigurieren