Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte Überarbeitung Beide Seiten der Revision
mailserver:mailserver [2013/08/13 17:28]
chrisge [Verschlüsselung]
mailserver:mailserver [2018/05/26 02:18]
chrisge
Zeile 8: Zeile 8:
 **Softwarevoraussetzungen:​** Paketverwaltung | Texteditor | [[Mailserver#​Voraussetzungen |siehe weiter unten]] \\ **Softwarevoraussetzungen:​** Paketverwaltung | Texteditor | [[Mailserver#​Voraussetzungen |siehe weiter unten]] \\
 **Schwierigkeitsgrad:​** Schwer \\ **Schwierigkeitsgrad:​** Schwer \\
-**Ausgetestet mit folgenden Betriebssystemen:​** Ubuntu | Debian ​(Lenny, Squeeze, Wheezy teilweise Probleme bei Dovecot-Postfix Integration) ​| teilweise auch andere Distributionen+**Ausgetestet mit folgenden Betriebssystemen:​** Ubuntu | Debian | teilweise auch andere Distributionen
 </​WRAP>​ </​WRAP>​
  
Zeile 16: Zeile 16:
 In normalen **Ubuntu** Installationen (Root-/​VServer siehe Debian) kann dies durch den Befehl ''​sudo''​ erreicht werden. \\ In normalen **Ubuntu** Installationen (Root-/​VServer siehe Debian) kann dies durch den Befehl ''​sudo''​ erreicht werden. \\
 Bei **Debian** wird bei der Installation ein Passwort für den Root-Benutzer festgelegt, so kann man sich entweder direkt als Root  oder als "​normaler"​ Benutzer mit Eingabe von ''​su'' ​ als Root einloggen (Root-Passwort benötigt) -> ''​sudo''​ bleibt dann überflüssig! Bei **Debian** wird bei der Installation ein Passwort für den Root-Benutzer festgelegt, so kann man sich entweder direkt als Root  oder als "​normaler"​ Benutzer mit Eingabe von ''​su'' ​ als Root einloggen (Root-Passwort benötigt) -> ''​sudo''​ bleibt dann überflüssig!
 +</​WRAP>​
 +<WRAP alert important 68%>
 +**Archiv:** Diese Anleitung behandelt ältere Softwareversionen,​ kann aber noch als Referenz verwendet werden. Der vorstellte Ansatz mit arcor als Relayhost funktioniert nicht mehr! Hier muss man zu bezahlten Relayhosts oder Mailaccounts bei Hostern wie mailbox.org oder Posteo (erlauben teilweise die Nutzung einer eignen Domain) zurückgreifen. ​
 </​WRAP>​ </​WRAP>​
  
Zeile 25: Zeile 28:
   - Weiterleitung von Port 25 an den Host mit dem Mailserver   - Weiterleitung von Port 25 an den Host mit dem Mailserver
   - du hast den Beitrag [[Einführung]] gelesen   - du hast den Beitrag [[Einführung]] gelesen
-Wenn du alle erfüllt hast, kannst du nun mit den einzelnen Diensten starten. Falls du Fragen hast, kannst du dich per E-Mail an mich wenden (support[at]mein.homelinux[dot]com).+Wenn du alle erfüllt hast, kannst du nun mit den einzelnen Diensten starten. Falls du Fragen hast, kannst du dich per E-Mail an mich wenden (cw[at]chrisge[dot]org).
  
 ==== Funktionen ==== ==== Funktionen ====
Zeile 42: Zeile 45:
 Folgende Pakete werden benötigt: Folgende Pakete werden benötigt:
 <​code>​ <​code>​
-postfix ​            #das "​Grundpaket"​ +postfix ​            # das "​Grundpaket"​ 
-libsasl2-modules ​   #weil wir uns bei Arcor authentifizieren müssen +libsasl2-modules ​   # weil wir uns bei Arcor authentifizieren müssen 
-mailutils ​          #um das Ganze zu testen ​+mailutils ​          # um das Ganze zu testen ​
 </​code>​ </​code>​
 <WRAP right info 40%> <WRAP right info 40%>
Zeile 101: Zeile 104:
 und füllen sie mit folgendem Inhalt (Kommentarzeichen (''#''​) weglassen): und füllen sie mit folgendem Inhalt (Kommentarzeichen (''#''​) weglassen):
 <​code>​ <​code>​
-mail.arcor.de username:​passwort ​   #username durch Benutzername bei arcor ersetzen, passwort durch das Login-Passwort für den Account bei arcor ersetzen. +mail.arcor.de username:​passwort ​   # username durch Benutzername bei arcor ersetzen, passwort durch das Login-Passwort für den Account bei arcor ersetzen. 
-mail.arcor.de ich:​meinpasswort ​    #​Beispiel+mail.arcor.de ich:​meinpasswort ​    # Beispiel
 </​code>​ </​code>​
  
Zeile 108: Zeile 111:
 Danach führen wir diese Befehle aus: Danach führen wir diese Befehle aus:
 <code bash> <code bash>
-user@server:​~$ sudo chmod 600 /​etc/​postfix/​sasl_password ​      #​Rechte anpassen +user@server:​~$ sudo chmod 600 /​etc/​postfix/​sasl_password ​      # Rechte anpassen 
-user@server:​~$ sudo postmap /​etc/​postfix/​sasl_password ​        #In Datenbank umwandeln +user@server:​~$ sudo postmap /​etc/​postfix/​sasl_password ​        # In Datenbank umwandeln 
-user@server:​~$ sudo service postfix restart ​               #Postfix neustarten+user@server:​~$ sudo service postfix restart ​               # Postfix neustarten
 </​code>​ </​code>​
  
Zeile 119: Zeile 122:
 und in dem anderen versenden wir eine Mail: und in dem anderen versenden wir eine Mail:
 <code bash> <code bash>
-user@server:​~$ echo "​Testtext"​ | mailx -s "​Testbetreff" ​ Empfänger@provider.de ​  #​Empfänger darf nicht lokal sein! (also nicht: ich@localhost) +user@server:​~$ echo "​Testtext"​ | mailx -s "​Testbetreff" ​ Empfänger@provider.de ​  # Empfänger darf nicht lokal sein! (also nicht: ich@localhost) 
-user@server:​~$ echo "hallo wie gehts?"​ | mailx -s "​hallo" ​ herbert.gerhardt@gmail.com ​       #Beispiel+user@server:​~$ echo "hallo wie gehts?"​ | mailx -s "​hallo" ​ herbert.gerhardt@gmail.com ​       # Beispiel
 </​code>​ </​code>​
  
Zeile 143: Zeile 146:
 und fügen folgendes ein: und fügen folgendes ein:
 <​code>​ <​code>​
-www-data noreply@dynDNS ​  #nun hat www-data nicht mehr den Absender www-data sonder noreply, dynDNS sollte durch die eigene dynamische DNS ersetzt werden. +www-data noreply@dynDNS ​  # nun hat www-data nicht mehr den Absender www-data sonder noreply, dynDNS sollte durch die eigene dynamische DNS ersetzt werden. 
-user1 user2@dynDNS ​       #hier verschickt user1 unter dem Absender von user2 +user1 user2@dynDNS ​       # hier verschickt user1 unter dem Absender von user2 
-user3 user2@gmail.com ​    #und hier user3 unter seiner/​einer gmail Adresse+user3 user2@gmail.com ​    # und hier user3 unter seiner/​einer gmail Adresse
 </​code>​ </​code>​
 Nun führt man noch folgende Befehle aus: Nun führt man noch folgende Befehle aus:
Zeile 159: Zeile 162:
 <code bash>​user@server:​~$ sudo nano /​etc/​aliases</​code>​ <code bash>​user@server:​~$ sudo nano /​etc/​aliases</​code>​
 der Inhalt wird folgendermaßen festgelegt: der Inhalt wird folgendermaßen festgelegt:
-<​code>​postmaster:​ root                #mail, die an postmaster gerichtet ist, wird an root weitergeleitet</​code>​+<​code>​postmaster:​ root                # Mail, die an postmaster gerichtet ist, wird an root weitergeleitet</​code>​
 In dieser Art kann weiter ergänzt werden (Beispiele)(auf ":"​ achten): In dieser Art kann weiter ergänzt werden (Beispiele)(auf ":"​ achten):
 <​code>​ <​code>​
 #interne weiterleitung:​ #interne weiterleitung:​
-webmaster: root       #mail, die an webmaster gerichtet ist, geht an root +webmaster: root       # ​Mail, die an webmaster gerichtet ist, geht an root 
-www-data: root        #mail, die an www-data soll, kommt bei root an +www-data: root        # Mail, die an www-data soll, kommt bei root an 
-root: user1           #mail, die für root bestimmt ist, geht an user1+root: user1           # ​Mail, die für root bestimmt ist, geht an user1
 #externe weiterleitung:​ #externe weiterleitung:​
-user2: user2@gmail ​   #mail für user2 wird an seine gmail-adresse geschickt+user2: user2@gmail ​   # Mail für user2 wird an seine gmail-adresse geschickt
 #"​nicks"​ #"​nicks"​
-coolz: user3          #user3 ist nun unter coolz@dynDNS erreichbar +coolz: user3          # user3 ist nun unter coolz@dynDNS erreichbar 
-icke: user4           #und user4 hat noch seine alias icke, so lassen sich extra mailboxen für jeden seiner Nicknamen einsparen, durch Anlegen eines Alias+icke: user4           # und user4 hat noch seine alias icke, so lassen sich extra mailboxen für jeden seiner Nicknamen einsparen, durch Anlegen eines Alias
 </​code>​ </​code>​
 Nach erfolgreicher Änderung sind noch folgende Befehle nötig: Nach erfolgreicher Änderung sind noch folgende Befehle nötig:
 <code bash> <code bash>
-user@server:​~$ sudo newaliases ​                   #aliase ​übernehmen +user@server:​~$ sudo newaliases ​                   # Aliase ​übernehmen 
-user@server:​~$ sudo service postfix restart ​  #​postfix neustartem+user@server:​~$ sudo service postfix restart ​  # postfix neustartem
 </​code>​ </​code>​
  
Zeile 219: Zeile 222:
 Folgende Pakete werden benötigt Folgende Pakete werden benötigt
 <​code>​ <​code>​
-dovecot-common ​      #​dovecot +dovecot-common ​      # dovecot 
-dovecot-postfix ​     #​Integration in postfix (in Debian nicht enthalten) +dovecot-postfix ​     # Integration in postfix (in Debian nicht enthalten) 
-dovecot-imapd ​       #​Unterstützung für IMAP +dovecot-imapd ​       # Unterstützung für IMAP 
-dovecot-pop3d ​       #​Unterstützung für POP3+dovecot-pop3d ​       # Unterstützung für POP3 
 +dovecot-sieve ​       # Unterstützung für Sieve (erst ab Wheezy bzw. Precise (12.04 LTS) nötig!)
 </​code>​ </​code>​
 === Ubuntu === === Ubuntu ===
 Unter Ubuntu installieren wir die Pakete wie folgt: Unter Ubuntu installieren wir die Pakete wie folgt:
 <code bash>​user@server:​~$ sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d dovecot-postfix</​code>​ <code bash>​user@server:​~$ sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d dovecot-postfix</​code>​
-Das Paket ''​dovecot-postfix''​ integriert darauf hin dovecot in postfix.  +Das Paket ''​dovecot-postfix''​ integriert darauf hin dovecot in postfix. ​Ab Precise (12.04 LTS) sollte zusätzlich noch das Paket ''​dovecot-sieve''​ installiert werden: 
 +<code bash>​user@server:​~$ sudo apt-get install dovecot-sieve</​code>​
 == Hinweise zu dovecot-postfix == == Hinweise zu dovecot-postfix ==
 Dieses Paket ändert den ''​mailbox_command''​ in Postfix. Darüber hinaus werden bestimmte Paramter, die in ''/​etc/​dovecot/​dovecot.conf''​ gesetzt werden durch Konfigurationsdateien in ''/​etc/​dovecot/​conf.d/''​ überschrieben. Im Normalfall ist dies nicht tragisch, sondern sogar erwünscht. Bei besonderen Konfigurationen kann dies jedoch der Grund eines Fehlverhaltens sein. Wenn Konfigurationsparameter nicht übernommen werden, sollte man zuerst einen Blick in folgende Dateien werfen (falls jene existieren):​ Dieses Paket ändert den ''​mailbox_command''​ in Postfix. Darüber hinaus werden bestimmte Paramter, die in ''/​etc/​dovecot/​dovecot.conf''​ gesetzt werden durch Konfigurationsdateien in ''/​etc/​dovecot/​conf.d/''​ überschrieben. Im Normalfall ist dies nicht tragisch, sondern sogar erwünscht. Bei besonderen Konfigurationen kann dies jedoch der Grund eines Fehlverhaltens sein. Wenn Konfigurationsparameter nicht übernommen werden, sollte man zuerst einen Blick in folgende Dateien werfen (falls jene existieren):​
 <​code>​ <​code>​
-/​etc/​dovecot/​conf.d/​01-mail-stack-delivery.conf ​    #Bis jetzt nur bei Natty entdeckt +/​etc/​dovecot/​conf.d/​01-mail-stack-delivery.conf ​    # Bis jetzt nur bei Natty entdeckt 
-/​etc/​dovecot/​conf.d/​01-dovecot-postfix.conf ​        #Bis jetzt bei Lucid entdeckt (evtl. auch bei anderen Ubuntu-Version vorhanden??​) +/​etc/​dovecot/​conf.d/​01-dovecot-postfix.conf ​        # Bis jetzt bei Lucid entdeckt (evtl. auch bei anderen Ubuntu-Version vorhanden??​) 
-/​etc/​dovecot/​conf.d/​* ​                              #​Falls keine der oberen Dateien, das Ganze mit einer Wildcard (''​*''​) versuchen+/​etc/​dovecot/​conf.d/​* ​                              # Falls keine der oberen Dateien, das Ganze mit einer Wildcard (''​*''​) versuchen
 </​code>​ </​code>​
 === Debian === === Debian ===
 ''​dovecot-postfix''​ scheint es unter Debian nicht zu geben, deshalb integrieren wir Dovecot dort nachher manuell in Postfix. Die Pakete werden unter Debian so installiert:​ ''​dovecot-postfix''​ scheint es unter Debian nicht zu geben, deshalb integrieren wir Dovecot dort nachher manuell in Postfix. Die Pakete werden unter Debian so installiert:​
 <code bash>​user@server:​~$ sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d</​code>​ <code bash>​user@server:​~$ sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d</​code>​
 +Ab Wheezy sollte noch ''​dovecot-sieve''​ installiert werden:
 +<code bash>​user@server:​~$ sudo apt-get install dovecot-sieve</​code>​
  
 === Hinweis: IPv6 === === Hinweis: IPv6 ===
Zeile 262: Zeile 268:
 (..) #noch mehr Fehler dieser Art (..) #noch mehr Fehler dieser Art
 </​code>​ </​code>​
-..., kann dieser Fehler behoben werden, wenn IPv6 aktiviert wird: +..., kann dieser Fehler behoben werden, wenn IPv6 aktiviert wird und anschließend die Pakete nochmals konfiguriert/​installiert werden
-<code bash>​user@server:​~$ sudo modprobe ipv6</​code>​+<code bash>​user@server:​~$ sudo modprobe ipv6 
 +user@server:​~$ sudo apt-get -f install</​code>​
 ==== Konfiguration ==== ==== Konfiguration ====
 Bevor die Konfiguration beginnen kann, muss zunächst überprüft werden, welche Version von Dovecot auf dem System installiert ist: Bevor die Konfiguration beginnen kann, muss zunächst überprüft werden, welche Version von Dovecot auf dem System installiert ist:
Zeile 360: Zeile 367:
 } }
 (...) (...)
 +</​code>​
 +
 +Soll es für Sieve später möglich sein nicht existierende Unterordner anzulegen, können in obiger Datei gleich noch folgende Parameter geändert werden (optional):
 +<​code>​
 +# Should saving a mail to a nonexistent mailbox automatically create it?
 +lda_mailbox_autocreate = yes
 +
 +# Should automatically created mailboxes be also automatically subscribed?
 +lda_mailbox_autosubscribe = yes
 </​code>​ </​code>​
  
Zeile 403: Zeile 419:
 Als letztes greifen wir mit einem E-mail Clienten (z.B.: Evolution) auf den Mailserver zurück (via IMAP oder POP3) mit den Benutzerdaten (Benutzername/​Passwort) eines Systembenutzers,​ dabei müsste diese Nachricht in den Logs auftauchen: Als letztes greifen wir mit einem E-mail Clienten (z.B.: Evolution) auf den Mailserver zurück (via IMAP oder POP3) mit den Benutzerdaten (Benutzername/​Passwort) eines Systembenutzers,​ dabei müsste diese Nachricht in den Logs auftauchen:
 <​code>​Aug 20 23:03:19 HOST dovecot: imap-login: Login: user=<​user>,​ method=PLAIN,​ rip=127.0.0.1,​ lip=127.0.0.1,​ TLS</​code>​ <​code>​Aug 20 23:03:19 HOST dovecot: imap-login: Login: user=<​user>,​ method=PLAIN,​ rip=127.0.0.1,​ lip=127.0.0.1,​ TLS</​code>​
-..und der Mailclient ruft schön die gerade eben versendete Mail ab...+...und der Mailclient ruft schön die gerade eben versendete Mail ab...
 \\ \\
 === Problembehebung === === Problembehebung ===
Zeile 422: Zeile 438:
  
 <​code>​ <​code>​
-#wenn mbox verwendet werden soll+# wenn mbox verwendet werden soll
 mail_location = mbox:​~/​mail:​INBOX=/​var/​mail/​%u  ​ mail_location = mbox:​~/​mail:​INBOX=/​var/​mail/​%u  ​
-#bei verwendung ​von maildir:+# bei Verwendung ​von maildir:
 mail_location = maildir:​~/​Maildir  ​ mail_location = maildir:​~/​Maildir  ​
 </​code>​ </​code>​
Zeile 430: Zeile 446:
 Bei **Dovecot 2.x** in der ''/​etc/​dovecot/​conf.d/​10-mail.conf''​ den Parameter ''​mail_location''​ wie folgt setzen: Bei **Dovecot 2.x** in der ''/​etc/​dovecot/​conf.d/​10-mail.conf''​ den Parameter ''​mail_location''​ wie folgt setzen:
 <​code>​ <​code>​
-#wenn mbox verwendet werden soll+# wenn mbox verwendet werden soll
 mail_location = mbox:​~/​mail:​INBOX=/​var/​mail/​%u  ​ mail_location = mbox:​~/​mail:​INBOX=/​var/​mail/​%u  ​
-#bei verwendung von maildir:+# bei verwendung von maildir:
 mail_location = maildir:​~/​Maildir  ​ mail_location = maildir:​~/​Maildir  ​
 </​code>​ </​code>​
Zeile 453: Zeile 469:
 Dovecot lässt standardmäßig keine root-Logins zu, deshalb müssen z.B. Dockstar-Benutzer ein extra Benutzer angelegen, auf den die Mails umgeleitet werden: Dovecot lässt standardmäßig keine root-Logins zu, deshalb müssen z.B. Dockstar-Benutzer ein extra Benutzer angelegen, auf den die Mails umgeleitet werden:
 <code bash> <code bash>
-user@server:​~$ sudo adduser BENUTZER ​   #BENUTZER durch zu erstellenden Benutzer ersetzten +user@server:​~$ sudo adduser BENUTZER ​   # BENUTZER durch zu erstellenden Benutzer ersetzten 
-user@server:​~$ sudo adduser ich         #​Beispiel mit Benutzer ich+user@server:​~$ sudo adduser ich         # Beispiel mit Benutzer ich
 </​code>​ </​code>​
  
Zeile 461: Zeile 477:
 und fügt am Ende der Datei folgendes ein und fügt am Ende der Datei folgendes ein
 <​code>​ <​code>​
-root: BENUTZER ​          #​BENUTZER durch denn erstellten Benutzer ersetzten +root: BENUTZER ​          # BENUTZER durch denn erstellten Benutzer ersetzten 
-root: ich                #Beispiel mit Benutzer ich+root: ich                # Beispiel mit Benutzer ich
 </​code>​ </​code>​
 danach ladet man die Aliase neu und startet Postfix neu: danach ladet man die Aliase neu und startet Postfix neu:
Zeile 485: Zeile 501:
  
 ==== Filter definieren ==== ==== Filter definieren ====
-In diesem Tutorial werden wir nicht alle Sieve Möglichkeiten durch nehmen. Es geht hier nur um das Grundlagenverständnis. Eine sehr umfangreiche Anleitung findet sich auf [[http://​www.tty1.net/​blog/​2011-07-16-sieve-tutorial_en.html |tty1.net]]. Weitere Informationen finden sich in der [[http://​en.wikipedia.org/​wiki/​Sieve_%28mail_filtering_language%29#​Example |Wikipedia]] und auf [[http://​wiki.ubuntuusers.de/​Archiv/​sieve |ubuntuusers.de]].In diesem Fall wird unser Server wird nicht über ''​sieveshell''​ angesprochen! Die Filterdatei muss nur unter ''​~/​.dovecot.sieve''​ abgelegt werden.+In diesem Tutorial werden wir nicht alle Sieve Möglichkeiten durch nehmen. Es geht hier nur um das Grundlagenverständnis. Eine sehr umfangreiche Anleitung findet sich auf [[http://​www.tty1.net/​blog/​2011-07-16-sieve-tutorial_en.html |tty1.net]]. Weitere Informationen finden sich in der [[http://​en.wikipedia.org/​wiki/​Sieve_%28mail_filtering_language%29#​Example |Wikipedia]] und auf [[http://​wiki.ubuntuusers.de/​Archiv/​sieve |ubuntuusers.de]]. Zusätzlich ist ein Blick in die Referenz auf [[http://​sieve.mozdev.org/​reference.html|mozdev.org]] empfehlenswert. In diesem Fall wird unser Server wird nicht über ''​sieveshell''​ angesprochen! Die Filterdatei muss nur unter ''​~/​.dovecot.sieve''​ abgelegt werden.
  
 === Einfaches Beispiel === === Einfaches Beispiel ===
Zeile 497: Zeile 513:
 Anschließend folgt das Skript: Anschließend folgt das Skript:
 <​code>​ <​code>​
-if header :contains "​from"​ ["​amazon.de",​ "​amazon.com"​] { fileinto "​INBOX.amazon";​ }                                  #wenn der Header der E-Mail als Absender "​amazon.de"​ oder "​amazon.com"​ enthällt landet sie im Posteingang im Ordner "​amazon"​ +if header :contains "​from"​ ["​amazon.de",​ "​amazon.com"​] { fileinto "​INBOX.amazon";​ }                                  # wenn der Header der E-Mail als Absender "​amazon.de"​ oder "​amazon.com"​ enthällt landet sie im Posteingang im Ordner "​amazon"​ 
-elsif header :is "​subject"​ "​weekly newsletter"​ { fileinto "​INBOX.newsletter.weekly-newsletter";​ }                    #wenn der Header als Betreff "​weekly newsletter"​ genau enthällt wird er nach "​INBOX.newsletter.weekly-newsletter"​ verschoben+elsif header :is "​subject"​ "​weekly newsletter"​ { fileinto "​INBOX.newsletter.weekly-newsletter";​ }                    # wenn der Header als Betreff "​weekly newsletter"​ genau enthällt wird er nach "​INBOX.newsletter.weekly-newsletter"​ verschoben
 elsif allof (header :contains "​from"​ "​neu@web.de",​ header :contains "​subject"​ "​news"​) { fileinto "​INBOX.sinnlos";​ }  # wenn der Header also Absender "​neu@web.de"​ und Betreff "​news"​ enthällt, wird er nach "​INBOX.sinnlos"​ verschoben. elsif allof (header :contains "​from"​ "​neu@web.de",​ header :contains "​subject"​ "​news"​) { fileinto "​INBOX.sinnlos";​ }  # wenn der Header also Absender "​neu@web.de"​ und Betreff "​news"​ enthällt, wird er nach "​INBOX.sinnlos"​ verschoben.
-else { fileinto "​INBOX";​ }                                                                                           #​alles andere landet im Posteingang (INBOX)+else { fileinto "​INBOX";​ }                                                                                           # alles andere landet im Posteingang (INBOX)
 </​code>​ </​code>​
  
 Nochmal zum Aufbau: Nochmal zum Aufbau:
 <​code>​ <​code>​
-if      #startet mit "​if"​ +if      # startet mit "​if"​ 
-elsif   #​ansonsten,​ wenn...+elsif   # ansonsten, wenn...
 elsif elsif
 elsif elsif
-(..)    #noch mehr "​elsif"​ (so viele du brauchst)+(..)    # noch mehr "​elsif"​ (so viele du brauchst)
 elsif elsif
-else    #der Rest, auf den keine der Kriterien zutreffen steht am Schluss mit "​else"​+else    # der Rest, auf den keine der Kriterien zutreffen steht am Schluss mit "​else"​
 </​code>​ </​code>​
 \\ \\
Zeile 557: Zeile 573:
 <​code>​ <​code>​
 ## Allgemeine Einstellungen ## Allgemeine Einstellungen
-set postmaster "​richard" ​     #postmaster eintragen; hier: richard+set postmaster "​richard" ​     # postmaster eintragen; hier: richard
 set bouncemail set bouncemail
 set no spambounce set no spambounce
 set properties ""​ set properties ""​
 set syslog set syslog
-set daemon 300                #alle wie viel Sekunden solle Fetchmail ausgeführt werden.+set daemon 300                # alle wie viel Sekunden solle Fetchmail ausgeführt werden.
  
  
Zeile 570: Zeile 586:
  
 ## Beispiel: ​ ## Beispiel: ​
-#hier holt der Systembenutzer richard seine Mails per POP3 von web.de mit seinem Nutzernamen richard@web.de +# hier holt der Systembenutzer richard seine Mails per POP3 von web.de mit seinem Nutzernamen richard@web.de 
-#sein Passwort bei web.de ist "​sagichnicht"​ +# sein Passwort bei web.de ist "​sagichnicht"​ 
-#die Mails werden auf dem Server nicht gelöscht (keep) und verschlüsselt abgerufen (ssl) +# die Mails werden auf dem Server nicht gelöscht (keep) und verschlüsselt abgerufen (ssl) 
-#er setzt interval3, so dass fetchmail nur alle 3 Mal Ausführen seine Mails holt (web.de freemail Nutzer können nur alle 15 Minuten E-Mails abholen)+# er setzt interval3, so dass fetchmail nur alle 3 Mal Ausführen seine Mails holt (web.de freemail Nutzer können nur alle 15 Minuten E-Mails abholen)
 poll pop3.web.de with proto POP3 interval 3 poll pop3.web.de with proto POP3 interval 3
        user '​richard@web.de'​ there with password '​sagichnicht'​ is '​richard'​ here options keep ssl        user '​richard@web.de'​ there with password '​sagichnicht'​ is '​richard'​ here options keep ssl
Zeile 579: Zeile 595:
  
 ## anderes Beispiel: ## anderes Beispiel:
-#Der Systembenutzer herbert holt seine Mails vom IMAP-Server von Googlemail. +# Der Systembenutzer herbert holt seine Mails vom IMAP-Server von Googlemail. 
-#dort hat er den Nutzernamen "​herbert.seigel",​ mit seinem Passwort "​bekommstdunicht"​ +# dort hat er den Nutzernamen "​herbert.seigel",​ mit seinem Passwort "​bekommstdunicht"​ 
-#anders als richard löscht fetchmail die gerade eben abgeholten E-Mails ("​keep"​ fehlt) +# anders als richard löscht fetchmail die gerade eben abgeholten E-Mails ("​keep"​ fehlt) 
-#auch er lädt seine Mails verschlüsselt ("​ssl"​)+# auch er lädt seine Mails verschlüsselt ("​ssl"​)
 poll imap.googlemail.com with proto IMAP  poll imap.googlemail.com with proto IMAP 
        user "​herbert.seigel@googlemail.com"​ there with password "​bekommstdunicht"​ is "​herbert"​ here ssl        user "​herbert.seigel@googlemail.com"​ there with password "​bekommstdunicht"​ is "​herbert"​ here ssl
Zeile 590: Zeile 606:
 ==== Fetchmail als Daemon ==== ==== Fetchmail als Daemon ====
 Um die Mails nun regelmäßig abzurufen, müssen wir fetchmail noch als Daemon starten, dazu öffnen wir die Datei ''/​etc/​default/​fetchmail'':​ Um die Mails nun regelmäßig abzurufen, müssen wir fetchmail noch als Daemon starten, dazu öffnen wir die Datei ''/​etc/​default/​fetchmail'':​
- +<code bash>​user@server:​~$ ​sudo nano /​etc/​default/​fetchmail</​code>​
-<code bash>​user@server:​~$ ​udo nano /​etc/​default/​fetchmail</​code>​+
 und setzen ''​START_DAEMON''​ von ''"​no"'':​ und setzen ''​START_DAEMON''​ von ''"​no"'':​
 <​code>​ <​code>​
Zeile 602: Zeile 617:
 START_DAEMON=yes START_DAEMON=yes
 </​code>​ </​code>​
-\\ 
 danach starten wir fetchmail: danach starten wir fetchmail:
 <code bash>​user@server:​~$ sudo service fetchmail start</​code>​ <code bash>​user@server:​~$ sudo service fetchmail start</​code>​
Zeile 619: Zeile 633:
 Wenn der [[http://​de.wikipedia.org/​wiki/​Internetdienstanbieter|ISP]] die Emails nicht, oder nur unzulänglich auf Viren und Spam überprüft,​ oder der Homeserver der direkte Empfänger für eine Domain ist, empfiehlt es sich Möglichkeiten zur Spam- und Virenbekämpfung zu installieren. Maßnahmen zur Spam- und Virenbekämpfung sind für den Betrieb eines einfachen Mailservers keine Voraussetzung,​ und daher natürlich optional. Diese 3 Programme sind die Grundbausteine für ein einfache und schnelle Grundinstallation zur Spam- und Virenbekämpfung. Wenn der [[http://​de.wikipedia.org/​wiki/​Internetdienstanbieter|ISP]] die Emails nicht, oder nur unzulänglich auf Viren und Spam überprüft,​ oder der Homeserver der direkte Empfänger für eine Domain ist, empfiehlt es sich Möglichkeiten zur Spam- und Virenbekämpfung zu installieren. Maßnahmen zur Spam- und Virenbekämpfung sind für den Betrieb eines einfachen Mailservers keine Voraussetzung,​ und daher natürlich optional. Diese 3 Programme sind die Grundbausteine für ein einfache und schnelle Grundinstallation zur Spam- und Virenbekämpfung.
 <​code>​ <​code>​
-amavisd-new #​dient zur Integration von Spam- und Virenfiltern in einen MTA +amavisd-new #​ dient zur Integration von Spam- und Virenfiltern in einen MTA 
-clamav-daemon #​Virenscanner +clamav-daemon #​ Virenscanner 
-spamassassin #​Spamfilter+spamassassin #​ Spamfilter
 </​code>​ </​code>​
 <code bash>​user@server:​~$ sudo apt-get install amavisd-new clamav-daemon spamassassin</​code>​ <code bash>​user@server:​~$ sudo apt-get install amavisd-new clamav-daemon spamassassin</​code>​
Zeile 728: Zeile 742:
 **Hinweis:​** Der Befehl ''​postconf -e''​ fügt den angebenen Parameter direkt in die Konfigurationsdatei ''/​etc/​postfix/​main.cf''​ ein, und lädt die Konfiguration von Postfix anschließend neu. Bestehende Parameter werden dabei überschrieben,​ was die Konfigurationsdatei einfach und frei von Redundanzen hält. Durch das automatische Einlesen der Datei wird die neue Konfiguration sofort übernommen,​ und die zusätzliche Eingabe von ''​postfix reload''​ oder ''​service postfix reload''​ ist nicht mehr notwendig. **Hinweis:​** Der Befehl ''​postconf -e''​ fügt den angebenen Parameter direkt in die Konfigurationsdatei ''/​etc/​postfix/​main.cf''​ ein, und lädt die Konfiguration von Postfix anschließend neu. Bestehende Parameter werden dabei überschrieben,​ was die Konfigurationsdatei einfach und frei von Redundanzen hält. Durch das automatische Einlesen der Datei wird die neue Konfiguration sofort übernommen,​ und die zusätzliche Eingabe von ''​postfix reload''​ oder ''​service postfix reload''​ ist nicht mehr notwendig.
 </​WRAP>​ </​WRAP>​
 +\\
 +\\
 +\\
 \\ \\
 \\ \\
Zeile 862: Zeile 879:
 ==== Sieve-Filter mit Thunderbird verwalten ==== ==== Sieve-Filter mit Thunderbird verwalten ====
  
-Eine bequeme Möglichkeit die Filter von [[mailserver#​Sieve|Sieve]] aus der Ferne zu bearbeiten bietet das von Mozilla entwickelte Thunderbird-Addon [[https://​addons.mozilla.org/​de/​thunderbird/​addon/​sieve/​ | Sieve]]. Um dem Addon den Zugriff auf die Imap-Ordner zu erlauben muss lediglich ​eine kleine Änderung an der Konfigurationsdatei von Dovecot vorgenommen werden. Dazu muss sie mit Root-Rechten editiert werden: +Eine bequeme Möglichkeit die Filter von [[mailserver#​Sieve|Sieve]] aus der Ferne zu bearbeiten bietet das von Mozilla entwickelte Thunderbird-Addon [[https://​addons.mozilla.org/​de/​thunderbird/​addon/​sieve/​ | Sieve]]. Um dem Addon den Zugriff auf die Imap-Ordner zu erlauben muss in Dovecot ​lediglich ''​managesieve'' ​aktiviert werdenDies ist im Abschnitt [[mailserver:mailserver#EinfacherManageSieve|ManageSieve]] beschrieben.\\
-<code bash>​user@server:​~$ sudo nano /​etc/​dovecot/​dovecot.conf</​code>​ +
-Bereits am Anfang sollte die Zeile mit den erlaubten Protokollen zu finden sein. Falls noch nicht vorhanden wird dort ''​managesieve'' ​hinzugefügtDas sollte dann etwa so aussehen: +
-<​code>​ +
-Protocols we want to be serving: imap imaps pop3 pop3s managesieve +
-# If you only want to use dovecot-auth,​ you can set this to "​none"​. +
-#protocols = imap imaps +
-protocols = imap imaps pop3 pop3s managesieve +
-</​code>​ +
-Um die Änderung zu übernehmen wird Dovecot neu gestartet:​ +
-<code bash>​user@server:​~$ sudo service dovecot restart</​code>​ +
-\\+
 Sobald das Addon in Thunderbird installiert und dieser neu gestartet wurde, erscheint dort ein weiterer Punkt in der Kontenverwaltung namens ''​Sieve-Einstellungen''​. Dort muss zuerst der Punkt ''​Ja,​ dieser Server unterstützt Sieve''​ aktiviert werden, dann können auch schon die Einstellungen für das E-Mail-Konto vorgenommen werden. Das Addon verwendet in der Standardkonfiguration die selben Zugangsdaten wie das E-Mail-Konto;​ das sollte im Allgemeinen korrekt sein, und muss nicht verändert werden. Sobald auf ''​Filter bearbeiten''​ geklickt wird, versucht das Addon bereits mit dem Server Kontakt aufzunehmen. Um Fehler bei der Authentifikation leichter zu finden öffnen wir zuerst eine Konsole und überwachen das Log: Sobald das Addon in Thunderbird installiert und dieser neu gestartet wurde, erscheint dort ein weiterer Punkt in der Kontenverwaltung namens ''​Sieve-Einstellungen''​. Dort muss zuerst der Punkt ''​Ja,​ dieser Server unterstützt Sieve''​ aktiviert werden, dann können auch schon die Einstellungen für das E-Mail-Konto vorgenommen werden. Das Addon verwendet in der Standardkonfiguration die selben Zugangsdaten wie das E-Mail-Konto;​ das sollte im Allgemeinen korrekt sein, und muss nicht verändert werden. Sobald auf ''​Filter bearbeiten''​ geklickt wird, versucht das Addon bereits mit dem Server Kontakt aufzunehmen. Um Fehler bei der Authentifikation leichter zu finden öffnen wir zuerst eine Konsole und überwachen das Log:
 <code bash>​user@server:​~$ tail -f /​var/​log/​mail.log</​code>​ <code bash>​user@server:​~$ tail -f /​var/​log/​mail.log</​code>​
Zeile 881: Zeile 887:
 </​code>​ </​code>​
 Die Kommunikation zwischen unserem E-Mail-Client und dem Server funktioniert nun, und es können die ersten Filter erstellt (und aktiviert) werden. Es gelten dabei die selben Vorgaben wie [[mailserver#​filter_definieren|hier]] beschrieben. ​ Die Kommunikation zwischen unserem E-Mail-Client und dem Server funktioniert nun, und es können die ersten Filter erstellt (und aktiviert) werden. Es gelten dabei die selben Vorgaben wie [[mailserver#​filter_definieren|hier]] beschrieben. ​
- --- //[[chrisge@mein.homelinux.com|chrisge]] ​2013/08/13 17:21//+\\ 
 + 
 +---- 
 + --- //[[cw@chrisge.org|chrisge]] ​2018/05/26 01:34//