# HG changeset patch # User Heiko Schlittermann (JUMPER) # Date 1420843682 -3600 # Node ID b9483cdf9b7722ec5408b51f87844aa6810102a6 # Parent 4b1d1941232936edc503997ec88aa252ac4e6bd3 [snapshot] diff -r 4b1d19412329 -r b9483cdf9b77 config.txt --- a/config.txt Sun Jan 04 23:58:22 2015 +0100 +++ b/config.txt Fri Jan 09 23:48:02 2015 +0100 @@ -10,7 +10,7 @@ Syntaktische Korrektheit allein ist jedoch nicht ausreichend. Fehler können auch später, z.B. durch durch <>, auftreten. -Für eine einfach Überprüfung der Konfiguration eignen sich die Kommandos +Für eine einfache Überprüfung der Konfiguration eignen sich die Kommandos zum Routing-Test: > exim -bt @@ -57,22 +57,22 @@ Es gelten folgende einfache Regeln beim Lesen der Konfiguration: -.Whitespace +Whitespace:: Leer- und Tabulatorzeichen am Zeilenanfang und -ende werden ignoriert. -.Kommentare +Kommentare:: Zeilen, die mit `#` beginnen, werden ignoriert. Wird an anderen Stellen ein `#` verwendet, hat dieses Zeichen *nicht* die Bedeutung eines Kommentarzeichens. -.Fortsetzungszeilen +Fortsetzungszeilen:: Zeilen, die mit einem `\` enden, werden durch die Folgezeile fortgesetzt, der Zeilenumbruch wird dabei entfernt. -.Macrodefinitionen +Macrodefinitionen:: // spec:6.4 Makros werden häufig verwendet, um sehr lange Konfigurationsausdrücke zu -vereinfachen. Makros ermöglichen eine einfach Textersetzung beim +vereinfachen. Makros ermöglichen eine einfache Textersetzung beim *Einlesen* der Konfiguration: ---- @@ -85,7 +85,7 @@ Macros können auf der Kommandozeile mit `-DFOO=foobar` gesetzt bzw. überschrieben werden. -.Einbettung weiterer Files +Einbettung weiterer Files:: In das Hauptkonfigurations-File können weitere Dateien eingebettet werden: @@ -95,7 +95,7 @@ Eine bedingte Einbettung ist mit `.include_if_exists` möglich. -.Bedingtes Einlesen +Bedingtes Einlesen:: // spec:6.9 In Abhängigkeit von definierten Macros können Teile der Konfigurationsdatei überprungen werden: @@ -136,4 +136,71 @@ Konfiguration der Authentifizierungsparameter als Client und als Server +.Konfigurationsblöcke +Einige der Konfigurationsabschnitte bestehen aus Blöcken. Diese Blöcke +stellen Instanzen von Routern, Transports, ACL oder Authenticators dar. +Der Name der Instanz ist frei wählbar. + +---- +smarthost: <1> + driver = manualroute <2> + route_list = * relay.site <2> +---- +<1> Name des Blocks +<2> blockspezifische Optionen + +[[config.elements]] +=== Elemente der Konfigurationsdatei === + +Einzelne Konfigurationseinträge bestehen aus einer Option +und dem Wert für die entsprechende Option. Die Optionen sind +entweder statische Namen oder Listen, deren Name frei wählbar ist: + +---- +primary_hostname = foo.bar +domainlist foo = example.org : example.com +---- + +Die Liste der möglichen Optionen wird von immer länger. Die aktuelle +Exim-Version kennt allein für den globalen Teil der Konfiguration knapp +300 Optionen. Alle Optionen sind mit sinnvollen Standardwerten +vorbelegt. + +Konfigurationsoptionen implizieren einen bestimmten Typ für ihren Wert. +Das ist vergleichbar mit Datentypen von Programmiersprachen. Bei einigen +dieser Optionen wird der Wert direkt eingetragen, bei anderen Optionen +ergibt sich der Wert zur Laufzeit durch <> +eines Ausdrucks. + +.Boolsche Werte +Der einfachste Typ ist der Typ *bool*, „Schalter“-Optionen. +Es gibt zwei Notationen für diese Optionen. + +Ohne Zuweisung:: + Der Name der Option steht für die aktivierte Option. Wird der Prefix + `no_` oder `not_` verwendet, ist die Option deaktiviert. + +Mit Zuweisung:: + Die Werte 'yes', 'no', 'true' oder 'false' aktivieren bzw. + deaktivieren die Option. + +.Aktivierung +==== + queue_only + queue_only = yes + queue_only = true +==== + +.Deativierung +==== + no_queue_only + queue_only = no + queue_only = false +==== + + + +[[config.expansion]] +=== Expansion von Werten === + // vim:ft=asciidoc diff -r 4b1d19412329 -r b9483cdf9b77 exim.txt --- a/exim.txt Sun Jan 04 23:58:22 2015 +0100 +++ b/exim.txt Fri Jan 09 23:48:02 2015 +0100 @@ -48,20 +48,68 @@ Folgende Konventionen werden im folgenden verwendet: +// kursiv 'exim.conf':: - verwenden wir für Pfad- und Dateinamen. + verwende ich für Pfad- und Dateinamen. +// fixed `ls -l`:: - verwenden wir für Kommandos und sonstige Konfigurationsoptionen. + verwende ich für Kommandos und sonstige Konfigurationsoptionen. -*router*:: - verwenden wir für Namen von Exim-Routern, -Transports und -Authenticators +// bold +*dnslookup*:: + verwende ich für Namen von Exim-Routern, -Transports und -Authenticators + + +// italic +_primary_hostname_:: + verwende ich für Namen von Konfigurations-Optionen Beispiele:: werden so dargestellt: > exim -bV +.Example +==== +Das ist ein *Beispiel*. +Und es bricht nicht um. +Aber ich kann es jetzt + +umbrechen. +==== + +.Listing +---- +Das ist ein *Listing*. <1> +Und es bricht nicht um. <2> +---- +<1> Dafür können wir markieren. +<2> Super + +. + +.so +---- +primary_hostname = foo.bar +domainlist foo = example.org : example.com +---- + +.oder so? +==== +primary_hostname = 'name' + +domainlist 'foo' = 'domain' : 'domain' +==== + +Oder auch + + durch Einrücken. Wird + dann aber auch fest *umgebrochen* + +Und wir haben noch andere Blöcke:: +Was machen die? Mal sehen. + + + include::operation.txt[] include::config.txt[] include::appendix.txt[]