Unterabschnitte

Das Mail-Paket

Dieses Paket wurde initial von Frank Meyer (E-MAIL frank@fli4l.de) zusammengestellt und wird von Jürgen Edner (E-MAIL juergen@eisfair.org) weiterentwickelt.

Die Einleitung

In diesem Paket wurden verschiedenste Komponenten zusammengestellt, die zusammen ein komplettes Mail-Paket ergeben. D.h. mittels Fetchmail können externe Mailkonten über das POP3- oder IMAP4-Protokoll abgeholt und über den lokalen SMTP-Server (Exim) weiter verteilt werden. Der SMTP-Server Exim nimmt E-Mails entgegen und speichert diese lokal oder sendet sie weiter an andere SMTP-Server.

Damit die auf dem Server gespeicherten E-Mails von einem E-Mail-Klienten, wie z.B. Mozilla Thunderbird\textregistered, Microsoft Outlook\textregisteredusw., abgerufen werden köennen ist die separate Installation des mail-panda- (Panda-IMAP, Dateiformat: mbox/mbx) oder des mail-dovecot-Paketes (Dovecot-IMAP, Dateiformat: maildir) erforderlich. Die Konfiguration dieser Komponenten erfolgt dabei weiterhin über das mail-Paket.

Eine einfache Art von Mailinglisten wurde ebenfalls integriert. Unter Zuhilfenahme von externen Zusatzkomponenten ist optional die Überprüfung der transferierten Nachrichten auf Viren (clamav-Paket) und/oder Spam (antispam-Paket) möglich.

Die Funktionen

Das Mail-Paket besteht aus folgenden Komponenten:

Die Voraussetzungen

Dieses Paket benötigt ein installiertes mail-panda- bzw. maildovecot-Paket um auf die bereitgestellten Mailboxen zuzugreifen, das perl-Paket um diverse Skripte bzw. die Abwesenheitsbenachrichtigung verwenden zu können. Um die Viren- und Spam-Funktion nutzen zu können müssen das clamav- bzw. antispam-Paket installiert werden.

Die Installation

Das Mail-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird deren Konfiguration gesichert und das alte Paket deinstalliert bevor die neuen Programmdateien installiert und die Konfiguration übernommen wird. Danach wird direkt der Konfigurations- Editor gestartet um die Konfiguration eventuell anzupassen.
Bei einer Neuinstallation wird automatisch die basic- Konfiguration, bei einem Update die advanced- Konfiguration geöffnet. Nach Beendigung dieses Schrittes werden die Konfigurationsdateien generiert und alle benötigten Programme gestartet.

Das Menü im Setup-Programm

Das Menü im Setup-Programm ist wie folgt aufgebaut:

Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weitere Eingabe erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter eingegangen.

Die Änderung der Konfiguration

Die Konfiguration kann über die Menüpunkte `Edit configuration (basic)' oder `Edit configuration (advanced)' geändert werden. Bei Verwendung der basic-Konfiguration wird nur ein Teil der Konfigurationsparameter angezeigt, bei der advanced-Konfiguration werden alle Parameter angezeigt.
Standardmäßig wird der Editor aufgerufen, der in der Environment- Konfiguration über die Variable 'EDITOR' festgelegt wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die Anpassungen umgehend wirksam gemacht. Es ist zu beachten, dass einige Programme eigenständig bei erneuter Aktivierung die Konfigurationsdatei neu einlesen, somit führt ein Beantwortung dieser Abfrage mit `Nein' nur zu einem kurzen Aufschub der Aktivierung.

Die Konfigurationsdatei

In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter /etc/config.d/mail.

Die Parameter

Die POP3-/IMAP-Server

POP3 und IMAP-Server dienen als Schnittstelle zum lokalen Postfach auf dem eisfair-Server und ermöglichen den Zugriff auf die eingegangenen Nachrichten.

START_MAIL

Für die Aktivierung des Mail-Paketes muss dieser Parameter auf den Wert `yes' gestellt werden. Die Einstellung `no' schaltet das Mail-Paket ab.

Gültige Werte: yes, no

Standardeinstellung: START_MAIL='no'

START_POP3

Für die Aktivierung des POP3-Servers muss dieser Parameter lediglich auf den Wert `yes' gestellt werden. Die Einstellung `no' schaltet den POP3- Server ab.

Gültige Werte: yes, no

Standardeinstellung: START_POP3='yes'

START_IMAP

Für die Aktivierung des IMAP4-Servers muss dieser Parameter lediglich auf den Wert `yes' gestellt werden. Die Einstellung `no' schaltet den IMAP4-Server ab.

Gültige Werte: yes, no

Standardeinstellung: START_IMAP='yes'

Die folgenden Parameter sind nur relevant, wenn entweder START_POP3='yes' oder START_IMAP='yes' gesetzt wurden.

POP3IMAP_MAILBOX_FORMAT (ADVANCED-Modus)

Über diesen Parameter wird gesteuert, welches Dateiformat zum Speichern von Nachrichten verwendet werden soll. Folgende Formate werden derzeit durch die Installation des mail-panda- (mbox/mbx) bzw. mail-dovecot-Paketes (maildir) unterstützt:

mbox
- Bei dem mbox-Format handelt es sich um das älteste, verfügbare Format, welches jedoch keine gleichzeitigen Mehrfachzugriffe und nur relativ langsame Dateizugriffe erlaubt.
mbx
- Das mbx-Format ermöglicht zwar gleichzeitige Mehrfachzugriffe auf eine Mailbox, erlaubt jedoch kein Datei-Locking auf NFS-Mounts.
maildir
- Das maildir-Format speichert jede Nachricht in einer separaten Datei und ermöglicht so gleichzeitige Mehrfachzugriffe, wodurch ein Dateizugriff allgemein sehr schnell erfolgen kann.

Gültige Werte: maildir, mbx, mbox

Standardeinstellung: POP3IMAP_MAILBOX_FORMAT='maildir'

POP3IMAP_TRANSPORT (ADVANCED-Modus)

Über diesen Parameter wird festgelegt, ob als Transport-Protokolle POP3/IMAP (default - unverschlüsselt), POP3/IMAP über TLS (tls - verschlüsselt) oder beides (both) verwendet werden soll. Bei Verwendung von TLS ist sicherzustellen, dass zuvor entsprechende Server-Zertifikate installiert werden. Siehe auch den Parameter SMTP_SERVER_TLS_ADVERTISE_HOSTS.

Hinweis
Standardmäßig erfolgte die Kommunikation mit dem POP3- bzw. IMAP-Dienst über eine unverschlüsselte Verbindung, welche später, durch die Einführung des STARTTLS-Befehls, um die Möglichkeit einer Verbindungsverschlüsselung erweitert wurde. Um über diese TCP-Ports bzw. Protokolle kommunizieren zu können ist der Wert dieses Parameters auf `both' zu setzen.


Gültige Werte: default, tls, both

Standardeinstellung: POP3IMAP_TRANSPORT='default'

POP3IMAP_TLS_CERT_NAME (optionaler Parameter)(ADVANCED-Modus)

Über diesen Parameter legt man den bzw. die Namen der TLS-Zertifikate der POP3-/IMAP-Dienste fest, welche zum Aufbau einer gesicherten Verbindung verwendet werden sollen. Es wird empfohlen für die Benennung der Dateien immer den vollständigen Domainnamen zu verwenden, da dies die Dateizuordnung erleichtert.

Hinweis
Bei Verwendung zusammen mit dem mail-dovecot-Paket wird hierdurch sogar die Verwendung unterschiedlicher Zertifikate je nach Domainnamen möglich. Mehrere Namen müssen dabei jeweils durch einen Doppelpunkt voneinander getrennt werden. Der erste angegebene Domainname muss immer der Standardname sein, der verwendet wird falls ein E-Mail-Klient kein SNI unterstützt. Dass die angegebenen Dateien auch physikalisch im Zertifikatsverzeichnis des Servers existieren bzw. entsprechende symbolische Links auf ein Multi-Domain-Zertifikat gesetzt werden müssen, ist selbsredend.


Wird dieser Parameter nicht gesetzt, so werden standardmäßig Zertifikate mit den Namen `ipop3d.pem' bzw. `imapd.pem' verwendet.

Gültige Werte: Ein- oder mehrere Zertifikatsnamen

Beispiel: POP3IMAP_TLS_CERT_NAME='mail-server.local.lan'

POP3IMAP_IDENT_CALLBACKS (ADVANCED-Modus)

Über diesen Parameter wird festgelegt ob der POP3 und IMAP-Deamon einen Ident-Callback durchführen soll. Falls der initiale Verbindungsaufbau beim Abruf von Nachrichten relativ lange dauern sollte, kann man diesen Parameter auf 'no' setzen. In diesem Fall werden jedoch keine Meldungen über einen erfolgreichen bzw. gescheiterten Verbindungsaufbau mehr in der Systemlogdatei gespeichert.

Gültige Werte: yes oder no

Standardeinstellung: POP3IMAP_IDENT_CALLBACKS='yes'

MAIL_USER_USE_MAILONLY_PASSWORDS (ADVANCED-Modus)

Über diesen Parameter wird gesteuert, ob eine separate Kennwortdatei für POP3/IMAP verwendet werden soll. Die Verwendung separater Mail-Kennwörter verhindert, dass die sonst verwendeten System-Kennwörter bei Abfrage des lokalen POP3/IMAP-Postfaches unverschlüsselt über das Netzwerk geschickt werden, was die allgemeine Sicherheit des Servers erhöht.

Gültige Werte: yes oder no

Standardeinstellung: MAIL_USER_USE_MAILONLY_PASSWORDS='no'

MAIL_USER_N (ADVANCED-Modus)

Über diesen Parameter wird die Anzahl der POP3/IMAP-Accounts angegeben, die auf diesem Rechner für den E-Mail-Abruf eingerichtet werden sollen. Optional kann hier auch ein separates Mail-Kennwort eingerichtet werden. (siehe hierzu auch Parameter MAIL_USER_USE_MAILONLY_PASSWORDS)

Gültige Werte: Zahl

Standardeinstellung: MAIL_USER_N='0'

MAIL_USER_x_ACTIVE (ADVANCED-Modus)

Wird dieser Parameter auf den Wert `yes' gesetzt, so wird der zugehörige Datensatz aktiviert, `no' deaktiviert ihn.

Gültige Werte: yes oder no

Beispiel: MAIL_USER_1_ACTIVE='no'

MAIL_USER_x_COMMENT (ADVANCED-Modus)

Dies ist ein Kommentarfeld, welches die Identifizierung des Anwenders erleichtern soll.

Gültige Werte: beliebiger Text

Beispiel: MAIL_USER_1_COMMENT='Dies ist ein E-Mail-Nutzer'

MAIL_USER_x_USER / MAIL_USER_x_PASS (ADVANCED-Modus)

Hier muss das auf diesem Rechner eingerichtete Mail-Benutzerkonto und das `optionale' Mail-Kennwort eingegeben werden. (siehe hierzu auch Parameter MAIL_USER_USE_MAILONLY_PASSWORDS) Es ist unbedingt sicherzustellen, dass ein gleichlautendes System-Benutzerkonto existiert. Bei Verwendung eines optionalen Mail-Kennwort sollte sich dieses unbedingt von dem Systemkennwort UNTERSCHEIDEN um ein höchstes Maß an Sicherheit zu gewährleisten!

ACHTUNG
Unbedingt Klein- / Großschreibung beachten!
Lokale Benutzer über das eisfair-Setup-Menü einrichten!


Gültige Werte: Benutzername bzw. Kennwort

Beispiel:

MAIL_USER_1_USER='username'
MAIL_USER_1_PASS='secret'

MAIL_USER_x_EMAIL_N (ADVANCED-Modus)

Optionaler Parameter: Über diesen Parameter wird auf Wunsch die Anzahl der E-Mail-Adressen festgelegt, die alternativ zum Mail-Benutzerkonto (MAIL_USER_x_USER) zur Anmeldung am Server genutzt werden sollen.

ACHTUNG
Diese Parameter kann nur zusammen mit dem mail-dovecot-Paket genutzt werden!


Gültige Werte: Zahl

Standardeinstellung: MAIL_USER_1_EMAIL_N='0'

MAIL_USER_x_EMAIL_y (ADVANCED-Modus)

Optionaler Parameter: Über diesen Parameter wird eine E-Mail-Adresse festgelegt, die alternativ zum Mail-Benutzerkonto (MAIL_USER_x_USER) zur Anmeldung am Server genutzt werden sollen.

ACHTUNG
Diese Parameter kann nur zusammen mit dem mail-dovecot-Paket genutzt werden!


Gültige Werte: vollständige E-Mail-Adresse

Beispiel: MAIL_USER_1_EMAIL_1='user@local.lan'

Hinweis: Will man eine große Anzahl von Benutzern anlegen, so ist es möglich diese über eine csv-Datei der aktuellen Konfigurationsdatei hinzuzufügen. Hierzu kopiert man eine Datei `pop3imap.csv' in das Verzeichnis /var/spool/exim und ruft das Programm `/var/install/config.d/mail-update.sh import' auf.

Eine vorhandene Benutzerliste kann in eine Datei `pop3imap.csv', im Verzeichnis
/var/spool/exim exportiert werden, indem man das Programm `/var/install/config.d/mail-update.sh export' aufruft.

Die csv-Datei muss wie folgt aufgebaut sein:

#username,password,active
user1,password1,yes
user2,password2,no

Die IMAP-Shared-/Public-Ordner

Über die folgenden Parameter lassen sich IMAP-Ordner definieren, die von allen Anwendern gleichzeitig genutzt werden können. Dies ist z.B. sinnvoll um allgemeine Nachrichten an zentraler Stelle abzulegen. Shared-Ordner unterscheiden sich von Public-Ordnern nur die die Zugriffsberechtigungen, d.h. auf Public-Ordner können auch Anwender zugreifen, die nicht der über den Parameter IMAP_SHARED_PUBLIC_USERGROUP festgelegten Benutzergruppe (Standardgruppe: 'users'), angehören.
Um eine Nachricht in einem solchen Ordner abzulegen, schickt man einfach eine Nachricht an den Ordner und verwendet als Adresse den Namen des Shared- bzw. Public-Ordners.
Will man z.B. eine Nachricht im Ordner `Family-News' ablegen, so lautet dessen E-Mail-Adresse `family-news@lokal.lan'. Will man z.B. eine Nachricht im Ordner `Familie/Rechnungen' ablegen, so lautet dessen E-Mail-Adresse `familie/rechnungen@local.lan'.

Anwender die den lokalen Domains angehören können Nachrichten sowohl an Shared- als auch Public-Ordner schicken, externe Anwender sind nur berechtigt Nachrichten an Public-Ordner zu schicken.

Hinweis
Es gilt zu beachten, dass alle Ordnernamen eindeutig sein müssen, d.h. es ist nicht zulässig den gleichen Ordnernamen sowohl für einen Shared- als auch einen Public-Ordner zu vergeben.


IMAP_SHARED_PUBLIC_USERGROUP (ADVANCED-Modus)

Über diesen Parameter kann die System- Benutzergruppe eingestellt werden, in die die `internen', vom IMAP-Daemon benutzten, Benutzerkonten `imapshared' und `imappublic' aufgenommen werden sollen. Wird dieser Parameter leer gelassen, so wird die Standardgruppe 'users' verwendet.

Gültige Werte: System-Benutzergruppe

Standardeinstellung: IMAP_SHARED_PUBLIC_USERGROUP=

IMAP_SHARED_FOLDER_N (ADVANCED-Modus)

Über diesen Parameter wird die Anzahl der IMAP-Shared-Ordner angegeben, die auf diesem Rechner eingerichtet werden sollen. Diese sind über den virtuellen Ordner `#shared' aus der IMAP-Anwendung abonnierbar. Standardmäßig haben alle Mitglieder der über IMAP_SHARED_PUBLIC_USERGROUP eingestellten System-Benutzergruppe die Berechtigung in diesem Verzeichnis Ordner anzulegen und schreibend bzw. lesend auf diese zuzugreifen. (Berechtigungsmaske: Verzeichnis 0770, Ordner 0660)

Gültige Werte: Zahl

Standardeinstellung: IMAP_SHARED_FOLDER_N='0'

IMAP_SHARED_FOLDER_x_ACTIVE (ADVANCED-Modus)

Wird dieser Parameter auf den Wert `yes' gesetzt, so wird der zugehörige Datensatz aktiviert, `no' deaktiviert ihn.

Gültige Werte: yes oder no

Beispiel: IMAP_SHARED_FOLDER_1_ACTIVE='no'

IMAP_SHARED_FOLDER_x_NAME (ADVANCED-Modus)

Über diesen Parameter wird der Name eines IMAP-Shared-Ordner angegeben, der auf diesem Rechner eingerichtet werden soll. Wird vor dem Ordnernamen ein Unterverzeichnis angegeben, so wird dieses gegebenenfalls angelegt. Es ist darauf zu achten, dass der Name des IMAP-Shared-Ordner einmalig ist. Es ist nicht möglich den gleichen Namen für IMAP-Shared-Ordner zu verwenden auch wenn diese in anderen Verzeichnissen liegen.

Gültige Werte: Ordnername

Beispiel: IMAP_SHARED_FOLDER_1_NAME='Family-News'

IMAP_SHARED_FOLDER_x_USERGROUP (ADVANCED-Modus)

Über diesen Parameter kann eine individuelle Benutzergruppe eingestellt werden um den Zugriff auf den Ordner weiter einzuschränken. Wurde über den Parameter IMAP_SHARED_PUBLIC_USERGROUP eine Gruppe festgelegt, so fungiert diese als Standardgruppe wenn über diesen Parameter keine festgelegt wurde.

Gültige Werte: System-Benutzergruppe

Standardeinstellung: IMAP_SHARED_FOLDER_1_USERGROUP=

IMAP_PUBLIC_FOLDER_N (ADVANCED-Modus)

Über diesen Parameter wird die Anzahl der IMAP-Public-Ordner angegeben, die auf diesem Rechner eingerichtet werden sollen. Diese sind über den virtuellen Ordner `#public' aus der IMAP-Anwendung abonnierbar. Standardmäßig haben alle Mitglieder der über IMAP_SHARED_PUBLIC_USERGROUP eingestellten System-Benutzergruppe und alle anderen Anwender die Berechtigung in diesem Verzeichnis Ordner anzulegen und schreibend bzw. lesend auf diese zuzugreifen. (Berechtigungsmaske: Verzeichnis 0777, Ordner 0666)

Gültige Werte: Zahl

Standardeinstellung: IMAP_PUBLIC_FOLDER_N='0'

IMAP_PUBLIC_FOLDER_x_ACTIVE (ADVANCED-Modus)

Wird dieser Parameter auf den Wert `yes' gesetzt, so wird der zugehörige Datensatz aktiviert, `no' deaktiviert ihn.

Gültige Werte: yes oder no

Beispiel: IMAP_PUBLIC_FOLDER_1_ACTIVE='no'

IMAP_PUBLIC_FOLDER_x_NAME (ADVANCED-Modus)

Über diesen Parameter wird der Name eines IMAP-Public-Ordner angegeben, der auf diesem Rechner eingerichtet werden soll. Wird vor dem Ordnernamen ein Unterverzeichnis angegeben, so wird dieses gegebenenfalls angelegt. Es ist darauf zu achten, dass der Name des IMAP-Public-Ordner einmalig ist. Es ist nicht möglich den gleichen Namen für IMAP-Public-Ordner zu verwenden auch wenn diese in anderen Verzeichnissen liegen.

Gültige Werte: Ordnername

Beispiel: IMAP_PUBLIC_FOLDER_1_NAME='Announcments'

IMAP_PUBLIC_FOLDER_x_USERGROUP (ADVANCED-Modus)

Über diesen Parameter kann eine individuelle Benutzergruppe eingestellt werden um den Zugriff auf den Ordner weiter einzuschränken. Wurde über den Parameter IMAP_SHARED_PUBLIC_USERGROUP eine Gruppe festgelegt, so fungiert diese als Standardgruppe wenn über diesen Parameter keine festgelegt wurde.

Gültige Werte: System-Benutzergruppe

Standardeinstellung: IMAP_PUBLIC_FOLDER_1_USERGROUP=

Postfächer abrufen (Fetchmail)

Über die Fetchmail-Konfiguration wird eingestellt, ob und welche externe E-Mail-Konten ausgelesen werden sollen. Die E-Mails werden dann auf ein lokales Mail-Konto übertragen.

START_FETCHMAIL

Dieser Parameter bestimmt, ob Fetchmail gestartet werden soll oder nicht. Mit `yes' wird Fetchmail aktiviert, mit dem Wert `no' wird dieser Dienst abgeschaltet. In diesem Fall sind die folgenden Konfigurationsparameter irrelevant.

Gültige Werte: yes, no

Standardeinstellung: START_FETCHMAIL='yes'

FETCHMAIL_PROTOCOL

Verwendetes Protokoll zur Übertragung der E-Mails, normalerweise `pop3' oder `imap'.

Gültige Werte: imap, pop3, auto

Standardeinstellung: FETCHMAIL_PROTOCOL='pop3'

FETCHMAIL_LIMIT

Maximale Größe für eine E-Mail in Bytes. Überschreitet eine E-Mail die angegebene Größe, so wird diese E-Mail nicht abgeholt. Wird dieser Parameter auf `0' gesetzt, so wird die Limitüberprüfung deaktiviert (wird nicht empfohlen). Der vorgegebene Wert entspricht einer Größe von 4MB. Wird kein Wert angegeben, so werden E-Mails bis zu einer Größe von 4MB akzeptiert.

Gültige Werte: Zahl

Standardeinstellung: FETCHMAIL_LIMIT='4M'

FETCHMAIL_WARNINGS

Über diesen Parameter legt man fest, in welchem Intervall Warnmeldungen über `übergroße' E-Mails, deren maximale Größe über den Parameter FETCHMAIL_LIMIT eingestellt wird, an den Postmaster geschickt werden sollen. Eine erste Benachrichtigung wird immer am Ende der Postfachabfrage, in deren Verlauf die übergroße Nachricht erkannt wurde, verschickt. Danach werden diese Benachrichtigungen solange unterdrückt, bis die über diesen Parameter eingestellte Zeitspanne verstrichen ist. Um also nach 24 Stunden erneut informiert zu werden setzt man diesen Wert auf 86400 (Sekunden).

Gültige Werte: Zahl

Standardeinstellung: FETCHMAIL_WARNINGS='86400'

FETCHMAIL_DAEMON

Dieser Parameter gibt an, wie oft Fetchmail die konfigurierten Mail-Konten abfragen soll. Auch dieses Intervall wird in Sekunden angegeben. Der Wert `1800' bedeutet also ein Intervall von 30 Minuten.

Gültige Werte: Zahl

Standardeinstellung: FETCHMAIL_DAEMON='1800'

FETCHMAIL_TIMEOUT

Dieser Parameter legt fest wie lange auf eine Antwort vom abzurufenden Server gewartet werden soll, bevor ein Abbruch erfolgt. Die Angabe erfolgt in Sekunden.

Gültige Werte: Zahl

Standardeinstellung: FETCHMAIL_TIMEOUT='90'

FETCHMAIL_BOUNCE_MAIL (optionaler Parameter)

Wird dieser Parameter auf den Wert `yes' gesetzt, so werden Fehlermeldungen welche beim Abruf oder der Zustellung einer Nachricht aufgetreten sind an den Absender einer Nachricht geschickt. Wird der Wert dieses Parameters auf `no' gesetzt, so wird statt dessen der Postmaster über eventuelle Probleme informiert.

Gültige Werte: yes oder no

Standardeinstellung: FETCHMAIL_BOUNCE_MAIL='no'

FETCHMAIL_BOUNCE_SPAM (optionaler Parameter)

Wird dieser Parameter auf den Wert `yes' gesetzt, so wird eine als Spam klassifizierte Nachricht an den Absender zurück geschickt. Da es beim Versand von Spamnachrichten jedoch üblich ist die Absenderadresse zu fälschen, ist der Wert des Parameters standardmäßig auf `no' gesetzt, wodurch eine Nachricht unwiderruflich vom Server gelöscht wird.

Gültige Werte: yes oder no

Standardeinstellung: FETCHMAIL_BOUNCE_SPAM='no'

FETCHMAIL_BOUNCE_SOFT (optionaler Parameter)

Wird dieser Parameter auf den Wert `yes' gesetzt, so wird bei einem permanenten Zustellfehler eine Nachricht auf dem abgerufenen Server belassen als wenn nur ein temporärer Fehler aufgetreten wäre. Wird der Wert dieses Parameters auf `no' gesetzt, so wird eine Nachricht unwiderruflich vom Server gelöscht. Dieser Parameter sollte deshalb nur nach reichlicher Überlegung und ausführlichen Tests der Abrufparameter umgestellt werden.

Gültige Werte: yes oder no

Standardeinstellung: FETCHMAIL_BOUNCE_SOFT='yes'

FETCHMAIL_N

Anzahl der abzufragenden Mailkonten. Diese werden nun im folgenden konfiguriert. Die folgenden Variablen müssen dann jeweils für jedes Mailkonto angegeben werden, also z.B. FETCHMAIL_SERVER_1, FETCHMAIL_SERVER_2 usw.

Gültige Werte: Zahl

Standardeinstellung: FETCHMAIL_N='1'

FETCHMAIL_x_ACTIVE

Wird dieser Parameter auf den Wert `yes' gesetzt, so wird der zugehörige Datensatz aktiviert, `no' deaktiviert ihn.

Gültige Werte: yes oder no

Beispiel: FETCHMAIL_1_ACTIVE='no'

FETCHMAIL_x_COMMENT

Dies ist ein Kommentarfeld, welches die Identifizierung des abzurufenden Servers erleichtern soll.

Gültige Werte: beliebiger Text

Beispiel: FETCHMAIL_1_COMMENT='Dies ist mein Server'

FETCHMAIL_x_SERVER

Hier wird der Domainname des abzurufenden POP3-/IMAP-Servers angegeben. Bei web.de wäre das zum Beispiel `mail.web.de'.

Gültige Werte: Servername

Beispiel: FETCHMAIL_1_SERVER='mail.domain.com'

Hinweis: Will man eine große Anzahl von Accounts anlegen, so ist es möglich diese über eine csv-Datei der aktuellen Konfigurationsdatei hinzuzufügen. Hierzu kopiert man eine Datei `fetchmail.csv' in das Verzeichnis /var/spool/exim und ruft das Programm `/var/install/config.d/mail-update.sh import' auf.

Eine vorhandene Benutzerliste kann in eine Datei `fetchmail.csv', im Verzeichnis
/var/spool/exim exportiert werden, indem man das Programm `/var/install/config.d/mail-update.sh export' aufruft.

Die csv-Datei muss wie folgt aufgebaut sein:

#server,active,username,password,forward,smtphost,imap_folder,domain,envelope,server_aka(s),local_domain(s),protocol,port,auth,keep,fetchall,msg_limit,ssl_protocol,ssl_transport,ssl_fingerprint
server1,no,username1,password1,forward-addr1„,no,no,2:svr-aka1:svr-aka2,0„port1„no,yes,10,none,no,
server2,no,username2,password2,forward-addr2„,no,no,0,2:ldom1:ldom2„port2„no,yes,10,none,no,

FETCHMAIL_x_USER / FETCHMAIL_x_PASS

Hier muss das Benutzerkonto zusammen mit dem zugehörigen Kennwort auf dem entfernten POP3-/IMAP-Server eingetragen werden.

Gültige Werte: Benutzername bzw. Kennwort

Beispiel:

FETCHMAIL_1_USER='username'
FETCHMAIL_1_PASS='secret'

FETCHMAIL_x_OAUTH2_ID (optionaler Parameter)(ADVANCED-Modus)

Wurde der Parameter FETCHMAIL_x_AUTH_TYPE='oauth2' gesetzt, so wird über diesen Parameter die OAuth2-Identifikation für die Authentifizierung am entfernten POP3-/IMAP-Server gesetzt.

Gültige Werte: OAuth2-Identifikation

Standardeinstellung: FETCHMAIL_x_OAUTH2_ID=

FETCHMAIL_x_OAUTH2_SECRET (optionaler Parameter)(ADVANCED-Modus)

Wurde der Parameter FETCHMAIL_x_AUTH_TYPE='oauth2' gesetzt, so wird über diesen Parameter das OAuth2-Geheimnis für die Authentifizierung am entfernten POP3-/IMAP-Server gesetzt.

Gültige Werte: OAuth2-Geheimnis

Standardeinstellung: FETCHMAIL_x_OAUTH2_SECRET=

FETCHMAIL_x_AUTH_TYPE (ADVANCED-Modus)

Über diesen Parameter wird die zu verwendende Authentifizierung eingestellt. Standardmäßig wird `any' verwendet. Dabei wird in folgender Reihenfolge versucht die E-Mails abzurufen: ohne Kennwort - maskiertes Kennwort - Klartextkennwort. Wird beim Aufbau der Verbindung zum Beispiel eine Fehlermeldung `SSL connection failed' angezeigt, so sollte man diesen Parameter auf `password' setzen um die Verwendung von SSL/STLS beim Verbindungsaufbau zu unterbinden.

Gültige Werte: leer bzw. any, password, cram-md5, oauth2

Standardeinstellung: FETCHMAIL_x_AUTH_TYPE=

FETCHMAIL_x_FORWARD

Diese Konfigurationsvariable gibt die E-Mail-Adresse an, wohin die E-Mails für dieses Konto weitergeleitet werden sollen. Im allgemeinen ist dieses eine lokale E-Mail-Adresse, sodass der SMTP-Server Exim die E-Mails entgegenimmt. In diesem Fall ist dann natürlich auch START_SMTP='yes' einzustellen, siehe unten.

Gültige Werte: vollständige E-Mail-Adresse

Beispiel: FETCHMAIL_1_FORWARD='user@local.lan'

FETCHMAIL_x_SMTPHOST (ADVANCED-Modus)

Hier kann man den SMTP-Host angeben, an welchen die E-Mails weitergeleitet werden sollen. Soll der lokale SMTP-Server verwendet werden, bleibt diese Variable leer.

Gültige Werte: leer bzw. SMTP-Hostname

Beispiel: FETCHMAIL_1_SMTPHOST=

FETCHMAIL_x_IMAP_FOLDER (ADVANCED-Modus)

Wurde der Parameter FETCHMAIL_x_PROTOCOL='imap' gesetzt, so können über diesen Parameter individuelle IMAP-Ordner angegeben werden die über Fetchmail abgerufen werden sollen. Wird der Parameter leer gelassen, so wird nur die Standard-Mailbox 'INBOX' abgerufen. Mehrere Ordnernamen müssen durch ein Komma voneinander getrennt eingegeben werden.

Gültige Werte: leer bzw. IMAP-Ordnernamen

Beispiel: FETCHMAIL_1_IMAP_FOLDER=

FETCHMAIL_x_DOMAIN (ADVANCED-Modus)

FETCHMAIL_x_DOMAIN bestimmt, ob die E-Mails vom Mailkonto des entfernten POP3-/IMAP-Servers für eine komplette Domain verteilt werden sollen. Man spricht hier auch von einem Multi-Drop- oder Catchall-Postfach.

Gültige Werte: yes, no

Standardeinstellung: FETCHMAIL_x_DOMAIN='no'

FETCHMAIL_x_ENVELOPE (ADVANCED-Modus)

Dieser Parameter legt fest, ob bei Verwendung eines Multi-Drop-Postfachs auch die Adressen im Nachrichtenumschlag überprüft werden sollen. In Ausnahmefällen, wenn z.B. der ursprüngliche Empfänger einer Nachricht aus dem eigentlichen Nachrichtenkopf nicht mehr ersichtlich ist, kann es sinnvoll sein diesen Parameter auf den Wert 'yes' zu setzen.

Gültige Werte: yes, no

Standardeinstellung: FETCHMAIL_x_ENVELOPE='no'

FETCHMAIL_x_ENVELOPE_HEADER (ADVANCED-Modus)

Beim Abruf eines Multi-Drop-Postfachs kann man über diesen Parameter festlegen, wie die Einträge im Nachrichtenumschlag gekennzeichnet sind die die originalen Empfängeradressen beinhalten. Standardmäßig wird nach einem Eintrag `X-Envelope-To:' gesucht, jedoch kann es sein dass ein Internet-Provider die Angabe eines abweichenden Eintrags notwendig macht.
Falls mehrere Einträge gleichen Namens im Kopf einer Nachricht vorhanden sind, kann durch eine vorangestellte Zahl bestimmt werden, wie viele Einträge übersprungen werden sollen.

Beispiel um alle Received-Zeilen auszuwerten:

FETCHMAIL_1_ENVELOPE_HEADER='Received:'
FETCHMAIL_1_ENVELOPE_HEADER='1 Received:' - ignoriere die erste Received-Zeile

Gültige Werte: gültiger Nachrichtenumschlageintrag

Standardeinstellung: FETCHMAIL_x_ENVELOPE_HEADER=

FETCHMAIL_x_SERVER_AKA_N (ADVANCED-Modus)

Dieser Parameter gibt an, wie viele alternative DNS Aliasnamen für den E-Mail-Server über die Parameter FETCHMAIL_x_SERVER_AKA_y definiert worden sind. Es ist zu beachten, dass dieser und der folgende Parameter nur funktionsfähig sind, wenn FETCHMAIL_x_DOMAIN='yes' gesetzt wurde.

Gültige Werte: Zahl

Standardeinstellung: FETCHMAIL_x_SERVER_AKA_N='0'

FETCHMAIL_x_SERVER_AKA_y (ADVANCED-Modus)

Bei der Abfrage eines Postfaches durchsucht Fetchmail den Nachrichtenkopf nach Aliasnamen des E-Mail-Servers. Definiert man nun über diesen Parameter alternative DNS Aliasnamen für einen E-Mail-Server, so wird die Überprüfung beschleunigt und die Notwendigkeit von DNS-Anfragen reduziert.
Hinweis: Wird z.B. ein Domain-Suffix `netaxs.com' konfiguriert, so trifft dieser auf alle auf diesen Suffix endenden Hostnamen, wie z.B. `pop3.netaxs.com' oder `mail.netaxs.com' zu.

Gültige Werte: Domainname

Standardeinstellung: FETCHMAIL_x_SERVER_AKA_y=

FETCHMAIL_x_LOCALDOMAIN_N (ADVANCED-Modus)

Dieser Parameter gibt an, wie viele lokale Domains über die Parameter FETCHMAIL_x_LOCALDOMAIN_y definiert worden sind. Es ist zu beachten, dass dieser und der folgende Parameter nur funktionsfähig sind, wenn FETCHMAIL_x_DOMAIN='yes' gesetzt wurde.

Gültige Werte: Zahl

Standardeinstellung: FETCHMAIL_x_LOCALDOMAIN_N='0'

FETCHMAIL_x_LOCALDOMAIN_y (ADVANCED-Modus)

Bei einem E-Mail-Abruf wird die hier angegebenen Domain dazu genutzt um zu prüfen, ob es sich bei der Empfänger-Domain in einer E-Mail um eine lokale oder nicht lokale Domain handelt. Nur wenn es zu einer Übereinstimmung kommt wird die E-Mail abgeholt.

Gültige Werte: Domainname

Standardeinstellung: FETCHMAIL_x_LOCALDOMAIN_y=

FETCHMAIL_x_PROTOCOL (ADVANCED-Modus)

Hier kann das verwendete Protokoll zur Übertragung der E-Mails, abweichend vom Standardprotokoll, welches über den Parameter
FETCHMAIL_PROTOCOL festgelegt wurde, definiert werden. Dieser Parameter muss normalerweise nicht gesetzt werden!

Gültige Werte: leer bzw. imap, pop3, auto

Standardeinstellung: FETCHMAIL_x_PROTOCOL=

FETCHMAIL_x_PORT (ADVANCED-Modus)

Hier kann der verwendete IP-Port zur Übertragung der E-Mails, abweichend vom Standard-Port des gewählten Protokolls, definiert werden. Dieser Parameter muss normalerweise nicht gesetzt werden!

Gültige Werte: leer bzw. Zahl

Standardeinstellung: FETCHMAIL_x_PORT=

FETCHMAIL_x_ACCEPT_BAD_HEADER (ADVANCED-Modus)

Über diesen Parameter wird festgelegt, ob auch Nachrichten mit fehlerhaften E-Mail-Kopfzeilen herunter geladen werden sollen oder nicht.

Gültige Werte: yes, no

Standardeinstellung: FETCHMAIL_x_ACCEPT_BAD_HEADER='no'

FETCHMAIL_x_DNS_LOOKUP

Über diesen Parameter kann die Namensauflösung mittels DNS beim Abruf von Multi-Drop-Postfächer werden.

Gültige Werte: yes, no

Standardeinstellung: FETCHMAIL_x_DNS_LOOKUP='yes'

FETCHMAIL_x_KEEP

Mit diesem Konfigurationsparameter stellt man ein, ob die E-Mails nach der Übertragung auf dem entfernten POP3-/IMAP-Server erhalten bleiben sollen. Die Einstellung `yes' erhält die E-Mails auf dem entfernten Server, mit `no' werden sie nach der Übertragung gelöscht.

Gültige Werte: yes, no

Standardeinstellung: FETCHMAIL_x_KEEP='no'

FETCHMAIL_x_FETCHALL

Mit diesem Konfigurationsparameter stellt man ein, ob generell alle E-Mails vom entfernten POP3-/IMAP-Server abgeholt werden sollen, egal ob diese bereits abgerufen wurden.

Gültige Werte: yes, no

Standardeinstellung: FETCHMAIL_x_FETCHALL='no'

FETCHMAIL_x_MSG_LIMIT (ADVANCED-Modus)

Über diesen Parameter stellt man die maximale Anzahl der Nachrichten ein, die während einer einzelnen Verbindung abgerufen bzw. weitergeleitet werden sollen. Setzt man den Parameter auf den Wert `0' so wird jede Begrenzung aufgehoben.

Gültige Werte: Zahl

Standardeinstellung: FETCHMAIL_x_MSG_LIMIT='0'

FETCHMAIL_x_SSL_PROTOCOL (ADVANCED-Modus)

Über diesen Parameter bestimmt man, welches SSL/TLS-Protokoll bei einer Verbindung zum entfernten POP3-Server verwendet werden soll. Wird der Wert 'auto' gesetzt, so wird, basierend auf der Serverantwort, automatisch das sicherste Protokoll gewählt. Viele POP3-/IMAP-Server unterstützen z.B. mittlerweile die STLS-Funktion (tls1), welche eine verschlüsselte Übertragung des Kennwortes zulässt. Alle Werte denen ein +-Zeichen folgt geben die minimal zu verwendende Protokollversion bei dem Aushandelvorgang vor.

Gültige Werte: auto, none, tls1+, tls1.1, tls1.1+, tls1.2, tls1.2+

Standardeinstellung: FETCHMAIL_x_SSL_PROTOCOL='none'

FETCHMAIL_x_SSL_TRANSPORT (ADVANCED-Modus)

Mit diesem Konfigurationsparameter aktiviert man die SSL/TLS- Protokollunterstützung, sodass die komplette Kommunikation zum entfernten POP3-/IMAP-Server verschlüsselt abläuft. Voraussetzung für die Nutzung dieser Funktion ist natürlich, dass der entfernte Server dies auch unterstützt. Zusätzlich ist es hierfür erforderlich, dass man das SSL/TLS- Serverzertifikat des entfernten POP3-Servers und das zugehörige Root-Zertifikat im Verzeichnis /usr/local/ssl/certs ablegt und jeweils mit einem Hash-Wert versieht.

Gültige Werte: yes, no

Standardeinstellung: FETCHMAIL_x_SSL_TRANSPORT='no'

FETCHMAIL_x_SSL_FINGERPRINT (ADVANCED-Modus)

Über diesen Parameter kann man den SSL/TLS-Fingerprint (MD5-Hash) des entfernten POP3-/IMAP-Servers angeben. Bei einem Verbindungsaufbau vergleicht Fetchmail diesen Wert mit dem des POP3-/IMAP-Servers und unterbricht die Verbindung sobald ein Unterschied festgestellt wird.

Gültige Werte: leer bzw. Text

Beispiel: FETCHMAIL_1_SSL_FINGERPRINT='E4:20:3C:CB:A3:00:80:C9'

Standardeinstellung: FETCHMAIL_x_SSL_FINGERPRINT=

Der SMTP-Server (Exim)

Als SMTP-Server wird Exim eingesetzt. Er nimmt E-Mails über das SMTP-Protokoll entgegen und speichert sie entweder auf dem lokalen Server ab, wenn der Empfänger der E-Mail ein lokaler Benutzer ist, oder leitet sie an einen anderen SMTP-Server, siehe auch Parameter SMTP_SMARTHOST_..., weiter.

Der Begriff `innen' steht dabei in den folgenden Absätzen für das lokale Netzwerk und deren Rechnern, der Begriff `außen' steht für die `große weite Welt' des Internets mit deren SMTP-Servern.

Um Missbrauch vor Spamming vorzubeugen, ist die Konfiguration des SMTP-Servers mit Bedacht vorzunehmen. E-Mails, die nach `außen' weitergeleitet werden sollen, sollten auch nur von lokalen Rechnern (`innen') entgegengenommen werden. E-Mails, die von `außen' kommen, sollten lediglich lokal (`innen') gespeichert werden können. Einem Missbrauch als sog. Mail-Relay ist auf jeden Fall vorzubeugen, d.h. das Entgegennehmen einer E-Mail von `außen' und Weiterleitung nach `außen' sollte im Normalfall unterbunden werden. Dafür muss in der Konfiguration eingestellt werden, was `außen' und was `innen' ist. Eine weitere Möglichkeit der Absicherung ist ein Authentifizierungszwang. Auch dieser kann über die Standardkonfiguration eingestellt werden.

ACHTUNG
Für jedes lokale Mailkonto muss ein lokaler Benutzer über das EISFAIR-Setup-Menü eingerichtet werden!


Die Grundeinstellungen

START_SMTP

Über diesen Parameter wird der SMTP-Server (Port 25/587/tcp) aktiviert, sodass Nachrichten, über den E-Mail-Server versandt werdne können. Bei der Verwendung von Fetchmail ist der Wert dieses Parameters unbedingt auf `yes' zu setzen, wenn die abgeholten E-Mails lokal gespeichert werdeni sollen.

Gültige Werte: yes, no

Standardeinstellung: START_SMTP='yes'

SMTP_QUALIFY_DOMAIN

Hier wird der Name der Domain angegeben, die bei ausgehenden E-Mails für die Absender-Adresse verwendet werden soll, wenn diese nicht bereits eine Domain enthält. Dieses kann zum Beispiel der Fall sein, wenn man aus der Shell mit dem Programm `mail' eine E-Mail versendet. Heißt der lokale Benutzer zum Beispiel `joe', wird die E-Mail mit der Absenderadresse joe@domain.de gesendet, wenn Joe das Programm `mail' aus der Shell aufgerufen hat. Im Normalfall verwendet man jedoch an seinem Arbeits-PC einen E-Mail-Klienten, welcher bereits die vollständige E-Mail-Absender-Adresse angibt. In diesem Fall wird der Wert dieses Konfigurationsparameters ignoriert. Hier sollte unbedingt als Domain ein gültiger Domain-Name eingetragen werden!

Gültige Werte: Domainname

Beispiel: SMTP_QUALIFY_DOMAIN='domain.de'

SMTP_HOSTNAME

Der `offizielle' Hostname des EISFAIR-Rechners, inklusiv der zugehörigen Domain, der beim Versenden von E-Mails nach `außen' angegeben werden soll.

Gültige Werte: vollständiger Hostname

Beispiel: SMTP_HOSTNAME='eis.domain.de'

SMTP_QUEUE_INTERVAL

Intervall in Minuten, in welchem die Warteschlange (Queue) überprüft werden soll. Ein Sende-Auftrag einer E-Mail wird normalerweise sofort vorgenommen. Kann die E-Mail nicht versendet werden, weil beispielsweise der `gegnerische' SMTP-Server nicht erreichbar ist, bleibt die zu sendende E-Mail in der Warteschlange liegen. In regelmäßigen Abständen werden dann die Sende-Aufträge nachgeholt. Mit SMTP_QUEUE_INTERVAL kann man das Intervall einstellen. Ein guter Wert ist 30 Minuten. Über den Parameter SMTP_QUEUE_OUTBOUND_MAIL kann die die direkte Auslieferung ausgehender E-Mail verhindert werden.

Gültige Werte: Zahl

Beispiel: SMTP_QUEUE_INTERVAL='30'

SMTP_QUEUE_OUTBOUND_MAIL

Wird dieser Konfigurationsparameter auf den Wert `no' gesetzt, so werden ausgehende E-Mail sofort verschickt und nicht bis zum nächsten manuellen Prüfen der Sende-Warteschlange (Befehl: runq) zwischenspeichern. Interne E-Mail wird weiterhin sofort zugestellt. Dies ist hilfreich, wenn man selbst bestimmen will wann E-Mail verschickt werden soll.

Gültige Werte: yes, no

Standardeinstellung: SMTP_QUEUE_OUTBOUND_MAIL='no'

SMTP_QUEUE_ACCEPT_PER_CONNECTION

Nur wenn der Parameter SMTP_QUEUE_OUTBOUND_MAIL='no' gesetzt wurde kann über diesen Parameter eingestellt werden wie viele Nachrichten während eine SMTP-Session übertragen werden sollen. Ein Indiz für einen zu gering gewählten Wert ist z.B. das gehäufte Auftreten der Meldung 'no immediate delivery' in den Logdateien. In diesem Fall sollte man den Parameter auf z.B. auf den Wert '30' setzen.

Gültige Werte: Zahl

Standardeinstellung: SMTP_QUEUE_ACCEPT_PER_CONNECTION='10'

SMTP_MAIL_TO_UNKNOWN_USERS (ADVANCED-Modus)

Mit diesem Parameter wird festgelegt wie der SMTP-Server auf eingehende E-Mail, die an unbekannte Empfänger geschickt wurde, reagieren soll. Wird der Parameter auf `bounce' gesetzt, so wird automatisch eine Antwortnachricht an den Mail-Sender geschickt (Standard). Wird der Parameter auf `copy' gesetzt, so wird automatisch eine Antwortnachricht an den Mail-Sender und eine Kopie an den Postmaster geschickt. Wird der Parameter jedoch auf `forward' gesetzt, so wird keine Nachricht an den Mail-Sender sondern nur eine Nachricht an den Postmaster geschickt.

Gültige Werte: bounce, copy, forward

Standardeinstellung: SMTP_MAIL_TO_UNKNOWN_USERS='bounce'

SMTP_ALLOW_EXIM_FILTERS (ADVANCED-Modus)

Wird dieser Parameter gesetzt, so interpretiert Exim Einträge in der .forward-Datei, die mit `#Exim filter' beginnen, als Filter-Befehle. Die Filter-Datei wird mit den Zugriffsrechten des Anwenders ausgeführt. Es ist zu beachten, dass durch die Aktivierung dieses Parameters ein Anwender unter Umständen Zugriff auf Dateien und Funktionen erhalten kann, die für ihn normalerweise gesperrt sind.

Gültige Werte: yes, no

Standardeinstellung: SMTP_ALLOW_EXIM_FILTERS='no'

SMTP_CHECK_RECIPIENTS

ADVANCED-Modus: über diesen Parameter kann festgelegt werden, wie viele Empfänger pro versendeter Nachricht gleichzeitig adressiert werden können. Wird dieser Parameter nicht gesetzt, so wird ein Standardwert von 100 angenommen. Setzt man den Parameter auf den Wert '0', so wird die Überprüfung deaktiviert.

Gültige Werte: Zahl

Standardeinstellung: SMTP_CHECK_RECIPIENTS=

SMTP_CHECK_SPOOL_SPACE (ADVANCED-Modus)

Über diesen Parameter kann festgelegt werden, wie viel Platz mindestens vorhanden sein muss, damit Exim noch E-Mails entgegen nehmen kann. Wird dieser Parameter nicht gesetzt, so wird ein Standardwert von 10MB angenommen. Setzt man den Parameter auf den Wert '0', so wird die Überprüfung deaktiviert.

Gültige Werte: Speicherangabe

Standardeinstellung: SMTP_CHECK_SPOOL_SPACE=

SMTP_CHECK_SPOOL_INODES (ADVANCED-Modus)

Über diesen Parameter kann festgelegt werden, wie viele freie Verzeichniseinträge (Inodes) mindestens vorhanden sein müssen, damit Exim noch E-Mails entgegen nehmen kann. Wird dieser Parameter nicht gesetzt, so wird ein Standardwert von 100 angenommen. Setzt man den Parameter auf den Wert '0', so wird die Überprüfung deaktiviert.

Gültige Werte: Zahl

Standardeinstellung: SMTP_CHECK_SPOOL_INODES=

SMTP_CHECK_LINE_LENGTH (optionaler Parameter)

Über diesen Parameter kann festgelegt werden, ob die Länge der Kopfzeilen (RFC2047) bzw. Nachrichtenzeilen (RFC2045), die nicht-ASCII-Zeichen enthalten, geprüft werden sollen oder nicht. Das Deaktivieren dieser Prüfungen kann in seltenen Fällen erforderlich sein um Nachrichten von Systemen empfangen zu können, die gegen genannten RFC verstoßen.

Gültige Werte:

header+body
- Kopf- und Nachrichtenzeilen werden geprüft (Standard)
header
- Nur Kopfzeilen werden geprüft
body
- Nur Nachrichtenzeilen werden geprüft
no
- Es werden weder Kopf- noch Nachrichtenzeilen geprüft

Standardeinstellung: SMTP_CHECK_LINE_LENGTH=

SMTP_LIMIT

Über diesen Parameter kann die maximale Größe für eine beim SMTP-Server eingehende Nachricht festgelegt werden. Überschreitet eine E-Mail die angegebene Größe, wird diese E-Mail zurückgewiesen. Wird dieser Parameter auf `0' gesetzt, so wird die Limitüberprüfung deaktiviert (Dies wird nicht empfohlen!). Ein Wert von '10M' setzt ein Limit von 10MB. Wird kein Wert angegeben, so werden standardmäßig E-Mails bis zu einer Größe von 50MB akzeptiert.

Gültige Werte: Größenangabe

Standardeinstellung: SMTP_LIMIT=

SMTP_REMOVE_RECEIPT_REQUEST (ADVANCED-Modus)

Enthält eine Nachricht, welche über das Internet empfangen wurde, eine Anfrage für die Rücksendung einer Lesebestätigung, so kann diese durch Setzen dieses Parameters aus der Nachricht entfernt werden. Zur Information des Nachrichtenempfängers wird dem eigentlichen Nachrichtentext eine Information über die Entfernung einer solchen Anfrage vorangestellt.

Gültige Werte: yes, no

Standardeinstellung: SMTP_REMOVE_RECEIPT_REQUEST='no'

SMTP_SERVER_TRANSPORT (ADVANCED-Modus)

Über diesen Parameter wird festgelegt, ob als Transport-Protokoll SMTP (default - unverschlüsselt), SMTP über TLS (tls - verschlüsselt) oder beides (both) verwendet werden soll. Bei Verwendung von TLS ist sicherzustellen, dass zuvor entsprechende Server- Zertifikate installiert wurden.

Gültige Werte: default, tls, both

Standardeinstellung: SMTP_SERVER_TRANSPORT='default'

SMTP_TLS_CERT_NAME (optionaler Parameter)(ADVANCED-Modus)

Über diesen Parameter legt man den bzw. die Namen der TLS-Zertifikate des SMTP-Dienstes fest, welche zum Aufbau einer gesicherten Verbindung verwendet werden sollen. Es wird empfohlen für die Benennung der Dateien immer den vollständigen Domainnamen zu verwenden, da dies die Dateizuordnung erleichtert.

Hinweis
Bei Verwendung zusammen mit dem mail-dovecot-Paket wird hierdurch sogar die Verwendung unterschiedlicher Zertifikatei je nach Domainnamen möglich. Mehrere Namen müssen dabei jeweils durch einen Doppelpunkt voneinander getrennt werden. Der erste angegebene Domainname muss immer der Standardname sein, der verwendet wird falls ein E-Mail-Klient kein SNI unterstützt. Dass die angegebenen Dateien auch physikalisch im Zertifikatsverzeichnis des Servers existieren bzw. entsprechende symbolische Links auf ein Multi-Domain-Zertifikat gesetzt werden müssen, ist selbsredend.


Wird dieser Parameter nicht gesetzt, so wird standardmäßig ein Zertifikat mit dem Namen `exim.pem' verwendet.

Gültige Werte: Ein- oder mehrere Zertifikatsnamen

Beispiel: SMTP_TLS_CERT_NAME='mail-server.local.lan'

SMTP_SERVER_TLS_ADVERTISE_HOSTS (ADVANCED-Modus)

Über diesen Parameter wird angegeben für welche Hosts die Verwendung des STARTTLS-Befehls ermöglicht werden soll. Nur wenn der angegebene Domainfilter mit der Absenderdomain übereinstimmt wird es einem E-Mail-Klienten ermöglicht eine verschlüsselte Verbindung aufzubauen. Mehrere Einträge müssen durch ein `:' voneinander getrennt werden.

Dieser Befehl wird nur verwendet, wenn zuvor SMTP_SERVER_TRANSPORT auf `tls' oder `both' gestellt wurde.

ACHTUNG
Diese Parameter sollte nur von erfahrenen Personen genutzt werden, die sich sehr gut mit SSL/TLS-Zertifikaten auskennen.


Gültige Werte: Domainfilter

Beispiel: SMTP_SERVER_TLS_ADVERTISE_HOSTS='*domain.de'

Standardeinstellung: SMTP_SERVER_TLS_ADVERTISE_HOSTS=

SMTP_SERVER_TLS_VERIFY_HOSTS (ADVANCED-Modus)

Über diesen Parameter wird angegeben welche Hosts sich durch ein eigenes Zertifikat ausweisen müssen. Falls das von einem E-Mail-Klienten übermittelte Zertifikat nicht mit einem auf dem Server abgelegten Klientenzertifikat übereinstimmt wird die Nachrichtenübermittlung abgebrochen. Dieser Parameter muss mit einem großen Maß an Sorgfalt gesetzt werden, da es sonst dazu führen kann, dass E-Mail von dem eigenen oder auch `externen' SMTP-Servern nicht mehr entgegen genommen wird. Einträge wie z.B. `*', `localhost' oder `127.0.0.1' sollten also auf jeden Fall unterbleiben. Mehrere Einträge müssen durch ein `:' voneinander getrennt werden.
Dieser Befehl wird nur verwendet, wenn zuvor SMTP_SERVER_TRANSPORT auf `tls' oder `both' gestellt wurde.

ACHTUNG
Diese Parameter sollte nur von erfahrenen Personen genutzt werden, die sich sehr gut mit SSL/TLS-Zertifikaten auskennen.


Gültige Werte: Domainfilter

Beispiel: SMTP_SERVER_TLS_VERIFY_HOSTS='*domain.de'

Standardeinstellung: SMTP_SERVER_TLS_VERIFY_HOSTS=

SMTP_SERVER_TLS_TRY_VERIFY_HOSTS (ADVANCED-Modus)

Über diesen Parameter wird angegeben für welche Hosts versucht werden soll eine Authentifizierung über ein Zertifikat durchzuführen. Falls das von einem E-Mail-Klienten übermittelte Zertifikat nicht mit einem auf dem Server abgelegten Klientenzertifikat übereinstimmt wird trotzdem eine sichere Nachrichtenübermittlung zugelassen. Einträge wie z.B. `*', `localhost' oder `127.0.0.1' sollten also auf jeden Fall unterbleiben. Mehrere Einträge müssen durch ein `:' voneinander getrennt werden.
Dieser Befehl wird nur verwendet, wenn zuvor SMTP_SERVER_TRANSPORT auf `tls' oder `both' gestellt wurde.

ACHTUNG
Diese Parameter sollte nur von erfahrenen Personen genutzt werden, die sich sehr gut mit TLS-Zertifikaten auskennen.


Gültige Werte: Domainfilter

Beispiel: SMTP_SERVER_TLS_TRY_VERIFY_HOSTS='*domain.de'

Standardeinstellung: SMTP_SERVER_TRY_TLS_VERIFY_HOSTS=

SMTP_SERVER_SSMTP

Über diesen Parameter kann die Unterstützung für das SSMTP-Protokoll (Port 465/tcp) aktiviert werden. Hierzu muss diese Variable lediglich auf den Wert `yes' gestellt werden. Die Einstellung `no' schaltet den SSMTP-Server ab.

Gültige Werte: yes, no

Standardeinstellung: SMTP_SERVER_SSMTP='no'

SMTP_SERVER_SSMTP_LISTEN_PORT

Über diesen Parameter wird ein vom Standard abweichender TCP-Port festgelegt, auf dem Exim auf eingehende SSMTP-Verbindungen hört. Es ist zu beachten, dass für den angegebenen Port auch ein Eintrag in der Datei /etc/services existieren sollte. Wird dieser Parameter nicht gesetzt, so wird automatisch 'ssmtp' angenommen.

ACHTUNG
Dieser Parameter sollte nur in Ausnahmefällen verändert werden!


Gültige Werte: Portname bzw. Zahl

Standardeinstellung: SMTP_SERVER_SSMTP_LISTEN_PORT=

SMTP_IDENT_CALLBACKS (ADVANCED-Modus)

Über diesen Parameter wird festgelegt, ob der Exim-Daemon einen Ident Callback für die über die Parameter SMTP_RELAY_FROM_HOST_.. definierten Hosts durchführen soll. Falls der initiale Verbindungsaufbau beim Abruf von Nachrichten relativ lange dauern sollte, kann man diesen Parameter auf 'no' setzen.

Gültige Werte: yes, no

Standardeinstellung: SMTP_IDENT_CALLBACKS='yes'

SMTP_LOCAL_DOMAIN_N /SMTP_LOCAL_DOMAIN_x

Über diesen Parameter gibt man die Anzahl der lokalen Domains, für welche E-Mails zur lokalen Speicherung entgegengenommen werden sollen, an. Es können auch Hostnamen angegeben werden. Der Wert `@' ist dabei etwas Besonderes: er steht für den offiziellen Hostnamen des EISFAIR-Servers, also den Wert der Variablen SMTP_HOSTNAME. Zusätzlich sollte der Hostname `localhost' in der Liste erscheinen.

Gültige Werte: Zahl bzw. @, Host- und Domainnamen

Beispiel:

SMTP_LOCAL_DOMAIN_N='3'
SMTP_LOCAL_DOMAIN_1='@'
SMTP_LOCAL_DOMAIN_2='localhost'
SMTP_LOCAL_DOMAIN_3='domain.de'

SMTP_LISTEN_PORT

Über diesen Parameter wird ein vom Standard abweichender TCP-Port bzw. werden vom Standard abweichende TCP-Ports festgelegt, auf welchen Exim eingehende Verbindungen entgegen nimmt. Wird mehr als ein TCP-Port angegeben, so Müssen die Einträge durch Doppelpunkte voneinander getrennt werden. Wird dieser Parameter nicht gesetzt, so nimmt Exim standardmäßig Verbindungen auf den TCP-Ports `smtp' (25/tcp) und `submission' (587/tcp) entgegen. Es ist zu beachten, dass für den/die angegebenen TCP-Port(s) jeweils ein Eintrag in der Datei /etc/services existieren sollte.

ACHTUNG
Dieser Parameter sollte nur in Ausnahmefällen verändert werden!


Gültige Werte: ein oder mehrere Portnamen bzw. Zahlen

Standardeinstellung: SMTP_LISTEN_PORT=

Eingehende E-Mail

SMTP_RELAY_TO_DOMAIN_N / SMTP_RELAY_TO_DOMAIN_x

Hier werden diejenigen Domains angegeben, für welche der SMTP-Server ein `eingehendes Relais' sein soll. SMTP_RELAY_TO_DOMAIN_N gibt dabei die Anzahl der Domains an. Diese Domains werden dann in den Variablen SMTP_RELAY_TO_DOMAIN_1, SMTP_RELAY_TO_DOMAIN_2 usw. eingetragen. Im Normalfall ist Relaying nicht notwendig, sodass dieser Wert auf `0' gesetzt werden kann. Soll der eisfair-Server jedoch als MX-Backup oder als E-Mail-Gateway für bestimmte Domains eingesetzt werden, dann können

diese Domains hier angegeben werden.

ACHTUNG
Man sollte den SMTP-Server nur im Ausnahmefall als Relais verwenden, weil er sonst für Spamming missbraucht werden könnte!


Gültige Werte: Zahl bzw. @, Host- und Domainnamen

Standardeinstellung: SMTP_RELAY_TO_DOMAIN_N='0'

Beispiel: SMTP_RELAY_TO_DOMAIN_1='domain.de'

Ausgehende E-Mail

Um sich vor Spamming zu schützen, leitet der SMTP-Server nur dann ausgehende E-Mails an externe, meistens im Internet befindliche, SMTP-Server weiter, wenn er diese zuvor von E-Mail-Klienten empfängt die sich in bestimmten Netzen bzw. auf bestimmten Hosts befinden. Die hierzu benötigen Konfigrationsangaben können im Folgenden eingestellt werden. Ausnahmen oder eine alternative Regelung können über SMTP_AUTH_TYPE eingestellt werden.

SMTP_RELAY_FROM_HOST_N / SMTP_RELAY_FROM_HOST_x

Über die Parameter SMTP_RELAY_FROM_HOST_x werden diejenigen Netze oder Hosts angegeben, von denen ausgehende E-Mails verschickt werden dürfen. Im Allgemeinen ist dies der localhost, also 127.0.0.1 und das interne LAN. Dabei werden Netze mit in der Notation x.x.x.x/N angegeben. N ist die Anzahl der gesetzten Bits der Netzmaske, z.B. 24. Dies entspricht dann der Netzmaske 255.255.255.0.

Schaltet man zusätzlich die Authentifizierung (s. SMTP_AUTH_TYPE) ein, können auch E-Mails von `außen' nach `außen' unter Angabe einer Kennung und eines Kennwortes verschickt werden.

ACHTUNG
Man sollte den SMTP-Server nur im Ausnahmefall als Relais verwenden, weil er sonst für Spamming missbraucht werden könnte!


Gültige Werte: Zahl bzw. IP-Adressen und IP-Netze

Beispiel:

SMTP_RELAY_FROM_HOST_N='2' # zwei Einträge
SMTP_RELAY_FROM_HOST_1='127.0.0.1' # localhost
SMTP_RELAY_FROM_HOST_2='192.168.6.0/24' # internes LAN

Ausgehende E-Mail - Authentifizierung

Das Senden von E-Mails über den eisfair-SMTP-Server kann prinzipiell mit einer Authentifizierung (Angabe Kennung/Kennwort) geschützt werden. Auch wenn über
SMTP_RELAY_FROM_HOST_x das Aussenden von E-Mails nur auf bestimmte Netze beschränkt ist, empfiehlt es sich, zusätzlich einen Kennwortschutz zu hinterlegen. Praktisch ist dies auch, wenn man von `außen' den E-Mail-Server als Relais benutzen möchte.

SMTP_AUTH_TYPE

Mit dem Parameter SMTP_AUTH_TYPE wird angegeben, ob und wie eine solche Zugangskennung verwendet werden soll.

Es werden 5 Typen unterschieden:

none
- Keine Authentifizierung
user
- Kennungen/Passwörter der eisfair-Benutzer verwenden
server
- Globale Kennung/Kennwort verwenden
user_light
- wie 'user', jedoch ohne die explizite Prüfung der Absenderdomain.
server_light
- wie 'server', jedoch ohne die explizite Prüfung der Absenderdomain.

Gültige Werte: none, user, server, user_light, server_light

Standardeinstellung: SMTP_AUTH_TYPE='user'

SMTP_AUTH_USER / SMTP_AUTH_PASS

Soll die globale Kennung verwendet werden (Typ `server'), muss hier eine globale Benutzerkennung mit einem zugehörigen Kennwort angegeben werden.

Für jeden anderen Authentifizierungstyp werden diese beiden Parameter ignoriert und können daher leer bleiben.

Gültige Werte: Benutzername bzw. Kennwort

Standardeinstellung:

SMTP_AUTH_USER=
SMTP_AUTH_PASS=

Ausgehende E-Mail - Smarthost

Ausgehende E-Mails werden normalerweise direkt an den E-Mail-Server weitergesendet, welcher für die angesprochene Domain als sogenannter Mail-Exchanger (MX) im DNS eingetragen ist. Ist jedoch eisfair über eine Einwahlverbindung oder einen (V)DSL-Anschluss ohne feste IP-Adresse am Internet angeschlossen, kann es vorkommen, dass bestimmte Mail-Exchanger die Annahme und Weiterleitung der E-Mail verweigern, da im Falle von Einwahlverbindungen oder einem (V)DSL-Anschluss die Authentizität nicht überprüft werden kann.

Deshalb sollte man bei einer dynamischen IP-Adresse (Wählverbindung) besser einen sogenannten Smarthost angeben, i.a. den E-Mail-Server des verwendeten Providers.

SMTP_SMARTHOST_ONE_FOR_ALL

Wird dieser Parameter auf `yes' und der Parameter SMTP_SMARTHOST_N auf `1' gesetzt, so wird jede ausgehende E-Mail über ein und den selben Smarthost verschickt. Wird dieser Parameter auf `no' gesetzt, so kann, entweder abhängig von der E-Mail-Adresse des Absenders, oder der Zieldomain ein anderer Smarthost definiert werden.
Siehe hierzu auch SMTP_SMARTHOST_ROUTE_TYPE.

Gültige Werte: yes, no

Standardeinstellung: SMTP_SMARTHOST_ONE_FOR_ALL='yes'

SMTP_SMARTHOST_DOMAINS (ADVANCED-Modus)

Über diesen Parameter können Domains definiert werden, für die E-Mails über einen Smarthost versandt werden sollen. Alle anderen E-Mails werden direkt zugestellt. Dieser Parameter ist nur in Funktion, wenn zuvor SMTP_SMARTHOST_ONE_FOR_ALL='yes' gesetzt und ein Smarthost über SMTP_SMARTHOST_N='1' festgelegt wurde.

Gültige Werte: Domainliste

Standardeinstellung: SMTP_SMARTHOST_DOMAINS=

SMTP_SMARTHOST_ROUTE_TYPE (ADVANCED-Modus)

Wurde der Parameter SMTP_SMARTHOST_ONE_FOR_ALL='no' gesetzt und ist die Anzahl der über SMTP_SMARTHOST_N definierten Smarthosts größer als 1, dann wird über diesen Parameter festgelegt nach welchem Kriterium ein Smarthost gesucht bzw. gefunden werden soll. Zur Auswahl stehen die E-Mail-Absenderadresse eines Anwenders oder die E-Mail-Domain an die eine Nachricht geschickt werden kann.

Gültige Werte: 'addr' or 'domain'

Standardeinstellung: SMTP_SMARTHOST_ROUTE_TYPE='domain'

SMTP_SMARTHOST_N

Dieser Parameter gibt die Anzahl der konfigurierten Smarthosts an, deren Einstellungen über die folgenden Parameter festgelegt werden. Wird dieser Parameter auf den Wert `0' gesetzt, so wird immer der Mail-Exchanger der jeweils angesprochenen Domain in der E-Mail-Adresse verwendet.

Gültige Werte: Zahl

Standardeinstellung: SMTP_SMARTHOST_N='0'

SMTP_SMARTHOST_x_HOST

Über diesen Parameter wird der zu verwendende Smarthost (SMTP-Server) festgelegt. Optional ist auch die Angabe eines Backup-Smarthost möglich, welcher dann durch einen Doppelpunkt getrennt, angegeben werden muss.

Gültige Werte: vollständiger SMTP-Hostname

Beispiel: SMTP_SMARTHOST_1_HOST='mail.gmx.net'

SMTP_SMARTHOST_x_PORT (ADVANCED-Modus)

Über diesen Parameter wird festgelegt welcher TCP-Port für ausgehende Verbindungen genutzt werden soll. Wird der Parameter `uucp' gesetzt, so wird bei installiertem uucp-Paket dieses zum Mailtransfer verwendet. Wird nichts angegeben, so wird 'smtp' verwendet.

Gültige Werte: TCP-Portname (smtp, uucp usw.) bzw. Nummer

Standardeinstellung: SMTP_SMARTHOST_1_PORT=

SMTP_SMARTHOST_x_AUTH_TYPE

Die meisten E-Mail-Server verlangen eine Anmeldung (Authentifizierung), z.B. die E-Mail-Server eines ISPs. Hier kann eingestellt werden, welche Form der Kennwortübertragung gewählt werden soll:

none
- keine besondere Anmeldung
md5
- Anmeldung über MD5-verschlüsseltes Kennwort
login
- Unverschlüsselte Übertragung (meist von MS-Servern verwendet)
plain
- Unverschlüsselte Übertragung: Standard

Gültige Werte: none, md5, login, plain

Der Typ der Authentifizierung kann sehr leicht herausgefunden werden, und zwar fragt man dazu den E-Mail-Server selbst, wie er es denn gerne am liebsten hätte. Am Beispiel von GMX sieht das beispielsweise folgendermaßen aus:

hydra joerg $ telnet mail.gmx.de smtp
Trying 213.165.65.60...
Connected to mail.gmx.de.
Escape character is '^]'.
220 {mp003-rz3} GMX Mailservices ESMTP
EHLO www.microsoft.de
250-{mp003-rz3} GMX Mailservices
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-AUTH LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME
QUIT
221 {mp003-rz3} GMX Mailservices
Connection closed by foreign host.

Daraus ist sofort zu ersehen, dass GMX die Methoden 'login', 'cram-md5' und 'plain' unterstützt, wobei md5 oder login zu favorisieren sind.

SMTP_SMARTHOST_x_ADDR (ADVANCED-Modus)

Wurde der Parameter SMTP_SMARTHOST_ONE_FOR_ALL='no' gesetzt und ist die Anzahl der über SMTP_SMARTHOST_N definierten Smarthosts größer 1, dann muss über diesen Parameter jeweils die E-Mail-Adresse des Absenders konfiguriert werden dessen E-Mail über den zugehörigen Smarthost geschickt werden soll. Wird einmalig nur ein `*' eingetragen, so wird hierdurch ein Standardeintrag konfiguriert, der verwendet wird wenn kein passender Adresseintrag gefunden wurde.

Gültige Werte: E-Mail-Adresse

Beispiel: SMTP_SMARTHOST_1_ADDR='user@local.lan'

Standardeinstellung: SMTP_SMARTHOST_1_ADDR=

SMTP_SMARTHOST_x_DOMAIN (ADVANCED-Modus)

Über diesen Parameter wird die E-Mail-Domain konfiguriert, deren Nachrichten über einen dedizierten Smarthost geschickt werden sollen. Wird einmalig nur ein `*' eingetragen, so wird hierdurch ein Standardeintrag konfiguriert, der verwendet wird wenn keine passende Domain gefunden wurde.
Voraussetzung für die Verwendung dieses Parameters ist, dass die Parameter
SMTP_SMARTHOST_ONE_FOR_ALL='no' und
SMTP_SMARTHOST_ROUTE_TYPE='domain' gesetzt und die Anzahl der über SMTP_SMARTHOST_N definierten Smarthosts größer 1 ist.

Gültige Werte: Domainname oder `*'

Beispiel: SMTP_SMARTHOST_1_DOMAIN='local.lan'

Standardeinstellung: SMTP_SMARTHOST_1_DOMAIN=

SMTP_SMARTHOST_x_USER / SMTP_SMARTHOST_x_PASS

Wird eine Anmeldung verlangt bevor E-Mails an den Smarthost übertragen werden dürfen, so kann über diese Parameter die Benutzerkennung und das Kennwort festgelegt werden. Bei SMTP_SMARTHOST_x_AUTH_TYPE='none' werden diese Variablen ignoriert.

Gültige Werte: Benutzername bzw. Kennwort

Beispiel:

SMTP_SMARTHOST_1_AUTH_TYPE='md5'
SMTP_SMARTHOST_1_USER='ichbins'
SMTP_SMARTHOST_1_PASS='geheim'

SMTP_SMARTHOST_x_FORCE_AUTH (ADVANCED-Modus)

Wird dieser Parameter auf `yes' gesetzt, so werden nur nach einer erfolgreichen Authentifizierung E-Mails zum entfernten SMTP-Server übertragen, ansonsten schlägt eine Übermittlung fehl. Wird der Parameter auf `no' gesetzt, so wird zwar eine Authentifizierung versucht, jedoch führt ein Fehlschlag nicht zum Abbruch der Übermittlung, da diese dann ohne Authentifizierung erfolgt.

Gültige Werte: yes, no

Standardeinstellung: SMTP_SMARTHOST_1_FORCE_AUTH='no'

SMTP_SMARTHOST_x_FORCE_TLS (ADVANCED-Modus)

Wenn ein entfernter SMTP-Server angibt TLS zu unterstützen (STARTTLS), so wird bei gesetztem Parameter `yes' versucht eine sichere Verbindung zum entfernten SMTP-Server aufzubauen. Hierzu wird das Server-Zertifikat mit dem lokal gespeicherten Zertifikat verglichen. Bei einer Übereinstimmung findet eine Übermittlung von E-Mails zum entfernten SMTP-Server statt, ansonsten wird die Verbindung unterbrochen. Dieser Parameter sollte nur aktiviert werden, wenn man vorher Server- und Root-Zertifikate im Verzeichnis /usr/local/ssl/certs abgelegt hat und zugehörige Hash-Werte generiert hat.
Wenn ein entfernter SMTP-Server angibt TLS zu unterstützen (STARTTLS), so wird bei gesetztem Parameter `no' versucht eine sichere Verbindung zum entfernten SMTP-Server aufzubauen. Schlägt der Aufbau einer gesicherten Verbindung fehl, so wird versucht die Übermittlung von E-Mails über eine ungesicherte Verbindung fortzusetzen.
Wenn ein entfernter SMTP-Server angibt TLS zu unterstützen (STARTTLS), so wird bei gesetztem Parameter `ignore' nicht versucht eine sichere Verbindung zum entfernten SMTP-Server aufzubauen sondern einzig die Übermittlung von E-Mails über eine ungesicherte Verbindung versucht.

Gültige Werte: yes, no, ignore

Standardeinstellung: SMTP_SMARTHOST_1_FORCE_TLS='no'

SMTP_SMARTHOST_x_FORCE_OCSP (ADVANCED-Modus)

Wenn der Parameter SMTP_SMARTHOST_x_FORCE_TLS='yes' für einen entfernten SMTP-Server gesetzt wurde der das OCSP-Stapling unterstützt, so kann mittels dieses Parameters darauf bestanden werden, dass nur bei einer erfolgreichen Prüfung der bereitgestellten OCSP-Informationen eine Verbindung aufgebaut wird. Im Fehlerfall wird eine ausgehende Verbindung sofort beendet.

Gültige Werte: yes, no

Standardeinstellung: SMTP_SMARTHOST_1_FORCE_OCSP='no'

Es ergeben sich nunmehr fünf verschiedene Smarthost-Varianten die an Hand von Beispielen im Folgenden kurz beschrieben werden:

1 Es wird kein Smarthost verwendet, alle E-Mails werden direkt zugestellt.

Beispiel:

SMTP_SMARTHOST_ONE_FOR_ALL='yes'
SMTP_SMARTHOST_DOMAINS=
SMTP_SMARTHOST_ROUTE_TYPE='domain'

SMTP_SMARTHOST_N='0'

2 Es wird ein Smarthost, normalerweise der des ISP, für die Zustellung der E-Mails verwendet.

Beispiel:

SMTP_SMARTHOST_ONE_FOR_ALL='yes'
SMTP_SMARTHOST_DOMAINS=
SMTP_SMARTHOST_ROUTE_TYPE='domain'

SMTP_SMARTHOST_N='1'
SMTP_SMARTHOST_1_ADDR=
SMTP_SMARTHOST_1_DOMAIN=
SMTP_SMARTHOST_1_AUTH_TYPE='md5'
SMTP_SMARTHOST_1_HOST='mail.epost.de'
SMTP_SMARTHOST_1_USER='userid1'
SMTP_SMARTHOST_1_PASS='passwd1'

3 Es wird nur für E-Mails an die angegebene Domain ein Smarthost verwendet, alle anderen E-Mails werden direkt zugestellt.

Beispiel:

SMTP_SMARTHOST_ONE_FOR_ALL='yes'
SMTP_SMARTHOST_DOMAINS='t-online.de'
SMTP_SMARTHOST_ROUTE_TYPE='domain'

SMTP_SMARTHOST_N='1'
SMTP_SMARTHOST_1_ADDR=
SMTP_SMARTHOST_1_DOMAIN=
SMTP_SMARTHOST_1_AUTH_TYPE='md5'
SMTP_SMARTHOST_1_HOST='mail.epost.de'
SMTP_SMARTHOST_1_USER='userid1'
SMTP_SMARTHOST_1_PASS='passwd1'

4 Es werden für verschiedene Ziel-Domains jeweils unterschiedliche Smarthosts verwendet.

Beispiel:

SMTP_SMARTHOST_ONE_FOR_ALL='no'
SMTP_SMARTHOST_DOMAINS=
SMTP_SMARTHOST_ROUTE_TYPE='domain'

SMTP_SMARTHOST_N='2'
SMTP_SMARTHOST_1_ADDR=
SMTP_SMARTHOST_1_DOMAIN='aol.com'
SMTP_SMARTHOST_1_AUTH_TYPE='md5'
SMTP_SMARTHOST_1_HOST='mail.epost.de'
SMTP_SMARTHOST_1_USER='userid1'
SMTP_SMARTHOST_1_PASS='passwd1'

SMTP_SMARTHOST_2_ADDR=
SMTP_SMARTHOST_2_DOMAIN='t-online.de'
SMTP_SMARTHOST_2_AUTH_TYPE='login'
SMTP_SMARTHOST_2_HOST='smtp.gmx.net'
SMTP_SMARTHOST_2_USER='userid2'
SMTP_SMARTHOST_2_PASS='passwd2'

5 Es wird für jeden lokalen Mail-Anwender ein eigener Smarthost verwendet.

Beispiel:

SMTP_SMARTHOST_ONE_FOR_ALL='no'
SMTP_SMARTHOST_DOMAINS=
SMTP_SMARTHOST_ROUTE_TYPE='addr'

SMTP_SMARTHOST_N='2'
SMTP_SMARTHOST_1_ADDR='user1@local.lan'
SMTP_SMARTHOST_1_DOMAIN=
SMTP_SMARTHOST_1_AUTH_TYPE='md5'
SMTP_SMARTHOST_1_HOST='mail.epost.de'
SMTP_SMARTHOST_1_USER='userid1'
SMTP_SMARTHOST_1_PASS='passwd1'

SMTP_SMARTHOST_2_ADDR='user2@local.lan'
SMTP_SMARTHOST_2_DOMAIN=
SMTP_SMARTHOST_2_AUTH_TYPE='login'
SMTP_SMARTHOST_2_HOST='smtp.gmx.net'
SMTP_SMARTHOST_2_USER='userid2'
SMTP_SMARTHOST_2_PASS='passwd2'

SMTP_UPDATE_IGNORE_HOSTS (ADVANCED-Modus)

Wird dieser Parameter auf 'yes' gesetzt und der Parameter SMTP_SMARTHOST_ONE_FOR_ALL='no' wurde gesetzt, so wird in regelmäßigen Intervallen die Liste deri TLD's (top level domains) aktualisiert, für die Wildcard-DNS-Einträge gesetzt wurden. Hierdurch wird verhindert, dass E-Mail an nicht existierende Domains an die jeweiligen Wildcard-DNS-Hosts übermittelt wird. Zusätzliche Informationen sind u.a. hier zu finden: http://CERT.Uni-Stuttgart.DE/ticker/article.php?mid=1145

Gültige Werte: yes, no

Standardeinstellung: SMTP_UPDATE_IGNORE_HOSTS='no'

SMTP_UPDATE_IGNORE_HOSTS_CRON_SCHEDULE (ADVANCED-Modus)

Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall eine Überprüfung der zu ignorierenden Hosts durchgeführt werden soll, die Wildcard-TLDs darstellen. Diese Funktion ist nur verfügbar, wenn die Parameter SMTP_UPDATE_IGNORE_HOSTS='yes' gesetzt wurde. Die fünf Teilparameter haben dabei folgende Bedeutung:
1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.
D.h. bei Verwendung der Standardeinstellung wird jeweils am Sonntag um 01:05h die Liste aktualisiert. Wer Näheres über die verwendete Befehlssyntax erfahren möchte, sollte über eine Internet-Suchmaschine nach `man' und `crontab' suchen.

Gültige Werte: Crontab-spezifischer Parametereintrag

Standardeinstellung: SMTP_UPDATE_IGNORE_HOSTS_CRON_SCHEDULE='5 1 * * 0'

Die Aliasnamen

Über Aliases können E-Mail-Adressen konfiguriert werden, über welche E-Mails lediglich an andere Benutzer oder Benutzergruppen weitergeleitet werden sollen.

Damit kann ein Benutzer mehrere E-Mail-Adressen haben. Auch kann damit eine Weiterleitung eingestellt werden.

SMTP_ALIASES_N / SMTP_ALIASES_x_DOMAIN (ADVANCED-Modus)

Die Anzahl der E-Mail-Domains für die Aliasse vergeben werden sollen wird über den Parameter SMTP_ALIASES_N festgelegt. Sollte jemand mehrere sogenannte virtuelle Domains hosten und abhängig von der Domain unterschiedliche Aliaseinträge für z.B. gleichlautende Benutzer konfigurieren wollen, so muss dieser Zähler entsprechend erhöht und über den Parameter SMTP_ALIASES_x_DOMAIN die einzelnen Domains konfiguriert werden.

Gültige Werte: Zahl bzw. E-Mail-Domain

Beispiel:

SMTP_ALIASES_N='2'
SMTP_ALIASES_1_DOMAIN='domain1.de'
...
# E-Mail an support@domain1.de soll an den lokalen
# Benutzer 'werner' weitergeleitet werden.
SMTP_ALIASES_1_ALIAS_2='support: werner'

SMTP_ALIASES_2_DOMAIN='domain2.de'
...
# E-Mail an support@domain2.de soll an den lokalen
# Benutzer 'hubert' weitergeleitet werden.
SMTP_ALIASES_2_ALIAS_y='support: hubert'

SMTP_ALIASES_x_ALIAS_N / SMTP_ALIASES_x_ALIAS_y

Die Anzahl der Alias- Einträge pro Domain wird über den Parameter SMTP_ALIASES_x_ALIAS_N angegeben und über den Parameter SMTP_ALIASES_x_ALIAS_y wird jeweils der y-ten Aliaseintrag festgelegt. Angegebene wird die E-Mail-Adresse von einem lokalen oder entfernten Anwender an den die Nachricht weitergeleitet werden soll.

Format von SMTP_ALIASES_x_ALIAS_x:

Zieladresse: Weiterleitung,[Weiterleitung[,Weiterleitung ...]]

Es kann also auch ein Verteiler angegeben werden. Dabei sind die einzelnen E-Mail-Adressen oder lokale Benutzer durch ein Komma zu trennen - ohne Leerzeichen!

Beispiel:

`frank: fm@foo.bar'      # Mails, die an frank@xxx geschickt werden,
                         # werden an die E-Mail-Adresse fm@foo.bar
                         # weitergeleitet.

`info: chef,fm@foo.bar'  # Mails, die an info@xxx geschickt werden,
                         # werden an den lokalen Benutzer chef und
                         # die entfernte Adresse fm@foo.bar
                         # weitergeleitet.

Eine Weiterleitung kann auch wieder ein anderer Alias sein, siehe auch folgendes Beispiel:

`frank: fm'              # Mails, die an frank@xxx geschickt werden,
                         # werden an den lokalen Benutzer fm
                         # weitergeleitet.

`info: chef,frank'       # Mails, die an info@xxx geschickt werden,
                         # werden an die lokalen Benutzer chef und
                         # frank weitergeleitet, wobei frank wiederum
                         # durch den lokalen Benutzer fm ersetzt wird
                         # (s.o.!)

Es muss auf jeden Fall als erstes ein Alias für den root-Benutzer konfiguriert werden, sodass vom eisfair-Server generierte E-Mails auch ans Ziel kommen. Im Beispiel werden alle E-Mails für den root-Benutzer an den lokalen Anwender `frank' weitergeleitet.

Gültige Werte: Zahl bzw. Text

Beispiel:

SMTP_ALIASES_1_ALIAS_N='1'
SMTP_ALIASES_1_ALIAS_1='root: frank'

Das Umschreiben des E-Mail-Kopfes bei Verwendung von Smarthost

Diese Parameter stehen nur zur Verfügung, wenn ein Smarthost verwendet wird. Ist dies nicht der Fall werden die vorgenommenen Einstellung ignoriert.

Verwendet man im lokalen Netz z.B. die Domain `lokaledomain.lan' und möchte alle ausgehende E-Mail über den E-Mail-Server seines Providers (Domain: domain.de) versenden, so treten Probleme auf, da die Domain `lokaledomain.lan' außerhalb des lokalen Netzes nicht bekannt ist. Ein weiteres Problem stellt sich ein, wenn der SMTP-Server des Providers eine Authentifizierung verlangt und hierfür zwingend die eigene Domain `domain.de' abfragt.

SMTP_OUTGOING_ADDRESSES_N / SMTP_OUTGOING_ADDRESSES_x

Über den Parameter SMTP_OUTGOING_ADDRESSES_N gibt man die Anzahl der über die Parameter SMTP_OUTGOING_ADDRESSES_x konfigurierten Adresszuordnungen an. Im angegebenen Beispiel wird eine E-Mail, welche als Absenderadresse `fm@lokaledomain.lan' enthält mit der extern bekannten Adresse `frank@domain.de' versehen.

Gültige Werte: Zahl bzw. Text

Standardeinstellung: SMTP_OUTGOING_ADDRESSES_N='0'

Beispiel:

SMTP_OUTGOING_ADDRESSES_N='2'
SMTP_OUTGOING_ADDRESSES_1='fm: frank@domain.de'
SMTP_OUTGOING_ADDRESSES_2='tm: tom@domain.de'

Das Umschreiben von E-Mail-Köpfen bei Verwendung von Sub-Domains

Werden zum Beispiel in einem LAN mehrere Mail-Hosts hinter einem Firewall betrieben, die mit der `Außenwelt' über einen gemeinsamen Gateway kommunizieren, so muss dieser die Mail- Adressen umschreiben. Denkbar ist auch die Möglichkeit, dass der Gateway den lokalen Teil der Anwender beim Versenden umschreibt.

SMTP_HEADER_REWRITE_N

Über diesen Parameter wird die Anzahl der konfigurierten Umschreibregeln angegeben.

Gültige Werte: Zahl

Standardeinstellung: SMTP_HEADER_REWRITE_N='0'

SMTP_HEADER_REWRITE_x_SOURCE

Über diesen Parameter wird festgelegt, wann die Umschreibregel greifen soll. Im angegeben Beispiel ist dies der Fall, sobald Eine Adresse von der Domain `*@eiszeit.domain.de' von dem SMTP-Server entgegen genommen wird.

Gültige Werte: Text

Beispiel: SMTP_HEADER_REWRITE_1_SOURCE='*@eiszeit.domain.de'

SMTP_HEADER_REWRITE_x_DESTINATION

Über diesen Parameter wird festgelegt, in was die E-Mail-Adresse umgeschrieben werden soll. Im angegeben Beispiel wird der lokale Teil der Adresse beibehalten und nur der Domain-Anteil in `domain.de' geändert.

Gültige Werte: Text

Beispiel: SMTP_HEADER_REWRITE_1_DESTINATION='$1@domain.de'

SMTP_HEADER_REWRITE_x_FLAGS

Über diesen Parameter wird festgelegt welche Felder im Nachrichtenumschlag (Envelope) bzw. Nachrichtenkopf (Header) umgeschrieben werden sollen. Eine Nachrichten ist strukturell wie folgt aufgebaut:

+-nicht sichtbar------------------+
| Nachrichtenumschlag (Envelope)  |
| Felder: E, F, T                 |
|                                 |
| +-sichtbar--------------------+ |
| | Nachrichtenkopf (Header)    | |
| | Felder: b, c, f, h, r, s, t | |
| |                             | |
| | Nachrichtentext ...         | |
| |                             | |
| |                             | |
| +-----------------------------+ |
+---------------------------------+

Es kann eine Kombinationen aus den folgenden Kennzeichnern verwendet werden:

E
- alle Felder im E-Mail-Nachrichtenumschlag
F
- das From-Feld im E-Mail-Nachrichtenumschlag
T
- das To-Feld im E-Mail-Nachrichtenumschlag
b
- das Bcc-Feld im Nchrichtenkopf
c
- das Cc-Feld im Nchrichtenkopf
f
- das From-Feld im Nchrichtenkopf
h
- alle Felder im Nchrichtenkopf
r
- das Reply-To-Feld im Nchrichtenkopf
s
- das Sender-Feld im Nchrichtenkopf
t
- das To-Feld im Nchrichtenkopf

Im angegebenen Beispiel wird die definierte Regel auf das From-Feld im E-Mail-Nachrichtenumschlag und das Sender-Feld im E-Mail-Nachrichtenkopf angewendet.

Gültige Werte: Text

Beispiel: SMTP_HEADER_REWRITE_1_FLAGS='sF'

Die Mailinglisten

Mailinglisten bieten die Möglichkeit, E-Mails an eine ganze Gruppe von Benutzern zu schicken. Der Unterschied zu Aliasse ist aber, dass als Antwortadresse immer die E-Mail-Adresse der Mailingliste eingetragen wird. So kann eine Gruppe innerhalb der Mailingliste über ein bestimmtes Thema (das Thema der Gruppe halt) diskutieren.

SMTP_LIST_N

Anzahl der Mailinglisten. Ist diese `0', werden alle folgenden Variablen ignoriert.

Gültige Werte: Zahl

Standardeinstellung: SMTP_LIST_N='0'

SMTP_LIST_x_NAME

Name der Mailingliste. Dies ist dann auch automatisch die E-Mail-Adresse. Anzugeben ist hier nicht die komplette Adresse, sondern lediglich der Teil vor dem `@'-Zeichen. Die Domain (also der Teil hinter dem `@'-Zeichen) wird über SMTP_LIST_DOMAIN eingestellt, s.u.

Gültige Werte: Text

Beispiel: SMTP_LIST_1_NAME='eisfair'

SMTP_LIST_x_ACTIVE

Wird dieser Parameter auf den Wert `yes' gesetzt, so wird der zugehörige Datensatz aktiviert, `no' deaktiviert ihn.

Gültige Werte: yes oder no

Beispiel: SMTP_LIST_1_ACTIVE='no'

SMTP_LIST_x_USER_N / SMTP_LIST_x_USER_y

Anzahl der Benutzer innerhalb einer Liste und die Aufzählung der Mitglieder (Members) einer Liste. Hier müssen vollständige E-Mail-Adressen eingetragen werden.

Gültige Werte: Zahl bzw. Text

Beispiel:

SMTP_LIST_1_USER_N='2'
SMTP_LIST_1_USER_1='frank@foo.bar'
SMTP_LIST_1_USER_2='joe@bar.foo'

SMTP_LIST_DOMAIN

Hier ist die Domain einzutragen. Dies ist der Teil hinter dem `@'-Zeichen der Listen-E-Mail-Adresse.

Gültige Werte: Domainname

Beispiel: SMTP_LIST_DOMAIN='domain.de'

Damit wäre dann eine gültige Listen-E-Mail-Adresse eisfair@domain.de.

SMTP_LIST_ERRORS

E-Mail-Adresse, an welche Fehlermeldungen bzgl. Mailinglisten geschickt werden sollen - wie z.B. unzustellbare E-Mail.

Gültige Werte: E-Mail-Adresse

Beispiel: SMTP_LIST_ERRORS='joe@foo.bar'

Die Filterfunktionen (Virus/Spam/Regex/Erweiterungen)

Das dem Mail-Paket zu Grunde liegende Programm Exim wurde durch die Zusatzkomponente Exiscan `veredelt'. Hierdurch ist es möglich die zu verarbeitenden E-Mails direkt auf eventuell vorhandene Viren zu prüfen und entsprechende Schritte einzuleiten. Für die Prüfung wird auf ebenfalls zu installierende Dritt-Software zurückgegriffen.

START_EXISCAN

Wird dieser Parameter auf `yes' gesetzt, so wird die Überprüfung auf E-Mail-Viren aktiviert. Bei gesetztem Wert `no' werden alle Folgeparameter ignoriert.

Gültige Werte: yes, no

Standardeinstellung: START_EXISCAN='no'

EXISCAN_ACTION_ON_FAILURE

Über diesen Parameter legt man fest wie eingehende Nachrichten behandelt werden sollen, wenn nicht auf einen konfigurierten Malware- oder Spam-Scanner zugegriffen werden kann.

defer
- Die E-Mail wird mit einem temporären Fehler (4xx-Fehler) abgewiesen, sodass ein entfernter E-Mail-Server nach einiger Zeit einen erneuten Zustellversuch unternimmt.

drop
- Die E-Mail wird mit einem permanenten Fehler (5xx-Fehler) abgewiesen, sodass die Nachricht an den Versender zurück geschickt wird, ohne dass ein entfernter E-Mail-Server einen erneuten Zustellversuch unternimmt.

pass
- Die E-Mail wird zugestellt auch wenn nicht auf einen konfigurierten Malware- oder Spam-Scanner zugegriffen werden kann.

Gültige Werte: defer, drop, pass

Standardeinstellung: EXISCAN_ACTION_ON_FAILURE='defer'

EXISCAN_CRYPT_SALT

Exiscan fügt eine verschlüsselte Message-ID in den Nachrichtenkopf ein, wenn diese erfolgreich geprüft wurde. Diese Message-ID dient der Erkennung von `sauberen' Nachrichten und ob diese erneut gesendet oder verzögert werden sollen. Über diesen Parameter wird nun eine zweistellige Zeichenfolge festgelegt, die bei der Generierung der Message-ID einfließt. Hierdurch wird verhindert, dass eine zuvor von einer fremden Exiscan-Implementierung markierte Nachricht, auf dem eigenen System automatisch als bereits geprüft erkannt wird. Wurde dieser Parameter nicht gesetzt, so wird er spätestens bei der Generierung einer neuen Mail-Konfiguration durch eine zufällige Zeichenkette gefüllt, damit Exiscan nicht seinen Dienst einstellt.

Gültige Werte: Zeichenkette

Beispiel: EXISCAN_CRYPT_SALT='dfgdgekrkasar'

EXISCAN_DEMIME_ENABLED

Wird dieser Parameter auf `yes' gesetzt, so werden alle MIME- und UUENCODE-Container in einer Nachricht für eine Überprüfung entpackt. Bei gesetztem Parameter `no' werden alle EXISCAN_DEMIME...-Parameter ignoriert.

Gültige Werte: yes, no

Standardeinstellung: EXISCAN_DEMIME_ENABLED='yes'

EXISCAN_DEMIME_ACTION

Über diesen Parameter wird festgelegt wie mit E-Mails verfahren wird bei denen ein falsch formatierter MIME-Container oder andere MIME-Exploits festgestellt wurden. Die folgenden Optionen sind verfügbar:

reject
- Die E-Mail wird abgewiesen und eine Fehlermeldung wird generiert. Dies führt dazu, dass Fetchmail einen wiederkehrenden Fehler generiert, weil die infizierte E-Mail nicht vom entfernten POP3-Server abgeholt werden kann.

freeze
- Die E-Mail wird zwar vom entfernten POP3-Server abgeholt, jedoch nicht dem Empfänger zugestellt. Statt dessen wird sie in der Mail-Queue als `freeze' gekennzeichnet, sodass der Mail- Administrator entsprechende Schritte einleiten kann.

discard
- Die E-Mail wird vom entfernten POP3-Server abgeholt und sofort gelöscht.

redirect <address>
- Die E-Mail wird vom entfernten POP3-Server abgeholt, jedoch wird sie nicht dem Originalempfänger zugestellt sondern an die angegebenen Adresse geschickt. Achtung: Die E-Mail-Adresse muss unbedingt eine Domain enthalten!

pass
- Die E-Mail wird vom entfernten POP3-Server abgeholt und dem Empfänger zugestellt. Zur Kennzeichnung wird im E-Mail-Nachrichtenkopf ein “X-”-Eintrag hinzugefügt.

Gültige Werte: reject, freeze, discard, redirect inkl. E-Mail-Adresse, pass

Standardeinstellung: EXISCAN_DEMIME_ACTION='reject'

EXISCAN_AV_ENABLED

Wird dieser Parameter auf `yes' gesetzt, so wird zur Überprüfung der E-Mails auf ein externes Programm zurückgegriffen. Bei gesetztem Parameter `no' werden alle EXISCAN_AV...-Parameter ignoriert.

Gültige Werte: yes, no

Standardeinstellung: EXISCAN_AV_ENABLED='no'

EXISCAN_AV_ACTION

Über diesen Parameter wird festgelegt wie mit E-Mails verfahren wird bei denen ein Virus festgestellt wurde. Die möglichen Optionen wurden ausführlich bei dem Parameter EXISCAN_DEMIME_ACTION beschrieben.

Gültige Werte: reject, freeze, discard, redirect incl. E-Mail-Adresse, pass

Standardeinstellung: EXISCAN_AV_ACTION='reject'

EXISCAN_AV_SUBJECT_TAG

Über diesen Parameter kann ein Text definiert werden welcher, bei Feststellung eines Viruses jeder Betreffzeile vorangestellt wird. Dies ist nur dann sinnvoll, wenn der Parameter EXISCAN_AV_ACTION='pass' gesetzt wurde und der Mail-Reader das Filtern übernehmen soll. Optional können der Virusname (%VN), der Hostname (%HN) und/oder ein Datumsstempel eingefügt werden. Hier werden die vom date-Befehl bekannten Parameter unterstützt, wie z.B. [%d.%m.%Y] für [14.05.2004].

Beispiel:

EXISCAN_AV_SUBJECT_TAG='*VIRUS*'
EXISCAN_AV_SUBJECT_TAG='*VIRUS [%d.%m.%Y] Name:%VN*'

EXISCAN_AV_SCANNER

Über diesen Parameter wird eingestellt welche Art Viren-Scanner verwendet wird. Zur Auswahl stehen folgende Optionen:

auto
- Automatische Konfiguration über /var/spool/exim/exiscan-av.cnf Datei

cmdline
- Standard Kommandozeilen Scanner

sophie
- sophie AV Daemon (http://www.vanja.com/tools/sophie/)

kavdaemon
- Kapersky AVP Daemon 4.x (http://www.kapersky.com)

aveserver
- Kapersky AVP Daemon 5.x (http://www.kapersky.com)

clamd
- ClamAV Scanner Daemon (http://clamav.elektrapro.com)

drweb
- DrWeb Scanner Daemon (http://www.sald.com/)

fsecure
- F-Secure Scanner Daemon (http://www.f-secure.com)

mksd
- MKS Scanner Daemon (http://linux.mks.com.pl/)

Gültige Werte: auto, cmdline, sophie, kavdaemon, aveserver, clamd, drweb, fsecure, mksd

EXISCAN_AV_PATH

Diese Option wird nur für den Kommandozeilen Scanner benötigt. Es muss der komplette Pfad und Name zum Virus Scanner Programm angegeben werden.

Gültige Werte: Pfad- und Programmname

Beispiel: EXISCAN_AV_PATH='/usr/local/bin/sweep'

EXISCAN_AV_OPTIONS

Diese Option wird nur für den Kommandozeilen Scanner benötigt. über diesen Parameter legt man die Kommandozeilenparameter fest die an den Viren-Scanner übergeben werden sollen. Achtung: Der String muss EIN '%s'-Zeichen enthalten, welches dann durch den Pfad und Dateinamen der zu prüfenden Datei ersetzt wird. Die im Beispiel angegebenen Parameter funktionieren mit Sweep.

Gültige Werte: Text inkl. `%s'-Zeichen

Beispiel: EXISCAN_AV_OPTIONS='-all -archive -ss %s'

EXISCAN_AV_TRIGGER

Diese Option wird nur für den Kommandozeilen Scanner benötigt. Die vom Viren-Scanner zurückgegebenen Meldungen werden nach dem hier angegebenen Regexp-Ausdruck durchsucht um zu erkennen wenn ein Virus gefunden wurde. Der im Beispiel angegebene Ausdruck funktionieren mit Sweep.

Gültige Werte: Text

Beispiel: EXISCAN_AV_TRIGGER='found in'

EXISCAN_AV_DESCRIPTION

Diese Option wird nur für den Kommandozeilen Scanner benötigt. Die vom Viren-Scanner zurückgegebenen Meldungen werden nach dem hier angegebenen Regexp-Ausdruck durchsucht um zu erkennen welcher Virus gefunden wurde. Der im Beispiel angegebene Ausdruck funktionieren mit Sweep. Es wird der Ausdruck zwischen zwei Hochkommata ausgewertet `(.*)' .

Gültige Werte: Text

Beispiel: EXISCAN_AV_DESCRIPTION=\'\(\.\*\)\'

EXISCAN_AV_SOCKET

Diese Option wird nur für den entsprechenden Viren-Scanner benötigt. Sophie, KavDaemon, AveServer, FSecure und ClamAV öffnen jeweils einen Unix Socket /var/run/sophie, /opt/AVP/AvpCtl, /var/run/aveserver, /var/run/.fsav bzw. /path/to/clamavsocket im Dateisystem. Es muss sichergestellt, dass ausreichende Zugriffsrechte für den Zugriff auf diesen Socket existieren und der Benutzer, unter dem die Programme ausgeführt werden, auf das Exim-Queue-Verzeichnis zugreifen kann.

Gültige Werte: Pfad- und Programmname

Beispiel:

EXISCAN_AV_SOCKET='/var/run/sophie'
EXISCAN_AV_SOCKET='/opt/AVP/AvpCtl'
EXISCAN_AV_SOCKET='/var/run/aveserve'
EXISCAN_AV_SOCKET='/var/run/.fsav'
EXISCAN_AV_SOCKET='/path/to/clamacvsocket'

EXISCAN_AV_SKIP_AUTHENTICATED

Über diesen Parameter wird festgelegt ob Nachrichten von authentifizierten Anwendern auf Malware geprüft werden sollen oder nicht.

Gültige Werte: yes, no

Standardeinstellung: EXISCAN_AV_SKIP_AUTHENTICATED='no'

EXISCAN_EXTENSION_ENABLE

Wird dieser Parameter auf `yes' gesetzt, so werden alle E-Mails nach Dateien mit bestimmten Dateierweiterungen durchsucht. Diese Dateien werden bei Windows-Betriebssystemen sehr oft für die Viren-Verbreitung genutzt. (vbs,pif,bat,exe,com etc.)

Gültige Werte: yes, no

Standardeinstellung: EXISCAN_EXTENSION_ENABLED='no'

EXISCAN_EXTENSION_ACTION

Über diesen Parameter wird festgelegt wie mit E-Mails verfahren wird bei denen die angegebenen Dateierweiterungen festgestellt wurden. Für weitere Informationen siehe hierzu auch EXISCAN_DEMIME_ACTION.

Gültige Werte: reject, freeze, discard, redirect inkl. E-Mail-Adresse, pass

Standardeinstellung: EXISCAN_EXTENSION_ACTION='reject'

EXISCAN_EXTENSION_DATA

Über diesen Parameter wird festgelegt, welchen Dateierweiterungen herausgefiltert werden sollen. Als Trennzeichen wird ein Doppelpunkt verwendet.

Gültige Werte: Text

Beispiel: EXISCAN_EXTENSION_DATA='exe:com:vbs'

EXISCAN_REGEX_ENABLED

Wird dieser Parameter auf `yes' gesetzt, so werden alle E-Mails nach einem bestimmten Regexp-Ausdruck durchsucht.

Gültige Werte: yes, no

Standardeinstellung: EXISCAN_REGEX_ENABLED='no'

EXISCAN_REGEX_ACTION

Über diesen Parameter wird festgelegt wie mit E-Mails verfahren wird bei denen der angegebene Regexp-Ausdruck gefunden wurde. Die möglichen Optionen wurden ausführlich bei dem Parameter EXISCAN_DEMIME_ACTION beschrieben.

Gültige Werte: reject, freeze, discard, redirect inkl. E-Mail-Adresse, pass

Standardeinstellung: EXISCAN_REGEXP_ACTION='reject'

EXISCAN_REGEX_DATA

Über diesen Parameter wird festgelegt, nach welchem Regexp-Ausdruck gesucht und gefiltert werden soll. Als Trennzeichen wird ein Doppelpunkt verwendet.

Gültige Werte: Text

Beispiel: EXISCAN_REGEX_DATA='%[Mm]ortage : make money'

EXISCAN_SPAMD_ENABLED

Wird dieser Parameter auf `yes' gesetzt, so wird die Anti-Spam- Unterstützung aktiviert. Voraussetzung ist eine installierte Version von SpamAssassin (http://www.spamassassin.org)

Gültige Werte: yes, no

Standardeinstellung: EXISCAN_SPAMD_ENABLED='no'

EXISCAN_SPAMD_ACTION

Über diesen Parameter wird festgelegt wie mit E-Mails verfahren wird bei denen der angegebene Spam-Wert überschritten wurde. Die möglichen Optionen wurden ausführlich bei dem Parameter EXISCAN_DEMIME_ACTION beschrieben.

Gültige Werte: reject, freeze, discard, redirect inkl. E-Mail-Adresse, pass

Standardeinstellung: EXISCAN_SPAMD_ACTION='redirect spam@domain.de'

EXISCAN_SPAMD_HEADER_STYLE

Über diesen Parameter wird festgelegt, wie viel Informationen der Spam-Daemon zum E-Mail-Nachrichtenkopf hinzufügen soll. Die folgenden Möglichkeiten stehen zur Auswahl:

none
- Es werden keine Informationen zum E-Mail-Nachrichtenkopf hinzugefügt.

single
- Es wird die X-Spam-Score-Nachrichtenkopfzeile hinzugefügt.

flag
- Es wird die X-Spam-Score-Nachrichtenkopfzeile und, wenn der Message-Score-Schwellwert überschritten wurde, die X-Spam-Flag-Nachrichtenkopfzeile hinzugefügt.

full
- Es wird die X-Spam-Score-Nachrichtenkopfzeile und, wenn der Message-Score-Schwellwert überschritten wurde, die X-Spam- Flag-Nachrichtenkopfzeile hinzugefügt. Außerdem wird über den X-Spam-Report-Nachrichtenkopfeintrag der vollständige Spam-Assassin-Report als mehrzeiliger Text hinzugefügt.

Standardeinstellung: EXISCAN_SPAMD_HEADER_STYLE='single'

EXISCAN_SPAMD_SUBJECT_TAG

Über diesen Parameter kann ein Text definiert werden welcher, bei überschreiten des Message-Score-Schwellwertes jeder Betreffzeile vorangestellt wird. Dies ist nur dann sinnvoll, wenn der Parameter EXISCAN_SPAMD_ACTION='pass' gesetzt wurde und der Mail-Reader das Filtern übernehmen soll. Optional können die Spam-Wertung (%SC), der Hostname (%HN) und/oder ein Datumsstempel eingefügt werden. Hier werden die vom date-Befehl bekannten Parameter unterstützt, wie z.B. [%d.%m.%Y] für [14.05.2004].

Beispiel:

EXISCAN_SPAMD_SUBJECT_TAG='*SPAM*'
EXISCAN_SPAMD_SUBJECT_TAG='*SPAM [%d.%m.%Y] Score:%SC*'

EXISCAN_SPAMD_THRESHOLD

Über diesen Parameter wird festgelegt ab welchem Spam-Wert eine E-Mail als Spam eingestuft wird. Der hier angegebenen Wert sollte mit Bedacht gewählt werden, da es sonst zu ungewollten Filterungen kommen kann.

Gültige Werte: Zahl

Beispiel: EXISCAN_SPAMD_THRESHOLD='5'

EXISCAN_SPAMD_ADDRESS

Über diesen Parameter werden eine oder mehrere IP-Adressen, jeweils getrennt durch einen Doppelpunkt, und gefolgt von der durch ein Leerzeichen getrennten Port-Nummer angegeben, auf denen ein spamd-Daemon läuft.

Gültige Werte: eine oder mehrere IP-Adressen und eine Portnummer

Standardeinstellung: EXISCAN_SPAMD_ADDRESS='127.0.0.1 783'

EXISCAN_SPAMD_LIMIT

Über diesen Parameter kann die maximale Größe einer Nachrichten angegeben werden, die vom Spam-Daemon geprüft werden soll. Wird dieser Parameter auf `0' gesetzt oder kein Wert angegeben, so wird die Limitüberprüfung deaktiviert. Der Limitwert kann zusätzliche eine Einheitenangabe (k-kilo oder m-mega) enthalten, z.B. 80k für 80 Kilobyte.

Gültige Werte: Zahl

Standardeinstellung: EXISCAN_SPAMD_LIMIT='0'

EXISCAN_SPAMD_SKIP_AUTHENTICATED

Über diesen Parameter wird festgelegt ob Nachrichten von authentifizierten Anwendern auf Spam geprüft werden sollen oder nicht.

Gültige Werte: yes, no

Standardeinstellung: EXISCAN_SPAMD_SKIP_AUTHENTICATED='no'

Die Zertifikatsbenachrichtigung

MAIL_CERTS_WARNING (ADVANCED-Modus)

Über diesen Parameter kann der automatisierte Versand einer Warnbenachrichtigung aktiviert werden, wenn ein TLS-Zertifikate kurz vor dem Ablauf steht. Wird der Parameter auf den Wert `no' gesetzt, so wird keine Überprüfung durchgeführt und keine Warnbenachrichtigung verschickt.

Gültige Werte: yes, no

Standardeinstellung: MAIL_CERTS_WARNING='no'

MAIL_CERTS_WARNING_SUBJECT (ADVANCED-Modus)

Über diesen Parameter wird der Text der Betreffzeile der Warnbenachrichtigung festgelegt. Optional kann der Hostname (%HN) und/oder ein Datumsstempel eingefügt werden. Es werden die vom date-Befehl bekannten Parameter unterstützt wie z.B. [%d.%m.%Y] für [14.05.2004].

Gültige Werte: Text

Standardeinstellung: MAIL_CERTS_WARNING_SUBJECT='TLS certificates warning'

MAIL_CERTS_WARNING_CRON_SCHEDULE (ADVANCED-Modus)

Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall eine Überprüfung der TLS-Zertifikate durchgeführt werden soll. Eine Vorlauf von 20 Tagen ist hierbei fest vorgegeben. Die fünf Teilparameter haben dabei folgende Bedeutung:
1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.
D.h. bei Verwendung der Standardeinstellung wird jeweils am 1. und 16. eines Monats um 01:03h eine Überprüfung durchgeführt und gegebenenfalls eine Warnbenachrichtigung verschickt. Wer Näheres über die verwendete Befehlssyntax erfahren möchte, sollte über eine Internet-Suchmaschine nach `man' und `crontab' suchen.

Gültige Werte: Crontab-spezifischer Parametereintrag

Standardeinstellung: MAIL_CERTS_WARNING_CRON_SCHEDULE='3 1 1,16 * *'

Die Queue-Benachrichtigung

MAIL_QUEUE_WARNING (ADVANCED-Modus)

Über diesen Parameter kann der automatisierte Versand einer Warnnachricht aktiviert werden, wenn die Anzahl von Nachrichten in der Exim-Warteschlange das gesetzte Limit, welches standardmäßig bei 10 Nachrichten liegt, überschreitet. Wird der Parameter auf den Wert `no' gesetzt, so wird keine Überprüfung durchgeführt und keine Warnnachricht verschickt.

Gültige Werte: yes, no

Standardeinstellung: MAIL_QUEUE_WARNING='no'

MAIL_QUEUE_WARNING_SUBJECT (ADVANCED-Modus)

Über diesen Parameter wird der Betreffzeilentext der Warnnachricht festgelegt. Optional kann der Hostname (%HN) und/oder ein Datumsstempel eingefügt werden. Es werden die vom date-Befehl bekannten Parameter unterstützt wie z.B. [%d.%m.%Y] für [14.05.2004].

Gültige Werte: Text

Standardeinstellung: MAIL_QUEUE_WARNING_SUBJECT='Mail queue limit warning'

MAIL_QUEUE_WARNING_CRON_SCHEDULE (ADVANCED-Modus)

Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall eine Überprüfung der Exim-Warteschlange durchgeführt werden soll. Die fünf Teilparameter haben dabei folgende Bedeutung:
1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.
D.h. bei Verwendung der Standardeinstellung wird jeweils 10min bzw. 40min nach einer vollen Stunde eine Überprüfung durchgeführt und gegebenenfalls eine Warnnachricht verschickt. Wer Näheres über die verwendete Befehlssyntax erfahren möchte, sollte über eine Internet-Suchmaschine nach `man' und `crontab' suchen.

Gültige Werte: Crontab-spezifischer Parametereintrag

Standardeinstellung: MAIL_QUEUE_WARNING_CRON_SCHEDULE='10,40 * * * *'

MAIL_QUEUE_WARNING_LIMIT (Optionaler Parameter)(ADVANCED-Modus)

Über diesen Parameter kann auf Wunsch der Grenzwert angepasst werden bei dessen Überschreitung eine Warnnachricht verschickt werden soll. Standardmäßig geschieht dies bei Überschreiten des Wertes `10'.

Gültige Werte: Zahl

Beispiel: MAIL_QUEUE_WARNING_LIMIT='10'

Die Statistiknachricht

MAIL_STATISTICS_INFOMAIL (ADVANCED-Modus)

Über diesen Parameter kann der automatisierte Versand einer E-Mail aktiviert werden, die statistische Informationen über den E-Mail-Server enthält. Wird der Parameter auf den Wert `no' gesetzt, so wird keine Infomail verschickt.

Gültige Werte: yes, no

Standardeinstellung: MAIL_STATISTICS_INFOMAIL='no'

MAIL_STATISTICS_INFOMAIL_SUBJECT (ADVANCED-Modus)

Über diesen Parameter wird der Text der Infomail-Betreffzeile festgelegt. Optional kann der Hostname (%HN) und/oder ein Datumsstempel eingefügt werden.i Es werden die vom date-Befehl bekannten Parameter unterstützt wie z.B. [%d.%m.%Y] für [14.05.2004]. Dieser Funktion muss zuvor über den Parameter MAIL_STATISTICS_INFOMAIL aktiviert werden.

Gültige Werte: Text

Standardeinstellung: MAIL_STATISTICS_INFOMAIL_SUBJECT='Mail server statistics'

MAIL_STATISTICS_INFOMAIL_CRON_SCHEDULE (ADVANCED-Modus)

Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall E-Mail-Server-Statistiken versandt werden sollen. Über den Parameter MAIL_STATISTICS_INFOMAIL muss diese Funktion jedoch zuvor aktiviert werden. Die fünf Teilparameter haben dabei folgende Bedeutung:
1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.
D.h. bei Verwendung der Standardeinstellung wird jeden Samstag um 23:55h eine Infomail verschickt. Wer Näheres über die verwendete Befehlssyntax erfahren möchte, sollte über eine Internet-Suchmaschine nach `man' und `crontab' suchen.

Gültige Werte: Crontab-spezifischer Parametereintrag

Standardeinstellung: MAIL_STATISTICS_INFOMAIL_CRON_SCHEDULE='55 23 * * 6'

MAIL_STATISTICS_INFOMAIL_OPTIONS (ADVANCED-Modus)

Optionaler Parameter: über diesen Parameter können individuelle Optionen für das Programm `Eximstats' festgelegt werden, um den Inhalt der Statistiknachricht zu beeinflussen.

Gültige Werte: zulässige Eximstats-Optionen

Standardeinstellung: nicht definiert

Die Logdateien

Das Mail-Paket verwendet Logdateien, um Meldungen über seinen laufenden Betrieb zu speichern. Um zu verhindern, dass diese Dateien zu groß und unübersichtlich werden, kann man einstellen wie das System mit den Dateien umgehen soll.

MAIL_LOG_COUNT

Über diesen Parameter wird eingestellt, wie viele Logdateien vorgehalten werden sollen. Wird dieser Wert überschritten, so wird die älteste Logdatei gelöscht.

Gültige Werte: Zahl

Standardeinstellung: MAIL_LOG_COUNT='10'

MAIL_LOG_INTERVAL

Dieser Parameter bestimmt in welchen Intervallen die Logdateien archiviert werden sollen. Zur Auswahl stehen die Schlüsselwörter `daily' - täglich, `weekly' - wöchentlich und `monthly - monatlich.

Gültige Werte: daily, weekly, monthly

Standardeinstellung: MAIL_LOG_INTERVALL='weekly'

Die Abwesenheitsmeldung

Über das Programm `vacation' kann man während einer längeren Abwesenheit automatisierte Antwortnachricht vom E-Mail-Server versenden lassen.

Abwesenheit beginnen

Eine Abwesenheitsperiode wird wie folgt eingeleitet:

1 Login auf dem Server mit der Benutzer-ID des Benutzers der die Abwesenheitsmeldung erstellen bzw. aktivieren möchte.

2 Starten des Programms `vacation' ohne Angabe von Parametern erstellt einen neuen Benachrichtigungstext bzw. ermöglicht das Bearbeiten eines bereits existierenden Textes. Es wird automatisch eine Datei mit dem Namen `.vacation.msg' im Home-Verzeichnis des Anwenders angelegt. Falls bereits eine `.vacation.msg' -Datei im Verzeichnis existierte wird diese in `.vacation.old' umbenannt.

Der Standardtext sieht wie folgt aus:

        Subject: away from my mail
        From:  smith (via the vacation program)
        I will not be reading my mail for a while. Your\
        mail regarding “\$SUBJECT” will be read when I return.

Die Datei sollte mindestens einen `Subject: '-Eintrag enthalten. Es sollte kein `To:'- und möglichst auch kein `From: '-Eintrag in der Datei enthalten sein, da diese automatisch generiert werden. Wenn die Variable $SUBJECT in der Datei `.vacation.msg' vorkommt, wird sie durch den Inhalt der Betreffzeile der Originalnachricht ersetzt.

Es wird keine Nachricht verschickt, wenn in den Feldern `To: ' bzw. `Cc: ' nicht die E-Mail-Adresse bzw. eine Alias-Adresse des eigentlichen Empfängers der Nachricht enthalten ist oder in dem `From'-Feld die Textfragmente `-request', `postmaster', `uucp', `mailer-daemon', `mailer' oder `-relay' gefunden werden. Weiterhin dürfen im Nachrichtenkopf die folgenden Felder nicht existieren: `Precedence: bulk', `Precedence: junk' oder `Precedence: list' Auf diese Weise werden Mail-Schleifen und Antworten an Mailinglisten vermieden.

Zusätzlich wird im Home-Verzeichnis des Anwenders eine Datei `.forward' angelegt, die folgenden Inhalt hat. Eine bereits existierende Datei wird in `.forward.old' umbenannt.

Beispiel:

        \username, \|/usr/bin/vacation username

3 Eventuell durch Aufruf des Befehls `vacation -I' die Abwesenheit beginnen, d.h. die Datei `.vacation.db' wird initialisiert und die Datei `.forward' wird angelegt. (Dies sollte beim Programmaufruf ohne Parameter eigentlich automatisiert geschehen.

Abwesenheit beenden

Eine Abwesenheitsperiode wird wie folgt beendet:

1 Login auf dem Server mit der Benutzer-ID des Benutzers der die Abwesenheitsmeldung erstellen bzw. aktivieren möchte.

2 Im Home-Verzeichnis des Anwenders die Datei `.forward' löschen oder umbenennen um die Abwesenheit zu beenden.

3 Durch Aufruf des Programms `vaclook' kann dann der Inhalt der Datei `.vacation.db' angezeigt werden, welche eine Liste aller verschickten Antwortnachrichten enthält.

Über das Programm `vaclook' kann man sich die Liste der verschickten Abwesenheitsbenachrichtigungen anzeigen lassen.

Abwesenheit - Benachrichtigungsliste anzeigen

Durch ausführen des Programms `vaclook' wird die Datei `.vacation.db' im Home-Verzeichnis des Anwenders ausgelesen und eine Liste über die verschickten Benachrichtigungen und deren Zeitstempel angezeigt.

Beispiel:

        sender@senders.domain:            Sat Nov 20 00:39:51 2002

Das Weiterleiten von E-Mail

Will ein Anwender seine eingehende Post an einen anderen Anwender weiterleiten, so muss er folgende Schritte durchführen um diese Funktion zu aktivieren:

Weiterleitung aktivieren

Eine Weiterleitung wird wie folgt aktiviert:

1 Login auf dem Server mit der Benutzer-ID des Benutzers der die Abwesenheitsmeldung erstellen bzw. aktivieren möchte.

2 Erstellen einer Datei `.forward' im Home-Verzeichnis des Anwenders. Es wird nur die E-Mail-Adresse des Anwenders eingegeben, an den die Post weitergeleitet werden soll.

Beispiel: frank@domain.de

Soll zusätzlich noch eine Kopie der eingegangenen Nachricht im eigenen Posteingang verbleiben, so stellt man dem Eintrag den eigenen Benutzernamen voran.

Beispiel:

            \tom, frank@domain.de

Weiterleitung aufheben

Eine Weiterleitung wird wie folgt aufgehoben:

1 Login auf dem Server mit der Benutzer-ID des Benutzers der die Abwesenheitsmeldung erstellen bzw. aktivieren möchte.

2 Im Home-Verzeichnis des Anwenders die Datei `.forward' löschen oder umbenennen um die Abwesenheit zu beenden.

Die Antivirus-Parameter konfigurieren

Wird zusätzlich zum mail-Paket ein Antivirus-Paket installiert welches im Verzeichnis `/var/spool/exim' eine Datei mit Namen `exiscan-av.cnf' und adäquaten Parametern ablegt, so wird beim Generieren einer neuen Konfiguration automatische die Unterstützung für die Virenprüfung (EXISCAN_AV_...) aktiviert. Kommentarzeilen müssen mit einem `#'-Zeichen beginnen. Die Datei kann hierbei z.B. folgende Parameter enthalten, die automatisch in die neue Konfiguration übernommen werden:

Gültige Parameter: AV_SCANNER, AV_SOCKET, AV_PATH, AV_OPTIONS,
AV_TRIGGER, AV_DESCRIPTION

Beispiel (Sophie):

# Sophie configuration
AV_SCANNER='sophie'
AV_SOCKET='/var/run/sophie'

Beispiel (Sophos):

# Sophos configuration
AV_SCANNER='cmdline'
AV_PATH='/usr/local/bin/sweep'
AV_OPTIONS='-all -archive -tnef %s'
AV_TRIGGER='found in'
AV_DESCRIPTION="'(.*)'"

Die Problemanalyse

Debug-Ausgaben aktivieren

Falls man bei der Fehleranalyse absolut nicht weiterkommt, kann man die Variable MAIL_DO_DEBUG='yes' zur Datei /etc/config.d/mail hinzufügen und dann mittels `/etc/init.d/mail restart' den E-Mail-Server neu starten. Um zu verhindern, dass temporäre mail-Dateien gelöscht werden kann man zusätzlich noch die Variable EXISCAN_DO_DEBUG='yes' zur Konfiguration hinzufügen, was es jedoch auch erforderlich macht eine eine neue Konfigurationsdatei zu generieren bevor man den E-Mail-Server neu startet. Fetchmail schreibt dann sehr ausführliche Debug-Einträge in die Logdatei und Exim wird als Anwendung zwecks Fehlersuche im Vordergrund gestartet. Ausführlichste Meldungen werden auf den Bildschirm geschrieben. Bei Verwendung von Putty darf nicht vergessen werden den Scrollback-Puffer groß genug zu setzen.

Debug-Ausgaben deaktivieren

Um den Debug-Modus zu beenden muss Exim mit STRG-C beendet, der Parameter MAIL_DO_DEBUG='no' gesetzt und der E-Mail-Server mittels `/etc/init.d/mail restart' neu gestartet werden.

Liste von SMTP-Fehlernummern

Im Folgenden werden einige SMTP-Fehlernummern aufgeführt, auf die man bei der Analyse der Logdateien stoßen kann.

211
- Eine Status- oder Hilfeantwort.
214
- Hilfemeldung.
220
- Der Server ist bereit.
221
- Der Server beendet die Konversation.
250
- Die angeforderte Aktion wurde abgeschlossen.
251
- Der angegebene Anwender ist kein lokaler Nutzer aber der Server wird die Nachricht weiterleiten.
354
- Dies ist eine Antwort des DATA-Befehls. Bitte mit dem Sender des Nachrichtentextes beginnen und mit '\r\n.\r\n.' abschließen.
421
- Der E-Mail-Server wird herunter gefahren. Speichern Sie die Nachricht und versuchen es später noch einmal.
450
- Die Mailbox die Sie zu erreichen versuchten ist momentan gesperrt. Warten Sie eine Weile bevor Sie es erneut versuchen.
451
- Die angeforderte Aktion wurde nicht ausgeführt. Einige Fehler sind im E-Mail-Server aufgetreten.
452
- Die angeforderte Aktion wurde nicht ausgeführt. Dem E-Mail-Server ist der Speicherplatz ausgegangen.
500
- Der letzte Befehl enthielt eine Syntaxfehler oder die Kommandozeile war zu lang.
501
- Die Parameter oder Argumente im letzten Befehl enthielten einen Syntaxfehler.
502
- Im E-Mail-Server ist der letzte Befehl nicht implementiert.
503
- Der letzte Befehl wurde in der falschen Reihenfolge gesendet. Zum Beispiel könnte der DATA- vor dem RECV-Befehl gesendet worden sein.
504
- Einer der Parameter des letzten Befehls wurde im E-Mail-Server nicht implementiert.
550
- Die Mailbox die Sie zu erreichen versuchten konnte nicht gefunden werden oder Sie besitzen keine ausreichenden Zugriffsrechte.
551
- Der angegebene Anwender ist kein lokaler Nutzer; Teile des Nachrichtentextes wird eine Weiterleitungsadresse enthalten.
552
- Der Mailbox die Sie zu erreichen versuchten ist der Speicherplatz ausgegangen. Speichern Sie die Nachricht und versuchen Sie sie morgen oder einige Tage später erneut zu senden, so erhält der Anwender die Möglichkeit einige Nachrichten zu löschen.
553
- Die E-Mail-Adresse, die Sie angegeben haben war syntaktisch nicht in Ordnung.
554
- Die Nachrichtenfunktion ist aus unbekannten Gründen fehlgeschlagen.

Verschiedenes

DynDNS-Provider

Wer seinen eisfair-Server über eine eigene dynamische Domain ans Internet anbinden möchte, findet auf https://www.eisfair.org/ ein entsprechendes Howto welches am Beispiel von `eisfair.net' die Konfigurationsschritte erklärt.

E-Mail-zu-Fax-Schnittstelle

Wird beim Generieren einer Konfiguration auf dem Server auch ein aktiviertes eisfax-Paket gefunden, so wird automatisch die E-Mail-zu-Fax-Schnittstelle aktiviert. D.h. ein Fax kann verschickt werden, wenn die Zieladresse nach folgender Regel aufgebaut wird:

faxg3/[<Modem>/]<Faxnummer>@domain.tld

Beispiel: faxg3/0221556677@domain.tld oder faxg3/fax-beruf/0221556677@domain.tld

E-Mail-Backup

Wer die E-Mail-Daten eines Anwenders sichern möchte, muss alle Dateien, die sich im Verzeichnis /home/<username>/.imapmail/ befinden und die Datei /var/spool/mail/<username> sichern.

E-Mail-Disclaimer

Ausgehende Nachrichten, welche vom eigenen SMTP-Server an fremde SMTP-Server übermittelt werden, können bei Bedarf einen vorgegebenen Disclaimer erhalten. Um diese Funktion zu aktivieren legt man im Verzeichnis /var/spool/exim/disclaimer entsprechende Dateien an. Hierbei werden die Dateien <my-domain.de>-disclaimer.txt und <my-domain.de>-disclaimer.html für Domain-spezifischer Disclaimer verwendet. Die Dateien default-disclaimer.txt und default-disclaimer.html werden standardmäßig verwendet wenn keine Domain-spezifischen Dateien existieren. Wird kein html-Disclaimer gefunden, so wird statt dessen ein vorhandener txt-Disclaimer an ausgehenden html-Nachrichten angehängt.
Um den Einstieg in das Thema zu erleichtern werden im Verzeichnis /usr/share/doc/mail/examples Beispieldateien mitgeliefert, die man nur noch an seine Bedürfnisse anpassen muss.
ACHTUNG
Es gilt zu beachten, dass durch das Anhängen von Disclaimern signierte Nachrichten unbrauchbar werden können.


E-Mail-Filter

Wer mit dem Begriff `E-Mail-Filter' automatisch das Programm `procmail' verbindet, dem sei gesagt, dass Exim von Hause aus E-Mail-Filterfunktionen mitbringt. Wer hierzu weitere Informationen sucht sollte sich auf der Exim-Homepage (http://www.exim.org/) die Dokumentation `The Exim Filter Specification - Version 4.1x' anschauen.

FAQs

Auf der Seite https://www.eisfair.org/ findet man im Menü `FAQ' einige Tipps unter der Kategorie `eisfair:Mailserver', die bei Problemen mit dem Mail-Paket weiterhelfen könnten.

Fehlender Datumsstempel

Standardmäßig wird von einem E-Mail-Klienten jeder Nachricht ein eindeutiger Datumsstempel im Nachrichtenkopf eingefügt. Sollte dies wider erwarten nicht der Fall sein (es wird als Datum im E-Mail-Klienten z.B. immer der 01.01.1970 angezeigt), so kann man durch den im Verzeichnis /usr/share/doc/mail/examples mitgelieferten Custom-Filter mit Namen `custom-systemfilter.add_date' diesen Eintrag dem Nachrichtenkopf automatisch hinzufügen lassen.
Hierzu kopiert man die Datei in das Verzeichnis /var/spool/exim und generiert eine neue Konfiguration. Der Filter wurde erfolgreich aktiviert, wenn die folgende Meldung am Bildschirm angezeigt wird:

creating system-filter file ...
adding custom system filter /var/spool/exim/custom-systemfilter.add_date ...

Fehlende Message-ID

Standardmäßig wird von einem E-Mail-Klienten jeder Nachricht eine eindeutige Message-ID zugewiesen. Sollte dies wider erwarten nicht der Fall sein, so kann man durch den im Verzeichnis /usr/share/doc/mail/examples mitgelieferten Custom-Filter mit Namen `custom-systemfilter.add_msgid' diesen Eintrag dem Nachrichtenkopf automatisch hinzufügen lassen.
Hierzu kopiert man die Datei in das Verzeichnis /var/spool/exim und generiert eine neue Konfiguration. Der Filter wurde erfolgreich aktiviert, wenn die folgende Meldung am Bildschirm angezeigt wird:

creating system-filter file ...
adding custom system filter /var/spool/exim/custom-systemfilter.add_dmsgid ...

GoogleTMOAuth2-Authentifizierung für Fetchmail einrichten

oogle plant zum 15.02.2021 den E-Mail-Abruf mittels LSA (Less Secure Access) für alle Accounts unwiderruflich abschalten, sodass auch kein E-Mail-Abruf mittels Fetchmail mehr möglich sein wird. Um weiterhin E-Mail von Google-Accounts abrufen zu können, ist es erforderlich einige Anpassungen am mail-Paket vorzunehmen, ein gepatchtes Fetchmail-Programm zu verwenden und die OAuth2-Authentifizierung für den abzurufenden Gmail-Account zu aktivieren.

Im folgenden werden die erforderlichen Schritte für die Umstellung des E-Mail-Abrufs auf die OAuth2-Authentifizierung beschrieben.

1.
Mittels eines Webbrowsers öffnet man die Google-Startseite und meldet sich mit dem Google-Account, an für welchen ein OAuth2-Zugang eingerichtet werden soll.

URL: https://www.google.com
Beispielaccount: eisfair.test@gmail.com

Abbildung: Google-Anmeldung
Image mail-fm-oauth2-01

2.
Anschließend öffnet man die Google-API-Konsole, wobei man gegebenenfalls zuvor noch den API-Cloud-Nutzungsbedingungen zustimmen muss.

URL: https://console.developers.google.com/projectselector2/apis/library?pli=1&supportedpurview=project

Abbildung: API-Konsole öffnen
Image mail-fm-oauth2-02

3.
Dann klickt man auf den Knopf `PROJEKT ERSTELLEN' um ein neues Projekt zu erstellen.

Abbildung: Projekt erstellen
Image mail-fm-oauth2-03

4.
Auf der Eingabeseite legt man einen eindeutigen Projektnamen fest, z.B. `eisfair-fetchmail-abruf-001', verwendet diesen auch für die Projekt-ID und bestätigt die Eingabe durch klicken auf `ERSTELLEN'.

Abbildung: Projektnamen festlegen
Image mail-fm-oauth2-04

5.
Sobald das Projekt erstellt wurde, was einen Moment dauern kann, wählt man `APIs & Dienste > Anmeldedaten' aus, klickt auf `ANMELDEDATEN ERSTELLEN' und wählt `Oauth-Client-ID' aus.

Abbildung: OAuth-Client-ID
Image mail-fm-oauth2-05

6.
Man folgt der Aufforderung den Zustimmungsbildschirm zu konfigurieren und klickt auf `ZUSTIMMUNGSBILDSCHIRM KONFIGURIEREN'.

Abbildung: Zustimmungsbildschirm konfigurieren
Image mail-fm-oauth2-06

7.
Der Veröffentlichungsstatus wird auf `Produktion' gesetzt, um sicher zu stellen, dass die Token nicht nach 7 Tagen ablaufen. Der User Type wird auf `Extern' gesetzt, da man üblicherweise keinen GSuite-Zugang besitzt, bevor man durch einen Klick auf `ERSTELLEN'.

Abbildung: User Type
Image mail-fm-oauth2-07

8.
Man folgt der Aufforderung und legt einen Anwendungsnamen und E-Mail-Adressen fest und klickt dann auf `SPEICHERN UND FORTFAHREN'.

Abbildung: Anwendungsnamen festlegen
Image mail-fm-oauth2-08

9.
Im Abschnitt `Bereiche' sind keine Eingaben vorzunehmen, sodass man nur auf `SPEICHERN UND FORTFAHREN' klicken muss.

10.
Im Abschnitt `Testnutzer' klickt man auf `ADD USERS' und legt den Nutzer fest, welcher zukünftig den OAuth2-API- Authentifizierungszugang nutzen können soll. D.h. man gibt hier die E-Mail-Adresse des ursprünglichen Google-Accounts an und klickt anschließend auf `HINZUFUEGEN' und `SPEICHERN UND FORTFAHREN'.

Beispielaccount: eisfair.test@gmail.com

Abbildung: Testnutzer hinzufügen
Image mail-fm-oauth2-10

11.
Im Abschnitt `Fazit' werden abschließend noch einmal alle angegebenen Daten in einer Übersicht angezeigt. So die Daten für korrekt befunden werden, wählt man nun erneut `APIs & Dienste > Anmeldedaten'. Wieder klickt man auf `ANMELDEDATEN ERSTELLEN' und wählt `OAuth-Client-ID' aus.

Als Anwendungstyp wählt man `Fernsehgeräte und Geräte mit beschränkter Eingabe' aus, legt einen OAUTH 2.0-Klientennamen fest und klickt auf `ERSTELLEN'.

Abbildung: Anwendungstyp wählen
Image mail-fm-oauth2-11

12.
Final werden nun die erstellten Oauth-Daten (Client-ID und Clientschlüssel) angezeigt, auf welche jederzeit über `Zugangsdaten > APIs & Dienste' zugegriffen werden kann. Die Client-ID sowie den Clientschlüssel sollte man sich sofort abspeichern, da diese im nächsten Schritt benötigt werden. Das Fenster schließt man durch einen Klick auf `OK'.

Abbildung: OAuth-Client-ID und Clientschlüssel
Image mail-fm-oauth2-12

13.
Nun öffnet man über `Setup > Service Administration > Mail Service > Edit configuration (advanced)' die mail- Konfiguration auf dem eisfair-Server, lässt sich mittels der F4-Taste (ECE) die optionalen Parameter einblenden und passt die Abrufeinstellungen des Gmail-Accounts mit den zuvor ermittelten OAuth2-Daten an und lässt die Konfiguration aktualisieren.

FETCHMAIL_x_AUTH_TYPE=‘oauth2‘
FETCHMAIL_x_OAUTH2_ID=‘1234…‘       (optionaler Parameter)
FETCHMAIL_x_OAUTH2_SECRET=‘abcd…‘   (optionaler Parameter)

Abbildung: eisfair-Konfiguration
Image mail-fm-oauth2-13

14.
Damit Fetchmail zukünftig eine Authentifizierung mittels OAuth2 durchführen kann, muss nun initial manuell ein Abruf der Token von Hand erfolgen. Dazu navigiert man erst einmal über das Menü zu `Setup > Service Administration > Mail Service > Goto mail tools > Setup OAuth2 mail request'.

In der Auswahl werden nun alle Accounts, für die als Authentifizierungstyp (FETCHMAIL_x_AUTH_TYPE) der Wert `oauth2' ausgewählt wurde, angezeigt. Nach Auswahl des gewünschten Accounts „eisfair.test“ und der durchzuführenden Aktion `(s)etup' bestätigt man die Ausführung des Programms.

Abbildung: eisfair-Oauth2-Setup
Image mail-fm-oauth2-14

15.
Die im vorherigen Schritt angezeigte URL (https://accounts.goolgle.com/o/oauth2/...) kopiert man aus dem Terminal-Fenster in einen Webbrowser und bestätigt noch einmal den verknüpften Gmail-Account …

Abbildung: Gmail-Konto auswählen
Image mail-fm-oauth2-15

16.
… und die Tatsache, dass Google diese App nicht überprüft hat (es gibt ja auch keine App die es zu überprüfen gilt), durch klicken auf `Weiter'. …

Abbildung: Keine App-Prüfung durch Google
Image mail-fm-oauth2-16

17.
… bestätigen die Auswahl noch einmal durch Klicken auf `Zulassen' …

Abbildung: Zugriff zulassen
Image mail-fm-oauth2-17

18.
… und einen weiteren Klick auf `Zulassen' …

Abbildung: Zugriff gewähren
Image mail-fm-oauth2-18

19.
… um den Verification-Code angezeigt zu bekommen.

Abbildung: Anmelde-Code
Image mail-fm-oauth2-19

20.
Den zuvor angezeigten Code kopiert man aus dem Webbrowser in das immer noch geöffnete Terminal-Fenster auf dem eisfair-Server, als Eingabe für den geforderten Verification Code, um den Abruf eines initialen Refresh- und Access-Tokens abzuschließen.

Abbildung: eisfair-Verification-Code
Image mail-fm-oauth2-20

Nachdem diese Schritte abgeschlossen wurden, gilt es noch sicher zu stellen, dass die Zertifikskette für den Abruf bzw. die Aktualisierung der OAuth2-Token von dem Server `apps.googleusercontent.com' korrekt verifiziert werden kann. Die erforderlichen Werkzeuge dafür finden sich wie üblich im certs-Paket.

Um zu prüfen, ob ein E-Mail-Abruf eines Google-Accounts mittels OAuth2-Authentifizierung problemlos funktioniert, sollte man einen Blick in die Fetchmail-Logdatei werfen. Diese kann man sich über den Menüpunkt `View fetchmail log file' anzeigen lassen.

HowTos

Auf der Seite https://www.eisfair.org/ findet man im Menü `HowTos' weitere Anleitungen, die bei der Konfiguration des Mail-Paketes helfen.

Individuelle Kennwortdateien (ADVANCED-Modus)

Wurde in der Konfiguration MAIL_USER_USE_MAILONLY_PASSWORDS='yes' gesetzt, so mussten sich bisher alle Kennwörter ebenfalls in der Konfigurationsdatei befinden. Dies bedeutete für den Administrator einen erhöhten Konfigurationsaufwand und er müsste das Kennwort eines jeden Anwenders kennen. Auch war die individuelle Änderung des Kennwortes durch den Anwender nicht möglich. Legt man nun jedoch im Home-Verzeichnis eines Anwenders eine Datei mit Namen '.mailpasswd' an, die aus einer Zeile besteht in der sich das individuelle mail-Kennwort eines Benutzers befindet, so kann der Administrator durch Aufruf des folgenden Befehls dieses Kennwort automatisch auslesen und die zentrale Kennwortdatei aktualisieren: /var/install/config.d/mail.sh updatemailpw

IMAP-Ordner und Verzeichnisse

Bei der Verwendung von Panda-IMAP, im Gegensatz zum Dovecot-IMAP, ist zu beachten, dass ein mail-Ordner niemals ein Unterverzeichnis enthalten kann. Es erfolgt eine strikte Trennung zwischen IMAP-Ordnern und -Verzeichnissen.

Beispiel:

+- Archiv -+- (2002)
|          +- (2003)
|
+- Sonstiges -+- Provider -+- (Provider-1)
              |            +- (Provider-2)
              +- (Kino)
E-Mail können nur die in Klammern gesetzten Ordner enthalten.

Open-Relay-Test

Karsten Voigt machte mich darauf aufmerksam, dass man seinen E-Mail-Server durch Aufruf von `telnet relay-test.mail-abuse.org' dahingehend überprüfen kann, ob er unerlaubtes Relaying verhindert. Für die korrekte Funktionalität wird keine Garantie übernommen und die Verwendung der Funktion geschieht auf eigene Gefahr ; -)

RPA-Protokoll

Das CompuServe-RPA-Protokoll wird nur zur Authentifizierung benutzt, wodurch es nicht über die Parameter FETCHMAIL_x_PROTOCOL konfiguriert werden kann. Um es zu aktivieren, muss der über den Parameter FETCHMAIL_x_SERVER definierte Servername auf `.csi.com' enden und der über FETCHMAIL_x_USER definierte Benutzername die Domain `@compuserve.com' enthalten.

Beispiel:

FETCHMAIL_1_USER='frank@comuserve.com'
FETCHMAIL_1_SERVER='pop.site1.csi.com'
FETCHMAIL_1_PROTOCOL='pop3'

Send-Only-Konfiguration

Wer das mail-Paket nur dazu verwenden will um die lokalen Systemnachrichten über einen anderen E-Mail-Server versenden zu lassen, ohne eigene Mail-Dienste konfigurieren zu müssen, findet ein entsprechendes Howto auf https://www.eisfair.org/.

SMTP-nach-POP

Wer den SMTP-Server seines Providers nur verwenden kann, wenn er zuvor sein Postfach abgefragt hat (SMTP-after-POP) kann dies mit Hilfe eines Shell-Skriptes und eines Cronjobs erledigen. Ein Beispielskript findet sich unter /usr/share/doc/mail/examples und heißt `exim-smtp-after-pop'. Vor der Verwendung diese Scripts sollte auf jeden Fall geprüft werden, ob der Provider nicht doch schon SMTP-Auth unterstützt, da diese Art der Authentifizierung mit den Standardoptionen realisierbar ist.

Spam-Nachrichten automatisch löschen

Sollen Nachrichten, deren Spam-Klassifizierung >= 10 ist, automatisch gelöscht werden, so kopiert man den im Verzeichnis /usr/share/doc/mail/examples mitgelieferten Custom-Filter mit Namen `custom-systemfilter.rm_spam_mail' in das Verzeichnis /var/spool/exim und generiert eine neue Konfiguration. Der Filter wurde erfolgreich aktiviert, wenn die folgende Meldung am Bildschirm angezeigt wird:

creating system-filter file ...
adding custom system filter /var/spool/exim/custom-systemfilter.rm_spam_mail ...

Virus-Benachrichtigung

Wer automatisch den Empfänger und/oder den Absender einer Nachricht darüber informieren möchte, dass die an ihn gerichtete bzw. von ihm verschickte Nachricht einen Virus enthalten hat, sollte sich die im Verzeichnis /usr/share/doc/mail/examples abgelegte Filterdatei `exim-virus-notification' anschauen und an seine Verhältnisse anpassen. Für weitere Informationen bitte die Exim-Filterspezifikation lesen.