15 und kein Wegleiter. |
15 und kein Wegleiter. |
16 |
16 |
17 == Typografische Konventionen |
17 == Typografische Konventionen |
18 |
18 |
19 |
19 |
20 //// |
|
21 _italic_:: |
|
22 Namen von Dateien, Programmen, Hosts, Domains, Mail-Header, URLS: _example.com_, _From:_ |
|
23 o:fixed:: |
|
24 Kommandos, Code-Beispiele, Exim-Konfigurations-Optionen: o:primary_hostname |
|
25 *+fixed bold+*:: |
|
26 Hervorhebung von Kommandos, Nutzereingaben: *+exim -bV+* |
|
27 //// |
|
28 |
|
29 d:bold:: |
20 d:bold:: |
30 Exim Treibernamen im Text: Der driver:dnslookup Router |
21 Exim Treibernamen im Text: Der driver:dnslookup Router |
31 |
22 |
32 o:fixed:: |
23 o:fixed:: |
33 Exim Konfigurationoptionen im Text: o:primary_hostname |
24 Exim Konfigurationoptionen im Text: o:primary_hostname |
41 |
32 |
42 Wir unterscheiden zwei Typen von Konfigurationsfiles, die |
33 Wir unterscheiden zwei Typen von Konfigurationsfiles, die |
43 <<editme,Build Konfiguration>> und die <<runtime,Runtime Konfiguration>>. |
34 <<editme,Build Konfiguration>> und die <<runtime,Runtime Konfiguration>>. |
44 |
35 |
45 [[editme]] |
36 [[editme]] |
46 == Build-Konfiguration _EDITME_ |
37 === Build-Konfiguration _EDITME_ |
47 |
38 |
48 * Maintainer pflegt die _EDITME_ |
39 * Maintainer pflegt die _EDITME_ |
49 * Je nach Distro unterschiedliche Konfigurationen, teilweise sogar |
40 * Je nach Distro unterschiedliche Konfigurationen, teilweise sogar |
50 mehrere, wie 'fat', 'light', 'heavy'. |
41 mehrere, wie 'fat', 'light', 'heavy'. |
51 |
42 * Wesentliche Daten der Features aus der Build-Konfiguration: |
52 $ exim -bV |
43 |
53 |
44 exim -bV |
54 listet wesentliche in der Buildkonfiguration gewählte Features auf. |
|
55 |
45 |
56 [[runtime]] |
46 [[runtime]] |
57 === Runtime-Konfiguration _exim.conf_ |
47 === Runtime-Konfiguration _exim.conf_ |
58 |
48 |
59 * Der Name der Runtime-Konfiguration wird in der Build-Konfiguration gestgelegt. |
49 * Der Name der Runtime-Konfiguration wird in der Build-Konfiguration gestgelegt. |
60 * Es ist auch eine Liste von Konfigurationsfiles möglich, der erste Treffer gewinnt. |
50 * Es ist auch eine Liste von Konfigurationsfiles möglich, der erste Treffer gewinnt. |
61 |
51 |
62 Das verwendete File läßt sich ermitteln mit: |
52 Das verwendete File läßt sich ermitteln mit: |
63 |
53 |
64 $ exim -bP configure_file |
54 exim -bP configure_file |
65 |
55 |
66 Das aktive Konfigurationsfile kann auch auf der Kommandozeile festgelegt |
56 Das aktive Konfigurationsfile kann auch auf der Kommandozeile festgelegt |
67 werden. Für einige Operationen muss der Pfad ein absoluter sein. Auch |
57 werden. Für einige Operationen muss der Pfad ein absoluter sein. Auch |
68 _/dev/null_ ist eine gültige Konfiguration. |
58 _/dev/null_ ist eine gültige Konfiguration. |
69 |
59 |
77 |
67 |
78 CAUTION: Inhalt der Datei _exim.conf_ |
68 CAUTION: Inhalt der Datei _exim.conf_ |
79 und eventuell über o:.include eingelesener Files |
69 und eventuell über o:.include eingelesener Files |
80 ist statisch. Dynamisch sind dann Expansionen, Lookups. |
70 ist statisch. Dynamisch sind dann Expansionen, Lookups. |
81 |
71 |
82 === Syntax |
72 == Aufbau der Runtime-Konfiguration _exim.conf_ |
83 |
|
84 Der Parser der Konfigurationsdatei ist ziemlich einfach. |
|
85 |
|
86 . Kommentarzeilen werden entfernt |
|
87 . Führende und anhängige Leerzeichen werden entfernt |
|
88 . Forsetzungszeilen („\“ am Zeilenende) werden zusammengefasst |
|
89 . einfache Syntax-Checks |
|
90 |
73 |
91 Die Konfiguration besteht aus mehreren Abschnitten. Nicht alle Abschnitte |
74 Die Konfiguration besteht aus mehreren Abschnitten. Nicht alle Abschnitte |
92 sind identisch aufgebaut. |
75 sind identisch aufgebaut. |
93 |
76 |
94 Globale Optionen:: |
77 Globale Optionen:: |
106 Retry:: |
89 Retry:: |
107 Regeln für Wiederholungsversuche bei der Zustellung |
90 Regeln für Wiederholungsversuche bei der Zustellung |
108 Authentifizierung:: |
91 Authentifizierung:: |
109 Parameter für die SMTP-Authentifizierung (sowohl Client als auch Server) |
92 Parameter für die SMTP-Authentifizierung (sowohl Client als auch Server) |
110 |
93 |
111 == Syntax der Konfiguration |
94 == Syntax der Runtime-Konfiguration _exim.conf_ |
|
95 |
|
96 . Führende und anhängige Leerzeichen werden entfernt |
|
97 . Kommentarzeilen werden entfernt |
|
98 . Forsetzungszeilen („\“ am Zeilenende) werden zusammengefasst |
|
99 . Macros werden ersetzt |
112 |
100 |
113 === Kommentare |
101 === Kommentare |
114 |
102 |
115 * Alle Zeilen, die mit einem „#“ beginnen (nach optionalem Whitespace), sind Kommentarzeilen. |
103 * Alle Zeilen, die mit einem „#“ beginnen (nach optionalem Whitespace), sind Kommentarzeilen. |
116 * An anderen Stellen der Konfiguration hat das „#“-Zeichen keine besondere Bedeutung. |
104 * An anderen Stellen der Konfiguration hat das „#“-Zeichen keine besondere Bedeutung. |
117 |
105 |
118 === Macros |
106 === Macros |
119 |
107 |
120 * Macros werden generell groß geschrieben. |
108 * Macros werden generell groß geschrieben. |
121 * Macros sind ein einfache statischer Textersetzungsmechanismus (im Sinne |
109 * Macros sind ein einfache statischer Textersetzungsmechanismus (im Sinne |
122 * globaler „Konstanten“) und für das |
110 globaler „Konstanten“) und für das |
123 bedingte Parsen von Konfigurationsteilen. |
111 bedingte Parsen von Konfigurationsteilen. |
124 * Macros können in der Konfiguration definiert werden, aber |
112 * Macros können in der Konfiguration definiert werden, aber |
125 auch auf der Kommandozeile. (Auf der Kommandozeile gibt es jedoch wegen eventueller Sicherheitsimplikationen |
113 auch auf der Kommandozeile. (Auf der Kommandozeile gibt es jedoch wegen eventueller Sicherheitsimplikationen |
126 einige Besonderheiten zu beachten.) |
114 einige Besonderheiten zu beachten.) |
127 |
115 |
140 |
128 |
141 Und beim Aufruf: |
129 Und beim Aufruf: |
142 |
130 |
143 exim -DTESTING -DTRANSPORT=foo … |
131 exim -DTESTING -DTRANSPORT=foo … |
144 |
132 |
145 Macros können neu definiert werden („==“ statt „=“). Macros von der Kommandozeile haben Vorrang. |
133 * Macros können neu definiert werden („==“ statt „=“). |
|
134 * Macros von der Kommandozeile haben Vorrang. |
146 |
135 |
147 === Optionen |
136 === Optionen |
148 |
137 |
149 * Optionen werden generell klein geschrieben. |
138 * Optionen werden generell klein geschrieben. |
150 * Es gibt ca. 250 globale Optionen, hinzu kommen noch weitere Optionen für Router, |
139 * Es gibt ca. 250 globale Optionen, hinzu kommen noch weitere Optionen für Router, |
151 Transports, Authenticators, usw. |
140 Transports, Authenticators, usw. |
152 * Optionen haben einen bestimmten <<types,Datentyp>>. |
141 * Optionen haben einen Werte von bestimmten <<types,Datentypen>>. |
153 |
142 |
154 .Beispiel |
143 .Beispiel |
155 primary_hostname = foo.example.com |
144 primary_hostname = foo.example.com |
156 |
145 |
157 === Listen |
146 === Listen |
169 Hosts oder IP-Adressen, z.B. für vertrauenswürdige Absender-Netze |
158 Hosts oder IP-Adressen, z.B. für vertrauenswürdige Absender-Netze |
170 |
159 |
171 hostlist trusted_hosts = 192.168.0.0/24 : 127.0.0.1 |
160 hostlist trusted_hosts = 192.168.0.0/24 : 127.0.0.1 |
172 |
161 |
173 Mail-Adressen:: |
162 Mail-Adressen:: |
174 Mailadressen |
163 Mail-Adressen von Absender oder Empfänger |
175 |
164 |
176 addresslist blocked_senders = ad@bestholiday.de : *@mailgun.com |
165 addresslist blocked_senders = ad@bestholiday.de : *@mailgun.com |
177 |
166 |
178 Local Parts:: |
167 Local Parts:: |
179 Local Parts von Mail-Adressen, z.B. von ACL-Checks ausgenommene lokale Empfänger |
168 Local Parts von Mail-Adressen |
180 |
169 |
181 localpartlist rfc = postmaster : abuse |
170 localpartlist rfc = postmaster : abuse |
182 |
171 |
183 Listen-Lookups werden nur gecacht, wenn die Liste keine Expansions-Items entält |
172 Listen-Lookups werden nur gecacht, wenn die Liste keine Expansions-Items entält |
184 (also kein '$'). Um ein Caching zu erwzingen, kann dem Listentyp ein |
173 (also kein '$'). Um ein Caching zu erwzingen, kann dem Listentyp ein |
188 domainlist_cache local_domain = ${lookup …} |
177 domainlist_cache local_domain = ${lookup …} |
189 |
178 |
190 .Beispiel Debugging |
179 .Beispiel Debugging |
191 exim -bP +local_domains |
180 exim -bP +local_domains |
192 |
181 |
193 === Instanzen von Routern, Transports, Authentificators |
182 === Instanzen von Routern, Transports, Authenticators |
194 |
183 |
195 * Router, Transports und Authenificators werden in einzelnen „Funktionsblöcken“ definiert. |
184 * Router, Transports und Authenticators werden in einzelnen „Funktionsblöcken“ definiert. |
196 * Diese Blöcke haben selbstgewählte Namen und eine Liste von |
185 * Diese Blöcke haben selbstgewählte Namen, einen Treiber, der das generelle |
197 Optionen, die das Verhalten des jeweiligen Routers, Transports oder |
186 Verhalten des Blocks festlegt und Optionen, |
198 Authenticators bestimmen. |
187 die das Verhalten des jeweiligen Routers, Transports oder |
|
188 Authenticators weiter bestimmen. |
|
189 * _Generische_ Optionen gelten für alle Router, Transports |
|
190 * Jeder Treiber hat zusätzlich spezifische Optionen |
199 |
191 |
200 .Beispiel |
192 .Beispiel |
201 begin transports |
193 begin transports |
202 … |
194 … |
203 remote_smtp: |
195 remote_smtp: |
209 Diese Teile der Konfiguration haben ihre jeweils eigene Syntax. |
201 Diese Teile der Konfiguration haben ihre jeweils eigene Syntax. |
210 |
202 |
211 [[types]] |
203 [[types]] |
212 == Werte und ihre Typen |
204 == Werte und ihre Typen |
213 |
205 |
214 ALle Optionen der Konfigurationsdatei haben einen spezifischen Daten-Typ. |
206 Alle Optionen der Konfigurationsdatei haben einen spezifischen Daten-Typ. |
215 |
207 |
216 * _bool_, _integer_, _fixed-point_, _time_ und _string_ |
208 * _bool_, _integer_, _fixed-point_, _time_ und _string_ |
217 * Listen sind immer String-Listen |
209 * Listen sind immer String-Listen |
218 * Werte, die der Expansion unterliegen, sind immer vom Typ _string_ |
210 * Werte, die der späteren Expansion unterliegen, sind immer vom Typ _string_ |
219 |
211 |
220 |
212 |
221 === Bool |
213 === Bool |
222 |
214 |
223 Werte vom Typ _bool_ sind einfache Schalter. |
215 Werte vom Typ _bool_ sind einfache Schalter. |
224 |
216 |
225 .Format |
217 .Format |
226 <option> = true|yes |
218 ... = true|yes|false|no |
227 <option> = false|no |
|
228 <option> |
219 <option> |
229 no_<option> |
220 no_<option> |
230 not_<option> |
221 not_<option> |
231 |
222 |
232 .Beispiel |
223 .Beispiel |
239 |
230 |
240 Zahlen. Ganze Zahlen. |
231 Zahlen. Ganze Zahlen. |
241 |
232 |
242 .Format |
233 .Format |
243 … = <digits>[<suffix>] |
234 … = <digits>[<suffix>] |
244 = 0<oct digts>[<suffix>] |
235 … = 0<oct digts>[<suffix>] |
245 = 0x<hex digts>[<suffix>] |
236 … = 0x<hex digts>[<suffix>] |
246 |
237 |
247 Erlaubte Suffixe sind 'K' (2^10^) und 'M' (2^20^). |
238 Erlaubte Suffixe sind 'K' (2^10^) und 'M' (2^20^). |
248 |
239 |
249 .Beipiel |
240 .Beipiel |
250 check_spool_space = 10M |
241 check_spool_space = 10M |
251 |
242 |
252 === Fixed-Point |
243 === Festkomma-Zahlen |
253 |
244 |
254 Fixkomma-Zahlen, maximal 3 Nachkommastellen |
245 Festkomma-Zahlen, maximal 3 Nachkommastellen |
255 |
246 |
256 .Format |
247 .Format |
257 … = <digits>[.<max 3 digits>] |
248 … = <digits>[.<max 3 digits>] |
258 |
249 |
259 Diese Werte erlauben *keine* Einheitensuffixe. |
250 Diese Werte erlauben *keine* Einheitensuffixe. |
272 zweifelsfrei in Sekunden umrechnen lassen. |
263 zweifelsfrei in Sekunden umrechnen lassen. |
273 |
264 |
274 .Beispiel |
265 .Beispiel |
275 auto_thaw = 3d12h |
266 auto_thaw = 3d12h |
276 |
267 |
277 CAUTION: Bei der Ausgabe von Intervall-Optionen werden die Zeiten normalisiert. |
|
278 |
|
279 === Zeichenketten |
268 === Zeichenketten |
280 |
269 |
281 * Zeichenketten gibt es in zwei Formen: Literale Zeichenketten und gequotete |
270 * Zeichenketten gibt es in zwei Formen: *literale* Zeichenketten und *gequotete* |
282 Zeichenketten.. |
271 Zeichenketten.. |
283 * Zeichenketten, die später noch expandiert werden, werden _immer_ als gequotete |
272 * Zeichenketten, die später noch expandiert werden, werden _immer_ als gequotete |
284 Zeichenketten behandelt. |
273 Zeichenketten behandelt. |
285 |
274 |
286 .Format |
275 .Format |
333 |
322 |
334 === Reguläre Ausdrücke |
323 === Reguläre Ausdrücke |
335 |
324 |
336 * Reguläre Ausdrücke werden durch 'libpcre' ausgewertet, sie sind also kompatibel |
325 * Reguläre Ausdrücke werden durch 'libpcre' ausgewertet, sie sind also kompatibel |
337 mit den von Perl bekannten regulären Ausdrücken. |
326 mit den von Perl bekannten regulären Ausdrücken. |
338 * Reguläre Ausdrücke werden immer zuerst als String evaluiert, eventuelle Backslash-Sequenzen müssen also ggf. geschützt |
327 * Reguläre Ausdrücke werden immer zuerst als String evaluiert und normalerweise |
|
328 dort, wo Expansion stattfindet, eventuelle Backslash-Sequenzen müssen also ggf. geschützt |
339 werden. |
329 werden. |
|
330 * Dort wo Reguläre Ausdrücke mit anderen Syntaxelementen verwechselt werden |
|
331 könnten, beginnen sie zwingend mit „^“. |
340 |
332 |
341 .Format |
333 .Format |
342 … = ^<regexp> |
334 … = ^<regexp> |
343 |
335 |
344 .Beispiel |
336 .Beispiel |
348 Im Beispiel wird der Backslash verdoppelt, da die o:domains Option zuerst |
340 Im Beispiel wird der Backslash verdoppelt, da die o:domains Option zuerst |
349 expandiert wird. |
341 expandiert wird. |
350 |
342 |
351 == Expansion von Zeichenketten |
343 == Expansion von Zeichenketten |
352 |
344 |
353 * Viele Stellen der Konfiguration verwenden String-Expansion (Typ 'string*' im |
345 * Viele Stellen der Konfiguration verwenden Zeichenketten-Expansion (Typ 'string*' im |
354 _spec.txt_). String-Expansion wird von '$' getriggert. Das Ergebnis ist dann |
346 _spec.txt_). Zeichenketten-Expansion wird von '$' getriggert. Das Ergebnis ist dann |
355 ein neuer String oder 'forced failure'. |
347 ein neuer String oder 'forced failure', dieses ist vergleichbar mit 'undef' oder |
356 * Die Expansion der Strings erfolgt in der Regel erst im Bedarfsfall („late |
348 'NULL'. |
357 binding“). |
349 * Die Expansion der Strings erfolgt erst im Bedarfsfall („late binding“). |
358 |
350 |
359 CAUTION: Es stehen aber nicht in jeder Phase alle Expansions-Items zur Verfügung. (z.B. |
351 CAUTION: Es stehen aber nicht in jeder Phase alle Expansions-Items zur Verfügung. (z.B. |
360 wird der Wert der globalen Option o:message_size_limit expandiert, aber bereits |
352 wird der Wert der globalen Option o:message_size_limit expandiert, aber bereits |
361 während der Antwort auf das SMTP-HELO. In dieser Phase gibt es noch keinen |
353 während der Antwort auf das SMTP-HELO. In dieser Phase gibt es noch keinen |
362 i:$local_part). |
354 i:$local_part). |
371 exim -be '$tod_full' |
363 exim -be '$tod_full' |
372 exim -bem <(echo 'Subject: Hi') '$h_subject:' |
364 exim -bem <(echo 'Subject: Hi') '$h_subject:' |
373 |
365 |
374 === Expansions-Items |
366 === Expansions-Items |
375 |
367 |
376 * Aus Sicht des Expanders ist alles, was mit einem '$' beginnt, ein |
368 * Aus Sicht des Expanders ist jedes Token, das mit einem '$' beginnt, ein |
377 Expansions-Item. |
369 Expansions-Item. |
|
370 |
|
371 Diese Expansions-Items lassen sich unterteilen: |
378 |
372 |
379 Variablen:: |
373 Variablen:: |
380 Das sind operative Parameter, Information über die aktuelle Nachricht, |
374 Das sind operative Parameter, Information über die aktuelle Nachricht, |
381 den aktuellen Systemzustand, Rückgabewerte. |
375 den aktuellen Systemzustand, Rückgabewerte. |
382 http://www.exim.org/exim-html-current/doc/html/spec_html/ch-string_expansions.html#SECTexpvar[spec] |
376 http://www.exim.org/exim-html-current/doc/html/spec_html/ch-string_expansions.html#SECTexpvar[spec] |
451 |
445 |
452 ==== Implizite Syntax |
446 ==== Implizite Syntax |
453 |
447 |
454 * Der Key ergibt sich aus dem Kontext, das Lookup wird dennoch durch den |
448 * Der Key ergibt sich aus dem Kontext, das Lookup wird dennoch durch den |
455 String-Expander behandelt. Wenn das Lookup erfolgreich ist, wird als Resultat |
449 String-Expander behandelt. Wenn das Lookup erfolgreich ist, wird als Resultat |
456 der Key zurückgeliefert, nicht ein eventuell vorhandener Wert! |
450 der Key zurückgeliefert, und *nicht* ein eventuell vorhandener Wert! |
457 * Analogie: +exists($key) ? $key : ''+ |
451 * Analogie: ++exists($key) ? $key : ''++ |
458 |
452 |
459 .Format |
453 .Format |
460 … = <type>;<file> |
454 … = <type>;<file> |
461 … = <type>;<query> |
455 … = <type>;<query> |
462 |
456 |
466 |
460 |
467 === Style |
461 === Style |
468 |
462 |
469 ==== Single Key |
463 ==== Single Key |
470 |
464 |
471 Single-Key Lookups beziehen sich auf einfach (und meist schnelle) Key/Value |
465 Single-Key Lookups beziehen sich auf einfache (und meist schnelle) Key/Value |
472 Daten. Das sind Dateien im Format der _/etc/aliases_, das sind Verzeichnisse und |
466 Daten. Das sind Dateien im Format der _/etc/aliases_, das sind Verzeichnisse und |
473 DBM-Files. |
467 DBM-Files. |
474 http://www.exim.org/exim-html-current/doc/html/spec_html/ch-file_and_database_lookups.html#SECTsinglekeylookups[spec] |
468 http://www.exim.org/exim-html-current/doc/html/spec_html/ch-file_and_database_lookups.html#SECTsinglekeylookups[spec] |
475 |
469 |
476 .Wichtige Single Key Lookups |
470 .Wichtige Single Key Lookups |
653 |
647 |
654 Ziel der ACL-Operations sollte es sein, möglichst viele Dinge zur SMTP-Zeit zu |
648 Ziel der ACL-Operations sollte es sein, möglichst viele Dinge zur SMTP-Zeit zu |
655 entscheiden und dann die SMTP-Verbindung mit 5xx zu beenden. Damit bleibt die |
649 entscheiden und dann die SMTP-Verbindung mit 5xx zu beenden. Damit bleibt die |
656 Verantwortung für die Bounce beim Absender. |
650 Verantwortung für die Bounce beim Absender. |
657 |
651 |
|
652 .Beispiel |
|
653 |
|
654 acl_check_recipient: |
|
655 |
|
656 accept local_parts = postmaster |
|
657 domains = +local_domains |
|
658 |
|
659 require message = sender verification failed |
|
660 verify = sender |
|
661 |
|
662 … |
|
663 |
658 == Router |
664 == Router |
659 |
665 |
660 Im Router-Abschnitt wird durch einzelne Blöcke das Routing-Verhalten gesteuert. |
666 Im Router-Abschnitt wird durch einzelne Blöcke das Routing-Verhalten gesteuert. |
661 Die Reihenfolge der Blöcke ist wichtig. Das Verhalten eines jeden Blocks wird |
667 Die Reihenfolge der Blöcke ist wichtig. Das Verhalten eines jeden Blocks wird |
662 durch den Treiber bestimmt. |
668 durch den Treiber bestimmt. |
670 case NEW ADDRESS: goto FIRST ROUTER |
676 case NEW ADDRESS: goto FIRST ROUTER |
671 case PASS: goto NEXT ROUTER |
677 case PASS: goto NEXT ROUTER |
672 case FAIL: generate bounce |
678 case FAIL: generate bounce |
673 case DEFER: back to queue |
679 case DEFER: back to queue |
674 case DECLINE: if (more?) goto NEXT ROUTER |
680 case DECLINE: if (more?) goto NEXT ROUTER |
675 generate bounce |
681 default: generate bounce |
676 |
682 |
677 .Beispiel |
683 .Beispiel |
678 external: |
684 external: |
679 driver = dnslookup |
685 driver = dnslookup |
680 domains = !+local_domains |
686 domains = !+local_domains |
919 |
925 |
920 CAUTION: Viele Fehler treten erst später bei der Expansion auf! |
926 CAUTION: Viele Fehler treten erst später bei der Expansion auf! |
921 |
927 |
922 Teile der Konfiguration können mit: |
928 Teile der Konfiguration können mit: |
923 |
929 |
|
930 exim -bP |
924 exim -bP <option> |
931 exim -bP <option> |
925 exim -bP |
|
926 exim -bP transports |
932 exim -bP transports |
927 exim -bP routers |
933 exim -bP routers |
928 |
934 |
929 ausgelesen werden. |
935 ausgelesen werden. |
930 |
936 |
931 === Routing im Trockentest |
937 === Routing im Trockentest |
932 |
938 |
933 Das nützlichste Werkzeug ist sicher der Routing-Trockentest. |
939 Das nützlichste Werkzeug ist sicher der Routing-Trockentest. |
934 Mit |
940 Ein Address-Test kann gestartet werden. Das entspricht dem Routing-Vorgang: |
935 |
941 |
936 exim -bt <address> |
942 exim -bt <address> |
937 |
943 |
938 wird ein Address-Test gemacht. Das entspricht dem Routing-Vorgang. Im |
944 IUnterschied zum echten Routing-Vorgang stehen diesem Test aber keine |
939 Unterschied zum echten Routing-Vorgang stehen diesem Test aber keine |
|
940 Header-Daten zur Verfügung. Die Absender-Adresse kann mit _-f <sender>_ |
945 Header-Daten zur Verfügung. Die Absender-Adresse kann mit _-f <sender>_ |
941 eingesetzt werden: |
946 eingesetzt werden: |
942 |
947 |
943 exim -f <sender> -bt <address> |
948 exim -f <sender> -bt <address> |
944 |
949 |
1002 === String-Expansion |
1007 === String-Expansion |
1003 |
1008 |
1004 Der String-Expander steht auf der Kommandozeile zur Verfügung: |
1009 Der String-Expander steht auf der Kommandozeile zur Verfügung: |
1005 |
1010 |
1006 exim -be <string> |
1011 exim -be <string> |
|
1012 |
|
1013 Ohne die Angabe eines zu expandierenden Strings wird eine interaktive |
|
1014 Expander-Sitzung gestaret, wenn der Exim mit Readline-Unterstützung übersetzt |
|
1015 wurde, steht diese hier zur Verfügung. |
1007 |
1016 |
1008 .Beispiel |
1017 .Beispiel |
1009 exim -be '${lookup{root}lsearch{/etc/aliases}}' |
1018 exim -be '${lookup{root}lsearch{/etc/aliases}}' |
1010 |
1019 |
1011 |
1020 |