Dovecot ist ein IMAP Server. Siehe auch Courier IMAP Server oder Postfix SMTP Server.
apt-get install dovecot-core dovecot-imapd
maildirmake.dovecot /etc/skel/Maildir maildirmake.dovecot /etc/skel/Maildir/.Drafts maildirmake.dovecot /etc/skel/Maildir/.Sent maildirmake.dovecot /etc/skel/Maildir/.Spam maildirmake.dovecot /etc/skel/Maildir/.Trash maildirmake.dovecot /etc/skel/Maildir/.Templates
Für den Systembenutzer kann man die Verzeichnisstruktur ins Heimverzeichnis kopieren. todo
cp -r /etc/skel/Maildir/ /home/user/ chown -R user:group /home/user/Maildir chmod -R 700 /home/user/Maildir/
Um dovecot noch mitzuteilen wo die Benutzerpostfächer gespeichert sind bearbeitet man in der Datei /etc/dovecot/conf.d/10-mail.conf
den Parameter mail_location
.
mail_location = maildir:~/Maildir
In der Datei /etc/dovecot/conf.d/10-master.conf
sucht man nach service_auth
, löscht es und erstellt eine eigene Sektion.
service auth { unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } }
Um unverschlüsselte Authentifizierung abzulehnen bearbeitet man in der Datei /etc/dovecot/conf.d/10-auth.conf
den Parameter auth_mechanism
und fügt disable_plaintext_auth = yes
hinzu.
auth_mechanism = plain login disable_plaintext_auth = yes
Wenn man noch kein Zertifikat hat kann man mit Certbot eines erstellen.
In der Datei /etc/dovecot/conf.d/10-master.conf
bearbeitet man den Bereich service imap-login
falls der Port auskommentiert ist.
service imap-login { inet_listener imap { port = 143 } }
In der Datei /etc/dovecot/conf.d/10-ssl.conf
bearbeitet man den Parameter ssl
um Postfix mitzuteilen das neue Zertifikat auch zu verwenden. Siehe auch Postfix #Verschlüsselung.
ssl = required ssl_cert = </etc/letsencrypt/live/zarat.ml/fullchain.pem ssl_key = </etc/letsencrypt/live/zarat.ml/privkey.pem
SpamAssassin kann als Spamfilter in Postfix integriert werden. Dovecot ist dazu da die erkannten Spam Mails in den Spam Ordner zu verschieben. Dazu muss man ein neues Paket dovecot-lmtpd
installieren. Das ist das integrierte local mail transfer protocol
von Dovecot. Siehe Wikipedia
apt install dovecot-lmtpd
In der Datei /etc/dovecot/dovecot.conf
fügt man am Ende folgendes ein.
protocols = imap lmtp
Dovecot weiss jetzt das es LMTP vverwenden soll. Konfiguriert wird es in der Datei /etc/dovecot/conf.d/20-lmtp.conf
ändert man den Eintrag lmtp_save_to_detail_mailbox
von no
zu yes
.
lmtp_save_to_detail_mailbox = yes
und im lmtp Block fügt man folgendes ein.
protocol lmtp { mail_plugins = $mail_plugins sieve postmaster_address = postmaster@zarat.ml }
Siehe Sieve Mailfilter
Nun muss man in der Datei /etc/dovecot/conf.d/10-master.conf
den Block service lmtp
bearbeiten bzw den Parameter mode
auskommentieren. Siehe LMTP (Local mail transfer protocol)
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0666 } }
Nun bearbeitet man in der Datei /etc/dovecot/conf.d/10-auth.conf
den Eintrag auth_username_format
.
auth_username_format = %Ln # Lowercase domainName
Nun bearbeitet man noch die Datei /etc/postfix/main.cf
.
# mailbox_command = mailbox_transport = lmtp:unix:private/dovecot-lmtp
Nun kann man Sieve installieren.
todo
An die Datei /etc/dovecot/dovecot.conf
wird folgendes angehängt.
namespace inbox { inbox = yes mailbox Trash { auto = subscribe special_use = \Trash } mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Sent { auto = subscribe # autocreate and autosubscribe the Sent mailbox special_use = \Sent } mailbox "Sent Messages" { auto = no special_use = \Sent } mailbox Junk { auto = create # autocreate Spam, but don't autosubscribe special_use = \Junk } mailbox virtual/All { # if you have a virtual "All messages" mailbox auto = no special_use = \All } }