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
Dovecot 2.4
- Konfiguration muss angepasst werden.
- Zukunft von Dovecot eher kommerziell mit "Pro"-Version, siehe dieses Paper
- Dokumentation: https://doc.dovecot.org/2.4.0/
- Testinstallation
./configure --prefix=/usr/local2
- Konfiguration prüfen
/usr/local2/bin/doveconf -n
Tipps & Tricks
- Konfiguration ausgeben für nicht-default Werte:
doveconf -n
- "Permission denied" Fehler unter openSUSE werden oft durch ein aktiviertes AppArmor verursacht.