Dovecot
Dovecot ist ein Open-Source IMAP und POP3 Email-Server.
Dovecot 1.x
Installation und Konfiguration
Siehe CompilingSource, QuickConfiguration, BasicConfiguration.
Hinweise: - pam-devel muss installiert sein
Spezielle Konfiguration
- configure ohne Parameter oder configure --with-ldap --with-mysql für spezielle Auth-Module.
- PAM in /etc/pam.d/dovecot (statt pam_unix.so):
auth required pam_unix2.so account required pam_unix2.so
- oder je nach Distribution
auth required pam_unix.so account required pam_unix.so
- dovecot.conf ("dovecot -n"):
disable_plaintext_auth: no login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login last_valid_uid: 3000 last_valid_gid: 10000 mail_location: maildir:~/Maildir namespace: type: private separator: / location: maildir:~/Maildir inbox: yes auth default: passdb: driver: pam userdb: driver: passwd
- SSL-Test-Zertifikat & Key erstellen für TLS (port 143), Dateien /etc/ssl/private/dovecot.pem und /etc/ssl/certs/dovecot.pem
vi /opt/pkg/dovecot/dovecot-<version>/doc/dovecot-openssl.cnf sh /opt/pkg/dovecot/dovecot-<version>/doc/mkcert.sh
- oder offizielle Zertifikate verwenden in 10-ssl.conf:
ssl_cert = </etc/apache2/ssl.crt/my.crt ssl_key = </etc/apache2/ssl.key/my.key
LDA
Konfiguration inkl. Plugin
protocol lda { postmaster_address = aaa@bbb.de hostname = bbb.de mail_plugins = cmusieve mail_plugin_dir = /usr/local/lib/dovecot/lda log_path = info_log_path = }
LDA Integration in Postfix
Siehe [1]. main.cf:
mailbox_command = /usr/local/libexec/dovecot/deliver
Sieve-Filter als LDA-Plugin
Siehe Anleitung bei Dovecot. Filter-Code in Datei $HOME/.dovecot.sieve. Beispiel:
require "fileinto"; if address :is "to" "aaa@bbb.de" { fileinto "Test"; } elsif address :is "to" "ccc@ddd.de" { fileinto "Test2"; } elsif exists "X-Spam-Flag" { fileinto "SPAM"; } else { # The rest goes into INBOX # default is "implicit keep", we do it explicitly here keep; }
Hinweise:
- Falls das Sieve-Plugin nicht gefunden wird, verbleibt die Email in der Queue des MTA !
- Das Einrichten des Dovecot-LDA in Postfix ist notwendig, siehe oben.
Dovecot 2.x
Installation und Konfiguration
- http://wiki2.dovecot.org/Upgrading/2.0
- http://wiki2.dovecot.org/CompilingSource
- http://wiki2.dovecot.org/QuickConfiguration
- http://wiki2.dovecot.org/BasicConfiguration
Sieve:
- http://wiki2.dovecot.org/LDA/Sieve
- http://wiki2.dovecot.org/LDA/Sieve/Dovecot
- http://wiki2.dovecot.org/Pigeonhole
Booten
Starten durch systemd:
./configure --with-systemdsystemunitdir=/lib/systemd/system systemctl enable dovecot.service
Oder Datei /etc/systemd/system/multi-user.target.wants/dovecot.service manuell anlegen:
[Unit] Description=Dovecot IMAP/POP3 email server After=local-fs.target network.target [Service] Type=simple ExecStart=/usr/local/sbin/dovecot -F NonBlocking=yes [Install] WantedBy=multi-user.target
Zusätzlich muss wohl doch noch das init-Script installiert werden (sonst erscheint der Service nicht in Yast):
cp doc/dovecot-initd.sh /etc/init.d/dovecot chmod 755 /etc/init.d/dovecot
Spezielle Konfiguration
Konfiguration in /usr/local/etc/dovecot/.
dovecot.conf
protocols = imap
conf.d/10-auth.conf
disable_plaintext_auth = no auth_mechanisms = plain
conf.d/10-mail.conf
mail_location = maildir:~/Maildir namespace { type = private separator = / location = maildir:~/Maildir inbox = yes }
conf.d/10-ssl.conf
ssl_cert = </etc/apache2/ssl.crt/server_www.kruedewagen.de.crt ssl_key = </etc/apache2/ssl.key/server_www.kruedewagen.de.key
conf.d/15-lda.conf
postmaster_address = webmaster@mydomain65.de hostname = mydomain65.de protocol lda { mail_plugins = $mail_plugins sieve }
conf.d/90-plugin.conf
plugin { sieve = ~/.dovecot.sieve sieve_global_path = /var/lib/dovecot/sieve/default.sieve sieve_dir = ~/sieve sieve_global_dir = /var/lib/dovecot/sieve/global/ }
Postfix (main.cf):
mailbox_command = /usr/local/libexec/dovecot/dovecot-lda
Upgrade
Einfach drüber installieren. Die Konfig wird nicht überschrieben.
cd /opt/pkg/dovecot/dovecot-2.0.10 ./configure make su make install exit
Pigeonhole (Sieve) sollte danach ebenfalls neu übersetzt und installiert werden:
cd /opt/pkg/dovecot/dovecot-2.0-pigeonhole-0.2.2 make distclean ./configure make su make install
Tipps & Tricks
- Konfiguration ausgeben für nicht-default Werte:
doveconf -n
- "Permission denied" Fehler unter openSUSE werden oft durch ein aktiviertes AppArmor verursacht.