Dies ist der Dritte Teil der Postfix Konfiguration. In den ersten zwei Teilen habe ich gezeigt wie man Postfix auf Debian 7 Wheezy mit TLS und IPv6 installiert und dazu den Spamassassin mit Postfix konfiguriert. Nun möchte ich zeigen wie man lokale Emailpostfächer erstellt (also keine reinen Weiterleitungen) und wie man mit IMAP bzw. SMTP darauf zugreifen kann.
Dovecot installieren
In diesem Beispiel wollen wir vollkommen auf POP3 verzichten, daher installieren wir nur die nötigen Pakete für IMAP.
aptitude install dovecot-core dovecot-imapd
Postfix informieren, das Dovecot installiert wird
Wir müssen Postfix noch mitteilen das wir nun Dovecot verwenden. Folgendes muss in der Datei /etc/postfix/main.cf geändert werden:
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination home_mailbox = Maildir/
Mit dieser Konfiguration werden die Emails im Homeverzeichnis des jeweiligen lokalen Benutzers abgelegt. Da ich die Emailadressen virtuell mappe (siehe Postfix installieren und konfigurieren) muss ich Postfix auch mitteilen, an welches Lokale Konto ausgeliefert werden soll. Ein Beispiel könnte wie folgt aussehen:
################################# # # # examia.de # # # ################################# examia.de DOMAIN webmaster@examia.de mail@examia.de hostmaster@examia.de mail@examia.de postmaster@examia.de mail@examia.de admin@examia.de mail@examia.de mail@examia.de mail_examia.de@localhost
Mit diesem Setting werden webmaster@examia.de, hostmaster@examia.de, postmaster@examia.de admin@examia.de auf mail@examia.de umgeleitet und mail@examia.de wird an das lokale Emailkonto des Benutzers mail_examia.de zugestellt.
Dovecot konfigurieren
Nun folgt noch die Konfiguration von Dovecot, ohne die man keinen Spaß haben wird. Die Konfiguration ist in mehrere Dateien aufgeteilt.
TLS einrichten bzw. Verbindungssicherheit festlegen
Zunächst muss die Datei /etc/dovecot/conf.d/10-ssl.conf bearbeitet werden.
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt> ssl = yes # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before # dropping root privileges, so keep the key file unreadable by anyone but # root. Included doc/mkcert.sh can be used to easily generate self-signed # certificate, just make sure to update the domains in dovecot-openssl.cnf ssl_cert = In dieser Konfiguration verwende ich die selben Zertifikate wie bereits auch schon bei postfix. Wie diese Zertifikate erstellt werden können, siehe <a title="Postfix mit TLS und IPv6 auf Debian 7 Wheezy installieren und konfigurieren" href="https://www.timoschindler.de/postfix-mit-tls-und-ipv6-auf-debian-7-wheezy-installieren-und-konfigurieren/">Postfix installieren und einrichten</a>. Anschließend ist die Datei /etc/dovecot/conf.d/10-auth.conf zu bearbeiten. [shell] # Disable LOGIN command and all other plaintext authentications unless # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP # matches the local IP (ie. you're connecting from the same computer), the # connection is considered secure and plaintext authentication is allowed. disable_plaintext_auth = yes
So stellen wir sicher, das ein Login mit Plaintextpasswort nicht möglich ist, außer man verwendet eine verschlüsselte Verbindung. Warum dies nötig ist, brauche ich denke ich nicht erklären.
IMAP-Konfiguration ändern
In dieser Konfiguration werden die Mails immer im Homeverzeichnis des jeweiligen Benutzers gespeichert. Damit auch IMAP dort gespeichert wird, muss /etc/dovecot/conf.d/10-mail.conf wie folgt bearbeitet werden.
mail_location = maildir:~/Maildir
Das wars auch schon mit der Konfiguration. Nun muss lediglich Dovecot neugestartet werden und alles sollte funktionieren. Die Logausgabe von Dovecot erfolgt in /var/log/mail.info. Sollte etwas nicht klappen, kann hier nach der Ursache geforscht werden.
/etc/init.d/dovecot restart
Neues lokales Emailkonto erstellen
Damit wir aber auch Emails auf eine lokale Adresse bekommen können, müssen wir zunächst einen Benutzer ohne Shell erstellen und ein Passwort vergeben. Anschließend muss die Adresse noch bei Postfix registriert werden und wir sind fertig und Mails werden auf das lokale Emailkonto zugestellt.
User anlegen
Ein User ist mit wenigen Handgriffen erstellt. Zusätzlich muss noch der Ordner erstellt werden und die richtigen Rechte vergeben werden.
useradd -s /usr/sbin/nologin mail_domain.de passwd mail_domain.de mkdir /home/mail_domain.de chown -R mail_domain.de:mail_domain.de /home/mail_domain.de
Mit diesen Befehlen haben wir alles nötige erledigt. Die Befehle sollten selbsterklärend sein. Ab diesem Zeitpunkt kann man sich bereits z.B. mit Thunderbird zu seinem lokalen Konto verbinden. Wie die Logindaten aussehen, zeige ich weiter unten.
Konfiguration bei Thunderbird
In Kürze: Was tun bei einer neuen Emailadresse
Diese Anleitung setzt voraus, das ihr den Postfix und Dovecot so konfiguriert habt, wie in diesen Anleitungen.
- Domain in /etc/postfix/virtual/domains hinzufügen
- Emailadressen in /etc/postfix/virtual/addresses konfigurieren
- Postmap erstellen: postmap /etc/postfix/virtual/addresses
- Benutzer hinzufügen: useradd -s /usr/sbin/nologin mail_domain.de
- Passwort hinzfügen: passwd mail_domain.de
- Home-Verzeichnis erstellen: mkdir /home/mail_domain.de
- Rechte vergeben: chown -R mail_domain.de:mail_domain.de /home/mail_domain.de
- Konto bei Thunderbird einfügen
- Email-Adressen testen
- Fertig 🙂
Eine Kleinigkeit fehlt hier noch damit es läuft:
/etc/dovecot/conf.d/10-master.conf
Auskommentieren:
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
}
Nur eine Frage:
die Bemerkung
In dieser Konfiguration verwende ich die selben Zertifikate wie bereits auch schon bei postfix. Wie diese Zertifikate erstellt werden können, siehe Postfix installieren und einrichten.
ist unzureichend. Es wäre oportun hier da reinzuschreiben, was ma dann auch in die conf Datei von Dovecot eintragen muss
Ciao
Roberto