Emailserver mit Postfix und Dovecot

From Linuxwiki
Revision as of 18:05, 15 December 2022 by Sunflower (talk | contribs) (→‎Postfix)
Jump to navigation Jump to search

Postfix

Postfix ist ein MTA (Mail Transfer Agent), der eine gute Alternative zu anderen gängigen MTAs (Sendmail, Exim) darstellt, da seine Konfiguration gut lesbar ist. In unserem Beispiel soll der MTA mit einem IMAPd (Dovecot) verknüpft werden, so dass Benutzer eine Mailbox direkt auf dem System haben. Das Abholen der Mails erfolgt per IMAPs.

Installation

Zunächst muss das Paket „postfix“ installiert werden. Dabei sind noch ein paar Fragen zu beantworten:

  • Art des Servers: Internet Site
  • Root and postmaster mail recipient: ein Postfach eintragen, z.B.postmaster@example.de
  • Other destinations to accept mail for (blank for none): z.B. mail.example.de, localhost, $mydomain (kann man erstmal die defaults belassen)
  • Force synchronous updates on mail queue: no
  • Local subnets: 127.0.0.1/8, 192.168.63.0/24 (hier das eigene Netz ergänzen)
  • Mailbox size limit: 0 (unbegrenzt)
  • Local address extension character: + (i.a. als default ausreichend)
  • Internet protocols to use: all (wenn man nicht explizit ipv4 oder ipv6 sprechen will)


Diese Einstellungen lassen sich jederzeit mit

 # dpkg-reconfigure postfix

ändern.

Danach befinden sich alle relevanten Dateien im Verzeichnis /etc/postfix.

Bevor wir zur Postfixconfig kommen, überprüfen wir den Inhalt der Datei /etc/mailname:

 $ cat /etc/mailname

Dort darf nur der Domainname stehen, nicht der Hostname (e.g. example.com). Andernfalls kann das Auswirkungen auf den Emailversand haben, v.a. wenn in der main.cf (s.u.) auf die Datei referenziert wird.

Die wichtigeste Datei zum Anpassen ist zunächst die main.cf. Hier ein Beispiel für den Server „mx“ in der Domain example.de. Folgende Parameter sollten konfiguriert sein (exemplarisch):

 myhostname
 mydomain
 myorigin
 mydestination

Meistens gibt es schon ein paar brauchbare defaults. Der Parameter mynetworks erlaubt es bestimmten Netzen, Emails ohne weitere Einschränkungen einzuliefern.

Beispielconfig:

myhostname = mx01.example.de 
mydomain = example.de 
myorigin = $mydomain 
mydestination = $myhostname, localhost, localhost.$mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.99.0/24 [2001:780:11b::/48] 214.94.24.154 [2004:780:8:0:5ff0:c5ff:fe09:98f9]

Nach jeder Änderung ist der Dienst zu reloaden mit dem Befehl

 # postfix reload

Ob der Restart ordentlich funktioniert hat, kann man z.B. anhand des Logs überprüfen:

 # tail /var/log/mail.log

Dovecot

Erweiterungen

Postgrey