1 Konfig im Detail |
|
2 ---------------- |
|
3 |
|
4 # Welche Konfiguration wird eingelesen? |
|
5 |
|
6 > exim -bV | tail -n 1 |
|
7 TODO: exim -be '$configure_file' |
|
8 |
|
9 > exim -bP configure_file |
|
10 |
|
11 # Wann wird die Konfiguration eingelesen? |
|
12 |
|
13 - Klar - beim Start |
|
14 - Aber - wann wird gestartet? |
|
15 - Start Daemon |
|
16 - Signal HUP |
|
17 - re-exec for verschiedene Zwecke |
|
18 - Achtung: |
|
19 - exim4.conf + .include ist "statisch" |
|
20 - lists, lookups, … "dynamisch" |
|
21 - Config-Parser: nur simple Syntax-Checks |
|
22 - trim, "de-comment" |
|
23 |
|
24 # Syntax der Konfiguration |
|
25 |
|
26 ## Macros und … |
|
27 - Macros - Text-Ersatz während des Einlesens, |
|
28 ggf. bedingt über .ifdef |
|
29 - .include, .include_ifexists |
|
30 |
|
31 > exim -DFOO=bar -C <(echo primary_hostname = FOO) -bP primary_hostname |
|
32 |
|
33 ## Options |
|
34 - statische Namen |
|
35 - benamste Listen |
|
36 - Instanzen von Routern, Transports, .. |
|
37 |
|
38 ## Values |
|
39 |
|
40 ### bool |
|
41 Format: true|yes|false|no |
|
42 <option> eg: split_spool_directory |
|
43 no_<option> eg: no_split_spool_directory |
|
44 not_<option> eg: not_split_spool_directory |
|
45 |
|
46 |
|
47 +---------------------+---------+-------------+--------------+ |
|
48 |split_spool_directory|Use: main|Type: boolean|Default: false| |
|
49 +---------------------+---------+-------------+--------------+ |
|
50 > exim -C <(echo split_spool_directory = no) -bP split_spool_directory |
|
51 |
|
52 |
|
53 ### integer: |
|
54 Format: <n>[<suffix>] eg: 27M |
|
55 0<n>[<suffix>] eg: 01000M |
|
56 0x<n>[<suffix>] eg: 0xFFFFK |
|
57 suffix: k|m |
|
58 |
|
59 +-----------------+---------+-------------+----------+ |
|
60 |check_spool_space|Use: main|Type: integer|Default: 0| |
|
61 +-----------------+---------+-------------+----------+ |
|
62 > exim -C <(echo check_spool_space = 01000M) -bP check_spool_space |
|
63 |
|
64 ### fixed-point |
|
65 Format: <i>[.d[d[d]]] eg: 0.234 |
|
66 |
|
67 +----------------------+---------+-----------------+--------------+ |
|
68 |deliver_queue_load_max|Use: main|Type: fixed-point|Default: unset| |
|
69 +----------------------+---------+-----------------+--------------+ |
|
70 > exim -C <(echo deliver_queue_load_max = 3.3) -bP deliver_queue_load_max |
|
71 |
|
72 ### time intervals |
|
73 Format: n<suffix>... eg: 2w3d |
|
74 suffix: s|m|h|d|w |
|
75 |
|
76 +---------+---------+----------+-----------+ |
|
77 |auto_thaw|Use: main|Type: time|Default: 0s| |
|
78 +---------+---------+----------+-----------+ |
|
79 > exim -C <(echo auto_thaw = 1w7s) -bP auto_thaw |
|
80 |
|
81 ### strings |
|
82 Fromat: <string> eg: localhost |
|
83 <"string"> eg: " A\x42C" |
|
84 |
|
85 Quoting für \\, \n, \r, \t, \ddd, \xdd und führende oder baumelnde Spaces |
|
86 |
|
87 - Vorsicht: Expansion |
|
88 - Vorsicht: User/Groups |
|
89 |
|
90 +----------------+---------+------------+------------------+ |
|
91 |primary_hostname|Use: main|Type: string|Default: see below| |
|
92 +----------------+---------+------------+------------------+ |
|
93 > exim -C <(echo 'primary_hostname = a\x41b') -bP primary_hostname |
|
94 > exim -C <(echo 'primary_hostname = "a\x41b"') -bP primary_hostname |
|
95 |
|
96 Steuerzeichen werden für die Ausgabe escaped: |
|
97 > exim -C <(echo 'primary_hostname = "a\x091b"') -bP primary_hostname |
|
98 |
|
99 |
|
100 ### Lists |
|
101 Format: <item>:… eg: a:b:c:d vs. a:b::c:d |
|
102 eg: : -> ein leeres Element |
|
103 [<<sep> <item><sep>…] eg: <, a,b,c |
|
104 |
|
105 - leere Felder am Ende werden „gestrippt“ |
|
106 - Whitespace der Felder wird gestrippt |
|
107 - leeres Feld in der Mitte: a: :b |
|
108 - leeres Felder am Anfang bleibt |
|
109 - "Escapen" des Listentrenners durch Verdoppeln |
|
110 |
|
111 a : b::c : d -> (a) (b:c) (d) |
|
112 |
|
113 > exim -be '${map{:a:b:c,}{<$item>}}' |
|
114 > exim -be '${map{<,,a,b,c,}{<$item>}}' |
|
115 |
|
116 > exim -C <(echo domainlist local_domains = 'a:b::c:d') -be '${listnamed:local_domains}' |
|
117 |
|
118 |
|
119 ### Regexp |
|
120 Format ^… |
|
121 |
|
122 Beginnt mit ^, damit es sich von einem normalen String unterscheidet! |
|
123 Achtung, Backslash ggf. vom String-Expander gefressen, |
|
124 hauptsächlich in Listen, die RE enthalten dürfen |
|
125 |
|
126 Ggf. mit \N..\N |
|
127 |
|
128 ## Lookups |
|
129 |
|
130 - 2 Syntaxen |
|
131 - 2 Types |
|
132 => 4 Varianten |
|
133 |
|
134 ### Syntax 1: explizit - der Key oder die Frage wird ausdrücklich formuliert |
|
135 es ist ein String-Expansion. s.u. |
|
136 |
|
137 ${lookup{<key>}<type>{file}} eg: ${lookup{$domain}dsearch{/etc/exim4/domains}} |
|
138 ${lookup <type> {<query>}} eg: ${lookup ldap {ldap:///o=roka?mail?sub?uid=${quote_ldap:$local_part}}} |
|
139 |
|
140 Liefert eine Liste zurück, ggf. Listentrenner unorthodox und muss massiert werden |
|
141 |
|
142 ### Syntax 2: implizit - der Key ergibt sich aus dem Kontext |
|
143 keine Stringexpansion, sondern ein Element für sich |
|
144 |
|
145 |
|
146 <type>;<file> eg: domains = dsearch;/etc/exim4/domains |
|
147 <type>;<query> eg: domains = sqlite;/etc/db.sqlite SELECT … WHERE ${quote_sqlite:$local_part} … |
|
148 domains = ldap;ldap:///o=roka?mail?sub?… |
|
149 |
|
150 - Auffindes des "impliziten" Keys |
|
151 - Query: Success der Query ist entscheidend, nicht der Resultat-Wert |
|
152 - Achtung: In einer Liste ggf. an den Listentrenner denken! |
|
153 domains = ldap;ldap::///o=… |
|
154 |
|
155 ### Style 1: Single Key |
|
156 |
|
157 ${lookup{<key>}<type>{<file>} eg: ${lookup{$sender_host_address}iplsearch{/etc/exim4/blacklist}} |
|
158 <type>;<file> eg: hosts = iplsearch;/etc/exim4/blacklist |
|
159 |
|
160 <type> ist dann lsearch, dsearch, iplsearch, … |
|
161 |
|
162 ### Style 2: Query Style |
|
163 |
|
164 ${lookup <type> {<query>}} eg: ${lookup dnsdb{mxh=roka.net}} |
|
165 <type>;<query> eg: dnsdb;mxh=roka.net |
|
166 |
|
167 |
|
168 Matrix |
|
169 |
|
170 style| single key | query style |
|
171 syntax \| | |
|
172 ---------+--------------------------------+--------------------------- |
|
173 explicit | ${lookup{<key>}<type>{<file>} | ${lookup <type> {<query>}} |
|
174 implizit | <type>;<file> | [ <type>;<query> ] |
|
175 |
|
176 |
|
177 eg. config: |
|
178 |
|
179 domains = ${lookup{$domain}lsearch{/etc/exim4/local_domains}} # WRONG |
|
180 = <\n ${lookup mysql { SELECT domain FROM domains }} # BETTER |
|
181 = ${lookup mysql { SELECT DISTINCT(domain) FROM domains WHERE domain = $domain}} # ggf BEST |
|
182 vs |
|
183 domains = lsearch;/etc/exim4/local_domains # OK |
|
184 |
|
185 |
|
186 ## Named Lists |
|
187 Format: <listtype> <name> |
|
188 <listtype>_cache <name> |
|
189 Bezug: +<name> |
|
190 |
|
191 Typen: domainlist, hostlist, addresslist, localpartlist |
|
192 Caching nur wenn die RHS keine '$' enthält, also konstante Ergebnisse zu erwarten sind. |
|
193 |
|
194 Jeder Listtyp hat seine Eigenarten. |
|
195 |
|
196 > exim -bP +<name> |
|
197 |
|
198 ### domainlist |
|
199 |
|
200 domainlist - @, @mx_primary, @mx_secondary, @mx_any, <pattern>, lookup, literal |
|
201 hostlist - Namen, Adressen spec(10.11 ff) |
|
202 |
|
203 |
|
204 ## String-Expansion |
|
205 |
|
206 - von links nach rechts: $ und \ wirken als Trigger |
|
207 |
|
208 > exim -be [<string>] |
|
209 > exim -bem <message-file> [<string>] |
|
210 > exim -be -Mset <spool-id> [<string>] |
|
211 |
|
212 eg: exim -be '$primary_hostname' |
|
213 exim -be '$tod_full' |
|
214 exim -bem <(echo 'Subject: Hi') '$h_subject:' |
|
215 |
|
216 Expansionen liefern neuen Text zurück oder können „forced expansion failure“ |
|
217 bewirken |
|
218 |
|
219 ## Expansions-Items |
|
220 |
|
221 ### Variablen |
|
222 Format: $<variable> eg: $localhost_number |
|
223 ${<variable>} |
|
224 |
|
225 ### Operatoren |
|
226 Format: ${<op>:<string>} |
|
227 Für einfache Expansionen, lc, uc, hash, … |
|
228 |
|
229 ### Funktionen |
|
230 Format ${<function>{string1}...} |
|
231 |
|
232 # Debugging |
|
233 |
|
234 ## Konfiguration |
|
235 |
|
236 - > exim -bV |
|
237 |
|
238 ## Routing / Transport |
|
239 |
|
240 > exim -bt <address> |
|
241 > exim -bts <address> |
|
242 |
|
243 > exim -bv <address> |
|
244 > exim -bvs <address> |
|
245 |
|
246 Routing, Fake-Delivery |
|
247 > exim -N < <message-file> |
|
248 |
|
249 Fake-SMTP-Session |
|
250 > exim -bh <sender-ip> |
|
251 > swaks --pipe 'exim -bh <sender-ip>' -f <sender> -t <rcpt> |
|
252 (note: --tls-cert, --tls-key Optionen sind für SWAKS vorhanden, um ein |
|
253 Client-Zertifikat mitzuschicken, aber offenbar erst in neueren Versionen |
|
254 von swaks) |
|
255 |
|
256 - debug_print Option für Router und Transports |
|
257 |
|
258 |
|
259 ### Minimalkonfiguration |
|
260 |
|
261 .-[ m.conf ]-------- {{{ |
|
262 |exim_user = exim |
|
263 |spool_directory = /tmp/exim-spool |
|
264 |log_file_path = |
|
265 | |
|
266 |begin routers |
|
267 | |
|
268 | default: |
|
269 | driver = accept |
|
270 | transport = null |
|
271 | no_more |
|
272 | |
|
273 |begin transports |
|
274 | |
|
275 | null: |
|
276 | driver = appendfile |
|
277 | file = /dev/null |
|
278 `------------- }}} |
|
279 |
|
280 |
|
281 # Routing |
|
282 |
|
283 - Preconditions |
|
284 - Driver und Driver-Options |
|
285 Result: - accept -> DONE (transport oder neue Adresse) |
|
286 - pass -> pass_router (bzw. nächster Router) |
|
287 - decline -> nächster Router (or fail, wenn no_more) |
|
288 - fail -> DONE (bounce) |
|
289 - defer -> Semi-DONE (re-queue) |
|
290 - error -> wie defer |
|
291 |
|
292 # Hint-Databases |
|
293 |
|
294 liegen in $spool_directory/db |
|
295 - retry |
|
296 - wait-<transport> |
|
297 - callout |
|
298 - ratelimit |
|
299 - misc |
|
300 |
|
301 Sind verzichtbar! |
|
302 |
|
303 ## Wartung |
|
304 |
|
305 ### Ansehen |
|
306 |
|
307 > exim_dumpdb <spool_dir> <db> |
|
308 eg: exim_dumpdb /var/spool/exim4 |
|
309 |
|
310 Je nach DB unterschiedliches Format |
|
311 |
|
312 ### Verändern |
|
313 |
|
314 Aufräumen |
|
315 > exim_tidyb <spool_dir> <db> (Cronjob) |
|
316 |
|
317 Reparieren |
|
318 > exim_fixdb <spool_dir> <db> |
|
319 |
|
320 … that's it … |
|
321 |
|
322 ### Retry |
|
323 |
|
324 exinext - Route: Adressproblem |
|
325 Transport: Hostproblem |
|
326 |
|
327 # Acess Control Lists |
|
328 |
|
329 acl_not_smtp ACL for non-SMTP messages |
|
330 acl_not_smtp_mime ACL for non-SMTP MIME parts |
|
331 acl_not_smtp_start ACL at start of non-SMTP message |
|
332 acl_smtp_auth ACL for AUTH |
|
333 acl_smtp_connect ACL for start of SMTP connection |
|
334 acl_smtp_data ACL after DATA is complete |
|
335 acl_smtp_data_prdr ACL for each recipient, after DATA is complete |
|
336 acl_smtp_etrn ACL for ETRN |
|
337 acl_smtp_expn ACL for EXPN |
|
338 acl_smtp_helo ACL for HELO or EHLO |
|
339 acl_smtp_mail ACL for MAIL |
|
340 acl_smtp_mailauth ACL for the AUTH parameter of MAIL |
|
341 acl_smtp_mime ACL for content-scanning MIME parts |
|
342 acl_smtp_notquit ACL for non-QUIT terminations |
|
343 acl_smtp_predata ACL at start of DATA command |
|
344 acl_smtp_quit ACL for QUIT |
|
345 acl_smtp_rcpt ACL for RCPT |
|
346 acl_smtp_starttls ACL for STARTTLS |
|
347 acl_smtp_vrfy ACL for VRFY |
|
348 |
|
349 acl_<hook> = <aclverb> | <filename> | <acl-name> |
|
350 |
|
351 eg: acl_smtp_rcpt = acl_check_rcpt |
|
352 acl_smtp_rcpt = acl_check_rcpt_${primary_hostname} |
|
353 |
|
354 ## Policies |
|
355 |
|
356 ### acl_smtp_rcpt |
|
357 |
|
358 Abweisung einzelner Empfänger, noch kein Content! |
|
359 |
|
360 ### acl_smtp_data |
|
361 |
|
362 Content-Scan. Nicht mehr für einzelne Empfänger, |
|
363 $local_part, $domain steht nicht mehr zur Verfügung, |
|
364 aber $recpients, $rcpt_count, … |
|
365 |
|
366 ## Return-Values |
|
367 |
|
368 - accept |
|
369 - defer |
|
370 - deny |
|
371 - discard |
|
372 |
|
373 default: "accept", ausser bei acl_smtp_rcpt, dort ist es "deny" |
|
374 implizit "deny" am Ende jeder ACL! |
|
375 |
|
376 |
|
377 ## Test |
|
378 |
|
379 > exim -bh <ip> # ohne callouts |
|
380 > exim -bhc <ip> # mit callouts |
|
381 > swaks --pipe 'exim -bh <ip> -C <config>' -f <sender> -t <rcpt> |
|
382 |
|
383 exim -N hilft nicht, ist nicht für die SMTP acl |
|
384 relevant! |
|
385 |
|
386 ## Format |
|
387 |
|
388 <aclverb> [<condition>] |
|
389 … |
|
390 [<modifier] |
|
391 |
|
392 Bedingungen müssen erfüllt sein, Order matters, Abbruch |
|
393 bei nicht erfüllter Bedingung! Modifier sind immer "true" |
|
394 |
|
395 ### Verb |
|
396 |
|
397 accept, defer, deny, discard, drop, require, warn |
|
398 |
|
399 ### Modifier |
|
400 |
|
401 message = [code] text |
|
402 log_message = text |
|
403 |
|
404 Immediate: |
|
405 logwrite = … |
|
406 control = … |
|
407 set = … |
|
408 add_header = … |
|
409 remove_header = … |
|
410 delay = … |
|
411 |
|
412 ### Conditions |
|
413 |
|
414 <condition> = <value> |
|
415 |
|
416 eg: deny hosts = !192.168.3.8 # neg. Liste |
|
417 deny !hosts = 192.168.3.8 # neg. Resultat |
|
418 |
|
419 vs: deny !verify = recipient # works |
|
420 deny verify = !recipient # FALSCH |
|
421 |
|
422 |
|
423 Wert der Condition und von Modifiern wird expandiert. |
|
424 Force Failure bedeutet: Condition war nicht anwesend! |
|
425 |
|
426 Reihenfolge ist wichtig! Short Circuit. |
|
427 Position der Modifier ist wichtig! |
|
428 |
|
429 |
|
430 |
|
431 # DNS Lookups |
|
432 |
|
433 ## DNSSEC |
|
434 dns_dnssec_ok = 1 |
|
435 |
|
436 dnslookup.dnssec_require_domains = # leider noch falsche Syntax |
|
437 smtp.dnssec_require_domains = # leider noch falsche Syntax |
|
438 dnslookup.dnssec_request_domains = # leider noch falsche Syntax |
|
439 smtp.dnssec_request_domains = # leider noch falsche Syntax |
|
440 |
|
441 # Anhang |
|
442 |
|
443 ## Misc |
|
444 |
|
445 Spec.txt durchsuchen (less): |
|
446 - Option /^.<option> eg: |exim_user| |
|
447 - Variable /^\$<variable eg: $localhost_number |
|
448 - Operators: /^\$\{<operator>: eg: ${hash:<string>} … |
|
449 - Condition: /^<condition> \{ eg: eq {<string1>}{<string2>} … |
|
450 - Functions: /^\$\{<function\{ eg: ${map{<string1>}{<string2>}} … |
|
451 - ACL conditions /^<condition> = eg: malware = … |
|
452 |
|
453 // Die folgenden Listen sind durch einfaches Greppen im Spec-File bzw. |
|
454 // im spec.xfpt enstanden, also weder vollständig noch zwingend korrekt! |
|
455 |
|
456 ## Liste globaler Optionen {{{ |
|
457 |
|
458 accept_8bitmime |
|
459 acl_not_smtp |
|
460 acl_not_smtp_mime |
|
461 acl_not_smtp_start |
|
462 acl_smtp_auth |
|
463 acl_smtp_connect |
|
464 acl_smtp_data |
|
465 acl_smtp_data_prdr |
|
466 acl_smtp_etrn |
|
467 acl_smtp_expn |
|
468 acl_smtp_helo |
|
469 acl_smtp_mail |
|
470 acl_smtp_mailauth |
|
471 acl_smtp_mime |
|
472 acl_smtp_predata |
|
473 acl_smtp_quit |
|
474 acl_smtp_rcpt |
|
475 acl_smtp_starttls |
|
476 acl_smtp_vrfy |
|
477 admin_groups |
|
478 allow_domain_literals |
|
479 allow_mx_to_ip |
|
480 allow_utf8_domains |
|
481 auth_advertise_hosts |
|
482 auto_thaw |
|
483 av_scanner |
|
484 bi_command |
|
485 bounce_message_file |
|
486 bounce_message_text |
|
487 bounce_return_body |
|
488 bounce_return_message |
|
489 bounce_return_size_limit |
|
490 bounce_sender_authentication |
|
491 callout_domain_negative_expire |
|
492 callout_domain_positive_expire |
|
493 callout_negative_expire |
|
494 callout_positive_expire |
|
495 callout_random_local_part |
|
496 check_log_inodes |
|
497 check_log_space |
|
498 check_rfc2047_length |
|
499 check_spool_inodes |
|
500 check_spool_space |
|
501 daemon_smtp_ports |
|
502 daemon_startup_retries |
|
503 daemon_startup_sleep |
|
504 delay_warning |
|
505 delay_warning_condition |
|
506 deliver_drop_privilege |
|
507 deliver_queue_load_max |
|
508 delivery_date_remove |
|
509 disable_fsync |
|
510 disable_ipv6 |
|
511 dns_again_means_nonexist |
|
512 dns_check_names_pattern |
|
513 dns_csa_search_limit |
|
514 dns_csa_use_reverse |
|
515 dns_dnssec_ok |
|
516 dns_ipv4_lookup |
|
517 dns_retrans |
|
518 dns_retry |
|
519 dns_use_edns0 |
|
520 drop_cr |
|
521 dsn_from |
|
522 envelope_to_remove |
|
523 errors_copy |
|
524 errors_reply_to |
|
525 exim_group |
|
526 exim_path |
|
527 exim_user |
|
528 extra_local_interfaces |
|
529 finduser_retries |
|
530 freeze_tell |
|
531 gecos_name |
|
532 gecos_pattern |
|
533 gnutls_compat_mode |
|
534 header_line_maxsize |
|
535 header_maxsize |
|
536 headers_charset |
|
537 helo_accept_junk_hosts |
|
538 helo_allow_chars |
|
539 helo_lookup_domains |
|
540 helo_try_verify_hosts |
|
541 helo_verify_hosts |
|
542 hold_domains |
|
543 host_lookup |
|
544 host_lookup_order |
|
545 host_reject_connection |
|
546 hosts_connection_nolog |
|
547 hosts_treat_as_local |
|
548 ibase_servers |
|
549 ignore_bounce_errors_after |
|
550 ignore_fromline_hosts |
|
551 ignore_fromline_local |
|
552 keep_malformed |
|
553 ldap_ca_cert_dir |
|
554 ldap_ca_cert_file |
|
555 ldap_cert_file |
|
556 ldap_cert_key |
|
557 ldap_cipher_suite |
|
558 ldap_default_servers |
|
559 ldap_require_cert |
|
560 ldap_start_tls |
|
561 ldap_version |
|
562 local_from_check |
|
563 local_from_prefix |
|
564 local_from_suffix |
|
565 local_interfaces |
|
566 local_scan_timeout |
|
567 local_sender_retain |
|
568 localhost_number |
|
569 log_file_path |
|
570 log_selector |
|
571 log_timezone |
|
572 lookup_open_max |
|
573 max_username_length |
|
574 message_body_newlines |
|
575 message_body_visible |
|
576 message_id_header_domain |
|
577 message_id_header_text |
|
578 message_logs |
|
579 message_size_limit |
|
580 move_frozen_messages |
|
581 mua_wrapper |
|
582 mysql_servers |
|
583 never_users |
|
584 openssl_options |
|
585 oracle_servers |
|
586 percent_hack_domains |
|
587 perl_at_start |
|
588 perl_startup |
|
589 pgsql_servers |
|
590 pid_file_path |
|
591 pipelining_advertise_hosts |
|
592 prdr_enable |
|
593 preserve_message_logs |
|
594 primary_hostname |
|
595 print_topbitchars |
|
596 process_log_path |
|
597 prod_requires_admin |
|
598 qualify_domain |
|
599 qualify_recipient |
|
600 queue_domains |
|
601 queue_list_requires_admin |
|
602 queue_only |
|
603 queue_only_file |
|
604 queue_only_load |
|
605 queue_only_load_latch |
|
606 queue_only_override |
|
607 queue_run_in_order |
|
608 queue_run_max |
|
609 queue_smtp_domains |
|
610 receive_timeout |
|
611 received_header_text |
|
612 received_headers_max |
|
613 recipient_unqualified_hosts |
|
614 recipients_max |
|
615 recipients_max_reject |
|
616 remote_max_parallel |
|
617 remote_sort_domains |
|
618 retry_data_expire |
|
619 retry_interval_max |
|
620 return_path_remove |
|
621 return_size_limit |
|
622 rfc1413_hosts |
|
623 rfc1413_query_timeout |
|
624 sender_unqualified_hosts |
|
625 smtp_accept_keepalive |
|
626 smtp_accept_max |
|
627 smtp_accept_max_nonmail |
|
628 smtp_accept_max_nonmail_hosts |
|
629 smtp_accept_max_per_connection |
|
630 smtp_accept_max_per_host |
|
631 smtp_accept_queue |
|
632 smtp_accept_queue_per_connection |
|
633 smtp_accept_reserve |
|
634 smtp_active_hostname |
|
635 smtp_banner |
|
636 smtp_check_spool_space |
|
637 smtp_connect_backlog |
|
638 smtp_enforce_sync |
|
639 smtp_etrn_command |
|
640 smtp_etrn_serialize |
|
641 smtp_load_reserve |
|
642 smtp_max_synprot_errors |
|
643 smtp_max_unknown_commands |
|
644 smtp_ratelimit_hosts |
|
645 smtp_ratelimit_mail |
|
646 smtp_ratelimit_rcpt |
|
647 smtp_receive_timeout |
|
648 smtp_reserve_hosts |
|
649 smtp_return_error_details |
|
650 spamd_address |
|
651 split_spool_directory |
|
652 spool_directory |
|
653 sqlite_lock_timeout |
|
654 strict_acl_vars |
|
655 strip_excess_angle_brackets |
|
656 strip_trailing_dot |
|
657 syslog_duplication |
|
658 syslog_facility |
|
659 syslog_processname |
|
660 syslog_timestamp |
|
661 system_filter |
|
662 system_filter_directory_transport |
|
663 system_filter_file_transport |
|
664 system_filter_group |
|
665 system_filter_pipe_transport |
|
666 system_filter_reply_transport |
|
667 system_filter_user |
|
668 tcp_nodelay |
|
669 timeout_frozen_after |
|
670 timezone |
|
671 tls_advertise_hosts |
|
672 tls_certificate |
|
673 tls_crl |
|
674 tls_dh_max_bits |
|
675 tls_dhparam |
|
676 tls_ocsp_file |
|
677 tls_on_connect_ports |
|
678 tls_privatekey |
|
679 tls_remember_esmtp |
|
680 tls_require_ciphers |
|
681 tls_try_verify_hosts |
|
682 tls_verify_certificates |
|
683 tls_verify_hosts |
|
684 trusted_groups |
|
685 trusted_users |
|
686 unknown_login |
|
687 unknown_username |
|
688 untrusted_set_sender |
|
689 uucp_from_pattern |
|
690 uucp_from_sender |
|
691 warn_message_file |
|
692 write_rejectlog |
|
693 |
|
694 |
|
695 }}} |
|
696 |
|
697 ## Liste von Expansionsvariablen {{{ |
|
698 |
|
699 $acl_narg |
|
700 $acl_verify_message |
|
701 $address_data |
|
702 $address_file |
|
703 $address_pipe |
|
704 $authenticated_fail_id |
|
705 $authenticated_id |
|
706 $authenticated_sender |
|
707 $authentication_failed |
|
708 $av_failed |
|
709 $body_linecount |
|
710 $body_zerocount |
|
711 $bounce_recipient |
|
712 $bounce_return_size_limit |
|
713 $caller_gid |
|
714 $caller_uid |
|
715 $compile_date |
|
716 $compile_number |
|
717 $demime_errorlevel |
|
718 $demime_errorlevel |
|
719 $demime_reason |
|
720 $demime_reason |
|
721 $dnslist_domain |
|
722 $domain |
|
723 $domain_data |
|
724 $exim_gid |
|
725 $exim_path |
|
726 $exim_uid |
|
727 $found_extension |
|
728 $found_extension |
|
729 $header_ |
|
730 $headers_added |
|
731 $home |
|
732 $host |
|
733 $host_address |
|
734 $host_data |
|
735 $host_lookup_deferred |
|
736 $host_lookup_failed |
|
737 $host_port |
|
738 $inode |
|
739 $interface_address |
|
740 $interface_port |
|
741 $item |
|
742 $ldap_dn |
|
743 $load_average |
|
744 $local_part |
|
745 $local_part_data |
|
746 $local_part_prefix |
|
747 $local_part_suffix |
|
748 $local_scan_data |
|
749 $local_user_gid |
|
750 $local_user_uid |
|
751 $localhost_number |
|
752 $log_inodes |
|
753 $log_space |
|
754 $lookup_dnssec_authenticated |
|
755 $mailstore_basename |
|
756 $malware_name |
|
757 $max_received_linelength |
|
758 $message_age |
|
759 $message_body |
|
760 $message_body_end |
|
761 $message_body_size |
|
762 $message_exim_id |
|
763 $message_headers |
|
764 $message_headers_raw |
|
765 $message_id |
|
766 $message_linecount |
|
767 $message_size |
|
768 $mime_ |
|
769 $mime_boundary |
|
770 $mime_charset |
|
771 $mime_content_description |
|
772 $mime_content_disposition |
|
773 $mime_content_id |
|
774 $mime_content_size |
|
775 $mime_content_transfer_encoding |
|
776 $mime_content_type |
|
777 $mime_decoded_filename |
|
778 $mime_filename |
|
779 $mime_is_coverletter |
|
780 $mime_is_multipart |
|
781 $mime_is_rfc822 |
|
782 $mime_part_count |
|
783 $original_domain |
|
784 $original_local_part |
|
785 $originator_gid |
|
786 $originator_uid |
|
787 $parent_domain |
|
788 $parent_local_part |
|
789 $pid |
|
790 $pipe_addresses |
|
791 $primary_hostname |
|
792 $prvscheck_address |
|
793 $prvscheck_keynum |
|
794 $prvscheck_result |
|
795 $qualify_domain |
|
796 $qualify_recipient |
|
797 $rcpt_count |
|
798 $rcpt_defer_count |
|
799 $rcpt_fail_count |
|
800 $received_count |
|
801 $received_for |
|
802 $received_ip_address |
|
803 $received_port |
|
804 $received_protocol |
|
805 $received_time |
|
806 $recipient_data |
|
807 $recipient_verify_failure |
|
808 $recipients |
|
809 $recipients_count |
|
810 $regex_match_string |
|
811 $reply_address |
|
812 $return_path |
|
813 $return_size_limit |
|
814 $router_name |
|
815 $runrc |
|
816 $self_hostname |
|
817 $sender_address |
|
818 $sender_address_data |
|
819 $sender_address_domain |
|
820 $sender_address_local_part |
|
821 $sender_data |
|
822 $sender_fullhost |
|
823 $sender_helo_name |
|
824 $sender_host_address |
|
825 $sender_host_authenticated |
|
826 $sender_host_dnssec |
|
827 $sender_host_name |
|
828 $sender_host_port |
|
829 $sender_ident |
|
830 $sender_rate_ |
|
831 $sender_rcvhost |
|
832 $sender_verify_failure |
|
833 $sending_ip_address |
|
834 $sending_port |
|
835 $smtp_active_hostname |
|
836 $smtp_command |
|
837 $smtp_command_argument |
|
838 $smtp_count_at_connection_start |
|
839 $spam_ |
|
840 $spam_bar |
|
841 $spam_report |
|
842 $spam_score |
|
843 $spam_score_int |
|
844 $spool_directory |
|
845 $spool_inodes |
|
846 $spool_space |
|
847 $thisaddress |
|
848 $tls_in_bits |
|
849 $tls_in_certificate_verified |
|
850 $tls_in_cipher |
|
851 $tls_in_ocsp |
|
852 $tls_in_ourcert |
|
853 $tls_in_peercert |
|
854 $tls_in_peerdn |
|
855 $tls_in_sni |
|
856 $tls_out_bits |
|
857 $tls_out_certificate_verified |
|
858 $tls_out_cipher |
|
859 $tls_out_ocsp |
|
860 $tls_out_ourcert |
|
861 $tls_out_peercert |
|
862 $tls_out_peerdn |
|
863 $tls_out_sni |
|
864 $tod_bsdinbox |
|
865 $tod_epoch |
|
866 $tod_epoch_l |
|
867 $tod_full |
|
868 $tod_log |
|
869 $tod_logfile |
|
870 $tod_zone |
|
871 $tod_zulu |
|
872 $transport_name |
|
873 $value |
|
874 $verify_mode |
|
875 $version_number |
|
876 $warn_message_delay |
|
877 $warn_message_recipients |
|
878 |
|
879 }}} |
|
880 |
|
881 ## Liste von Operatoren {{{ |
|
882 |
|
883 ${address: |
|
884 ${addresses: |
|
885 ${base62: |
|
886 ${base62d: |
|
887 ${domain: |
|
888 ${escape: |
|
889 ${eval: |
|
890 ${expand: |
|
891 ${from_utf8: |
|
892 ${hex2b64: |
|
893 ${hexquote: |
|
894 ${lc: |
|
895 ${listcount: |
|
896 ${listnamed: |
|
897 ${local_part: |
|
898 ${mask: |
|
899 ${md5: |
|
900 ${quote: |
|
901 ${quote_local_part: |
|
902 ${randint: |
|
903 ${reverse_ip: |
|
904 ${rfc2047: |
|
905 ${rfc2047d: |
|
906 ${rxquote: |
|
907 ${sha1: |
|
908 ${sha256: |
|
909 ${stat: |
|
910 ${str2b64: |
|
911 ${strlen: |
|
912 ${time_eval: |
|
913 ${time_interval: |
|
914 ${uc: |
|
915 ${utf8clean: |
|
916 |
|
917 }}} |
|
918 |
|
919 ## List of Conditions {{{ |
|
920 |
|
921 acl |
|
922 and |
|
923 bool |
|
924 bool_lax |
|
925 crypteq |
|
926 eq |
|
927 exists |
|
928 ge |
|
929 gt |
|
930 inlist |
|
931 isip |
|
932 ldapauth |
|
933 le |
|
934 lt |
|
935 match |
|
936 match_address |
|
937 match_domain |
|
938 match_ip |
|
939 match_local_part |
|
940 or |
|
941 pam |
|
942 pwcheck |
|
943 radius |
|
944 |
|
945 }}} |
|
946 |
|
947 ## List of Functions {{{ |
|
948 |
|
949 ${acl |
|
950 ${certextract |
|
951 ${dlfunc |
|
952 ${extract |
|
953 ${extract |
|
954 ${filter |
|
955 ${hash |
|
956 ${hmac |
|
957 ${length |
|
958 ${listextract |
|
959 ${lookup |
|
960 ${map |
|
961 ${nhash |
|
962 ${perl |
|
963 ${prvs |
|
964 ${prvscheck |
|
965 ${readfile |
|
966 ${readsocket |
|
967 ${reduce |
|
968 ${run |
|
969 ${sg |
|
970 ${sort |
|
971 ${substr |
|
972 ${tr |
|
973 |
|
974 }}} |
|
975 |
|
976 ## Routing Pre-Conditions {{{ |
|
977 |
|
978 address_test |
|
979 check_local_user |
|
980 condition |
|
981 domains |
|
982 expn |
|
983 local_part_prefix |
|
984 local_part_suffix |
|
985 local_parts |
|
986 require_files |
|
987 senders |
|
988 verify |
|
989 verify_only |
|
990 verify_recipient |
|
991 verify_sender |
|
992 |
|
993 }}} |
|
994 |
|
995 |
|
996 Cheat sheet: http://www.datadisk.co.uk/html_docs/exim/exim_cs.htm |
|
997 |
|
998 # vim:tw=0:et:ts=4:sw=4:fdm=marker: |
|
999 |
|