8 |
8 |
9 > exim -bV |
9 > exim -bV |
10 |
10 |
11 Syntaktische Korrektheit allein ist jedoch nicht ausreichend. Fehler |
11 Syntaktische Korrektheit allein ist jedoch nicht ausreichend. Fehler |
12 können auch später, z.B. durch durch <<config.expansion,Text-Expansion>>, auftreten. |
12 können auch später, z.B. durch durch <<config.expansion,Text-Expansion>>, auftreten. |
13 Für eine einfach Überprüfung der Konfiguration eignen sich die Kommandos |
13 Für eine einfache Überprüfung der Konfiguration eignen sich die Kommandos |
14 zum Routing-Test: |
14 zum Routing-Test: |
15 |
15 |
16 > exim -bt <Adresse> |
16 > exim -bt <Adresse> |
17 |
17 |
18 == Konfigurationsdatei |
18 == Konfigurationsdatei |
55 aber sehr brauchbar. Z.B: `exim -C /dev/null -bP primary_hostname`, um |
55 aber sehr brauchbar. Z.B: `exim -C /dev/null -bP primary_hostname`, um |
56 Exims Vorstellung über den aktuellen Hostnamen zu überprüfen. |
56 Exims Vorstellung über den aktuellen Hostnamen zu überprüfen. |
57 |
57 |
58 Es gelten folgende einfache Regeln beim Lesen der Konfiguration: |
58 Es gelten folgende einfache Regeln beim Lesen der Konfiguration: |
59 |
59 |
60 .Whitespace |
60 Whitespace:: |
61 Leer- und Tabulatorzeichen am Zeilenanfang und -ende werden ignoriert. |
61 Leer- und Tabulatorzeichen am Zeilenanfang und -ende werden ignoriert. |
62 |
62 |
63 .Kommentare |
63 Kommentare:: |
64 Zeilen, die mit `#` beginnen, werden ignoriert. Wird an anderen Stellen |
64 Zeilen, die mit `#` beginnen, werden ignoriert. Wird an anderen Stellen |
65 ein `#` verwendet, hat dieses Zeichen *nicht* die Bedeutung eines |
65 ein `#` verwendet, hat dieses Zeichen *nicht* die Bedeutung eines |
66 Kommentarzeichens. |
66 Kommentarzeichens. |
67 |
67 |
68 .Fortsetzungszeilen |
68 Fortsetzungszeilen:: |
69 Zeilen, die mit einem `\` enden, werden durch die Folgezeile fortgesetzt, |
69 Zeilen, die mit einem `\` enden, werden durch die Folgezeile fortgesetzt, |
70 der Zeilenumbruch wird dabei entfernt. |
70 der Zeilenumbruch wird dabei entfernt. |
71 |
71 |
72 .Macrodefinitionen |
72 Macrodefinitionen:: |
73 // spec:6.4 |
73 // spec:6.4 |
74 Makros werden häufig verwendet, um sehr lange Konfigurationsausdrücke zu |
74 Makros werden häufig verwendet, um sehr lange Konfigurationsausdrücke zu |
75 vereinfachen. Makros ermöglichen eine einfach Textersetzung beim |
75 vereinfachen. Makros ermöglichen eine einfache Textersetzung beim |
76 *Einlesen* der Konfiguration: |
76 *Einlesen* der Konfiguration: |
77 |
77 |
78 ---- |
78 ---- |
79 FOO = foo <1> |
79 FOO = foo <1> |
80 FOO == bar <2> |
80 FOO == bar <2> |
83 <2> Neu-Definition des Macros |
83 <2> Neu-Definition des Macros |
84 |
84 |
85 Macros können auf der Kommandozeile mit `-DFOO=foobar` gesetzt bzw. |
85 Macros können auf der Kommandozeile mit `-DFOO=foobar` gesetzt bzw. |
86 überschrieben werden. |
86 überschrieben werden. |
87 |
87 |
88 .Einbettung weiterer Files |
88 Einbettung weiterer Files:: |
89 In das Hauptkonfigurations-File können weitere Dateien eingebettet |
89 In das Hauptkonfigurations-File können weitere Dateien eingebettet |
90 werden: |
90 werden: |
91 |
91 |
92 ---- |
92 ---- |
93 .include other/file |
93 .include other/file |
94 ---- |
94 ---- |
95 |
95 |
96 Eine bedingte Einbettung ist mit `.include_if_exists` möglich. |
96 Eine bedingte Einbettung ist mit `.include_if_exists` möglich. |
97 |
97 |
98 .Bedingtes Einlesen |
98 Bedingtes Einlesen:: |
99 // spec:6.9 |
99 // spec:6.9 |
100 In Abhängigkeit von definierten Macros können Teile der |
100 In Abhängigkeit von definierten Macros können Teile der |
101 Konfigurationsdatei überprungen werden: |
101 Konfigurationsdatei überprungen werden: |
102 |
102 |
103 ---- |
103 ---- |
134 |
134 |
135 authentication:: |
135 authentication:: |
136 Konfiguration der Authentifizierungsparameter als Client und als |
136 Konfiguration der Authentifizierungsparameter als Client und als |
137 Server |
137 Server |
138 |
138 |
|
139 .Konfigurationsblöcke |
|
140 Einige der Konfigurationsabschnitte bestehen aus Blöcken. Diese Blöcke |
|
141 stellen Instanzen von Routern, Transports, ACL oder Authenticators dar. |
|
142 Der Name der Instanz ist frei wählbar. |
|
143 |
|
144 ---- |
|
145 smarthost: <1> |
|
146 driver = manualroute <2> |
|
147 route_list = * relay.site <2> |
|
148 ---- |
|
149 <1> Name des Blocks |
|
150 <2> blockspezifische Optionen |
|
151 |
|
152 [[config.elements]] |
|
153 === Elemente der Konfigurationsdatei === |
|
154 |
|
155 Einzelne Konfigurationseinträge bestehen aus einer Option |
|
156 und dem Wert für die entsprechende Option. Die Optionen sind |
|
157 entweder statische Namen oder Listen, deren Name frei wählbar ist: |
|
158 |
|
159 ---- |
|
160 primary_hostname = foo.bar |
|
161 domainlist foo = example.org : example.com |
|
162 ---- |
|
163 |
|
164 Die Liste der möglichen Optionen wird von immer länger. Die aktuelle |
|
165 Exim-Version kennt allein für den globalen Teil der Konfiguration knapp |
|
166 300 Optionen. Alle Optionen sind mit sinnvollen Standardwerten |
|
167 vorbelegt. |
|
168 |
|
169 Konfigurationsoptionen implizieren einen bestimmten Typ für ihren Wert. |
|
170 Das ist vergleichbar mit Datentypen von Programmiersprachen. Bei einigen |
|
171 dieser Optionen wird der Wert direkt eingetragen, bei anderen Optionen |
|
172 ergibt sich der Wert zur Laufzeit durch <<config.expansion,Expansion>> |
|
173 eines Ausdrucks. |
|
174 |
|
175 .Boolsche Werte |
|
176 Der einfachste Typ ist der Typ *bool*, „Schalter“-Optionen. |
|
177 Es gibt zwei Notationen für diese Optionen. |
|
178 |
|
179 Ohne Zuweisung:: |
|
180 Der Name der Option steht für die aktivierte Option. Wird der Prefix |
|
181 `no_` oder `not_` verwendet, ist die Option deaktiviert. |
|
182 |
|
183 Mit Zuweisung:: |
|
184 Die Werte 'yes', 'no', 'true' oder 'false' aktivieren bzw. |
|
185 deaktivieren die Option. |
|
186 |
|
187 .Aktivierung |
|
188 ==== |
|
189 queue_only |
|
190 queue_only = yes |
|
191 queue_only = true |
|
192 ==== |
|
193 |
|
194 .Deativierung |
|
195 ==== |
|
196 no_queue_only |
|
197 queue_only = no |
|
198 queue_only = false |
|
199 ==== |
|
200 |
|
201 |
|
202 |
|
203 [[config.expansion]] |
|
204 === Expansion von Werten === |
|
205 |
139 // vim:ft=asciidoc |
206 // vim:ft=asciidoc |