abstract
changeset 6 4779d7083767
parent 5 2994ba652074
child 7 a02ad61d3578
equal deleted inserted replaced
5:2994ba652074 6:4779d7083767
     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