short.txt
changeset 24 5898f11d12c0
parent 23 49b311800e28
equal deleted inserted replaced
23:49b311800e28 24:5898f11d12c0
    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  
   803 Exim legt alle wichtigen Daten in Text-Dateien ab. Trotzdem sind einige Optionen
   809 Exim legt alle wichtigen Daten in Text-Dateien ab. Trotzdem sind einige Optionen
   804 und Tools hilfreich im Umgang mit den operativen Daten des Exim.
   810 und Tools hilfreich im Umgang mit den operativen Daten des Exim.
   805 
   811 
   806 === Prozesse
   812 === Prozesse
   807 
   813 
   808 Mit
   814 Für eine gute Übersicht über die aktuellen Aktivitäten des Exim:
   809 
   815 
   810  exiwhat
   816  exiwhat
   811 
   817 
   812 erhält man eine gute Übersicht über die aktuellen Aktivitäten des Exim.
       
   813 
   818 
   814 === Queue
   819 === Queue
   815 
   820 
   816 Alle operativen Daten liegen unter dem Spool-Directory:
   821 Alle operativen Daten liegen unter dem Spool-Directory:
   817 
   822 
   900  > d
   905  > d
   901  deleted
   906  deleted
   902 
   907 
   903 'exim_tidydb'::
   908 'exim_tidydb'::
   904     Wird regelmäßig über Cron aufgerufen um die Inhalte der Datenbankfiles
   909     Wird regelmäßig über Cron aufgerufen um die Inhalte der Datenbankfiles
   905     aufzuräumen. Die Files werden dabei nicht zwangsläufig kleiner!
   910     aufzuräumen. Die Files werden dabei nicht zwangsläufig kleiner, aber
       
   911     es werden alte Einträge gelöscht.
   906 
   912 
   907 
   913 
   908 == Debugging
   914 == Debugging
   909 
   915 
   910 === Konfiguration 
   916 === Konfiguration 
   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