Anmerkung: Dieses Tutorial hab ich vor längerer Zeit mal nebenbei geschrieben, aber im Gegensatz zu den anderen Tutorials nicht mehr getestet. Sollte aber trotzdem vollständig funktionieren.
System:
- Debian 5.0 Lenny
+ Postfix
+ Dovecot
Unser E-Mail-Server besteht aus Postfix, einem Mail Transfer Agent (MTA), und Dovecot, einem Mail Delivery Agent (MDA).
Postfix verschickt und empfängt E-Mails von und für die eigene Domäne per SMTP. Dovecot wiederum stellt die empfangenen E-Mails per IMAP und POP3 auf entfernten Systemen bereit.
Installation der Dienste
Als erstes holen wir uns Postfix. Abhängigkeiten werden selbstständig mit installiert.
apt-get install postfix

Während der Installation werden wir nach der Art des Servers und nach der Domain, für die der Server zuständig sein soll, gefragt.
Bei der ersten Frage wählen wir “Internet-Site“, die zweite Frage beantworten wir mit unserem Domainnamen. Im Regelfall ist dieses Feld schon korrekt ausgefüllt.
In meinem Beispiel hier ist mein Domainname “0x4b.de”. Eine mögliche E-Mail-Adresse wäre somit “root@0x4b.de”.
Als nächstes installieren wir Dovecot, sowohl den IMAP- als auch den POP3-Daemon.
apt-get install dovecot-common dovecot-imapd dovecot-pop3d
Früher war es üblich, dass sich der Client im gleichen Netz wie der MTA befand und keine Authentifizierung notwendig war. Mittlerweile ist es eher üblich, dass sich der entfernte Client per SASL am SMTP-Server authentifiziert. Postfix wiederum nutzt Dovecot als Schnittstelle zur Authentifizierung gegenüber dem System.
Damit das alles klappt, müssen noch ein paar Ergänzungen an verschiedenen Dateien durchgeführt werden.
(Das grün markierte Ergänzen)
/etc/dovecot/dovecot.conf
## dovecot-lda specific settings
##
# socket listen {
# master {
# path = /var/run/dovecot/auth-master
# mode = 0600
# user = mail # User running Dovecot LDA
# #group = mail # Or alternatively mode 0660 + LDA user in this group
# }
# }
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
Bei der folgenden Datei, einfach am Ende hinzufügen.
/etc/postfix/main.cf
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
Und als letztes:
/etc/postfix/master.cf
smtp inet n - - - - smtpd
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_sasl_security_options=noanonymous
-o smtpd_sasl_local_domain=$myhostname
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_sender_login_maps=hash:/etc/postfix/virtual
-o smtpd_sender_restrictions=reject_sender_login_mismatch
-o smtpd_recipient_restrictions=reject_unknown_recipient_domain,reject_non_fqdn_recipient,permit_sasl_authenticated,reject
Schon ist unser Mailserver fertig. Nur noch einmal die Dienste neustarten, damit die angepasste Konfiguration neu geladen wird.
/etc/init.d/dovecot restart
/etc/init.d/postfix restart
Anlegen von Benutzerkonten
Nun brauchen wir noch Benutzer, die E-Mails verschicken und empfangen können.
adduser benutzer
benutzer ist der Loginname unseres Benutzers. (Systembenutzer immer klein schreiben!)
Soll unser Benutzer ein reiner E-Mail-Benutzer sein und sich nicht an der Konsole anmelden dürfen, nehmen wir ihm diese noch weg.
usermod --shell /bin/false benutzer
Nun kann unser erster Benutzer schon E-Mails empfangen. In meinem Beispiel wäre seine E-Mail-Adresse benutzer@0x4b.de.
Client verbinden
Zu guter Letzt richten wir noch unser E-Mail-Konto in unserem lokelen Client ein. Tunderbird 3 findet die Einstellungen sogar schon (fast) ganz von selbst.
Aliase
In der Datei /etc/aliases kannst du außerdem weitere Namen bestehenden Benutzern zuweisen.
/etc/aliases
# See man 5 aliases for format
postmaster: root
hans.peter: benutzer
Von Haus aus ist root@0x4b.de auch unter postmaster@0x4b.de erreichbar. Ich habe hier meinem Benutzer noch zusätzlich die E-Mail-Adresse hans.peter@0x4b.de zugewiesen.
Damit die Einstellungen übernommen werden, muss man nach jeder Änderungen in der /etc/aliases einmal folgenden Befehl ausführen.
postalias /etc/aliases
Quellen:
- http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL