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
}
}