9 |
9 |
10 Die Quelle dieses Dokuments ist: https://ssl.schlittermann.de/hg/doc/exim, es |
10 Die Quelle dieses Dokuments ist: https://ssl.schlittermann.de/hg/doc/exim, es |
11 gibt auch eine http://schlittermann.de/doc/Exim_(de)/short.html[HTML] und eine |
11 gibt auch eine http://schlittermann.de/doc/Exim_(de)/short.html[HTML] und eine |
12 http://schlittermann.de/doc/Exim_(de)/short.pdf[PDF] Version. |
12 http://schlittermann.de/doc/Exim_(de)/short.pdf[PDF] Version. |
13 |
13 |
|
14 Nicht alles wurde zwanghaft ins Deutsche übersetzt, ein Router ist ein Router |
|
15 und kein Wegleiter. |
|
16 |
|
17 == Typografische Konventionen |
|
18 |
|
19 |
14 //// |
20 //// |
15 _italic_:: |
21 _italic_:: |
16 Namen von Dateien, Programmen, Hosts, Domains, Mail-Header, URLS: _example.com_, _From:_ |
22 Namen von Dateien, Programmen, Hosts, Domains, Mail-Header, URLS: _example.com_, _From:_ |
17 *bold*:: |
23 o:fixed:: |
18 Namen von Exim-Routern, Transports, Authenticators: *dnslookup*-Router |
24 Kommandos, Code-Beispiele, Exim-Konfigurations-Optionen: o:primary_hostname |
19 opt:fixed:: |
|
20 Kommandos, Code-Beispiele, Exim-Konfigurations-Optionen: opt:primary_hostname |
|
21 *+fixed bold+*:: |
25 *+fixed bold+*:: |
22 Hervorhebung von Kommandos, Nutzereingaben: *+exim -bV+* |
26 Hervorhebung von Kommandos, Nutzereingaben: *+exim -bV+* |
23 var:slanted:: |
|
24 Exim-Variablen im Text: var:$local_part oder var:$sender_address |
|
25 //// |
27 //// |
26 |
28 |
27 == Konfiguration |
29 d:bold:: |
28 |
30 Exim Treibernamen im Text: Der driver:dnslookup Router |
29 === File |
31 |
30 |
32 o:fixed:: |
31 * Das Konfigurationsfile wird in der Build-Konfiguration (_EDITME_) festgelegt. |
33 Exim Konfigurationoptionen im Text: o:primary_hostname |
|
34 |
|
35 i:slanted:: |
|
36 Exim Expansionsitems im Text: i:$local_part oder i:$sender_address |
|
37 (Variablen, Lookups, …) |
|
38 |
|
39 |
|
40 == Konfigurationsfiles |
|
41 |
|
42 == Build-Konfiguration _EDITME_ |
|
43 |
|
44 * Maintainer pflegt die _EDITME_ |
|
45 * Je nach Distro unterschiedliche Konfigurationen, teilweise sogar |
|
46 mehrere, wie 'fat', 'light', 'heavy'. |
|
47 |
|
48 $ exim -bV |
|
49 |
|
50 listet wesentliche in der Buildkonfiguration gewählte Features auf. |
|
51 |
|
52 === Runtime-Konfiguration _exim.conf_ |
|
53 |
|
54 * Der Name der Runtime-Konfiguration wird in der Build-Konfiguration gestgelegt. |
32 * Es ist auch eine Liste von Konfigurationsfiles möglich, der erste Treffer gewinnt. |
55 * Es ist auch eine Liste von Konfigurationsfiles möglich, der erste Treffer gewinnt. |
33 |
56 |
34 Das verwendete File läßt sich ermitteln mit: |
57 Das verwendete File läßt sich ermitteln mit: |
35 |
58 |
36 exim -bP configure_file |
59 $ exim -bP configure_file |
37 |
60 |
38 Das aktive Konfigurationsfile kann auch auf der Kommandozeile festgelegt |
61 Das aktive Konfigurationsfile kann auch auf der Kommandozeile festgelegt |
39 werden. Für einige Operationen muss der Pfad ein absoluter sein. Auch |
62 werden. Für einige Operationen muss der Pfad ein absoluter sein. Auch |
40 _/dev/null_ ist eine gültige Konfiguration. |
63 _/dev/null_ ist eine gültige Konfiguration. |
41 |
64 |
327 ein neuer String oder 'forced failure'. |
350 ein neuer String oder 'forced failure'. |
328 * Die Expansion der Strings erfolgt in der Regel erst im Bedarfsfall („late |
351 * Die Expansion der Strings erfolgt in der Regel erst im Bedarfsfall („late |
329 binding“). |
352 binding“). |
330 |
353 |
331 CAUTION: Es stehen aber nicht in jeder Phase alle Expansions-Items zur Verfügung. (z.B. |
354 CAUTION: Es stehen aber nicht in jeder Phase alle Expansions-Items zur Verfügung. (z.B. |
332 wird der Wert der globalen Option opt:message_size_limit expandiert, aber bereits |
355 wird der Wert der globalen Option o:message_size_limit expandiert, aber bereits |
333 während der Antwort auf das SMTP-HELO. In dieser Phase gibt es noch keinen |
356 während der Antwort auf das SMTP-HELO. In dieser Phase gibt es noch keinen |
334 var:$local_part). |
357 i:$local_part). |
335 |
358 |
336 .Debugging |
359 .Debugging |
337 exim -be [<string>] |
360 exim -be [<string>] |
338 exim -bem <message-file> [<string>] |
361 exim -bem <message-file> [<string>] |
339 exim -be -Mset <spool-id> [<string>] |
362 exim -be -Mset <spool-id> [<string>] |
500 |======================================================================= |
523 |======================================================================= |
501 |
524 |
502 == Acess Control Lists |
525 == Acess Control Lists |
503 |
526 |
504 ACL wirken für alle Phasen der SMTP-Session. Im globalen Teil werden die |
527 ACL wirken für alle Phasen der SMTP-Session. Im globalen Teil werden die |
505 Einstiegspunkte mit opt:acl_smtp_connect usw. definiert. Im ACL-Abschnitt der |
528 Einstiegspunkte mit o:acl_smtp_connect usw. definiert. Im ACL-Abschnitt der |
506 Konfiguration muss dann ein entsprechend genannter Block existieren. |
529 Konfiguration muss dann ein entsprechend genannter Block existieren. |
507 |
530 |
508 Die häufigsten Einstiegspunkte sind |
531 Die häufigsten Einstiegspunkte sind |
509 |
532 |
510 +acl_smtp_rcpt+:: |
533 +acl_smtp_rcpt+:: |
547 Wenn eine der Bedingungen *nicht* erfüllt ist, Abbruch mit 5xx, |
570 Wenn eine der Bedingungen *nicht* erfüllt ist, Abbruch mit 5xx, |
548 andernfalls weiter zum nächsten Block. U.U. keine finale |
571 andernfalls weiter zum nächsten Block. U.U. keine finale |
549 Entscheidung. |
572 Entscheidung. |
550 |
573 |
551 .Häufige ACL-Bedingungen |
574 .Häufige ACL-Bedingungen |
552 opt:hosts:: |
575 o:hosts:: |
553 Sender-Host-IP wird geprüft |
576 Sender-Host-IP wird geprüft |
554 |
577 |
555 hosts = +trusted_hosts |
578 hosts = +trusted_hosts |
556 |
579 |
557 opt:domains:: |
580 o:domains:: |
558 Empfänger-Domain wird geprüft |
581 Empfänger-Domain wird geprüft |
559 |
582 |
560 domains = +local_domains |
583 domains = +local_domains |
561 |
584 |
562 opt:senders:: |
585 o:senders:: |
563 Absender-Mailadresse wird geprüft |
586 Absender-Mailadresse wird geprüft |
564 |
587 |
565 senders = postmaster@example.com : hans@foo.bar |
588 senders = postmaster@example.com : hans@foo.bar |
566 |
589 |
567 opt:malware:: |
590 o:malware:: |
568 Malware-Content-Scan liefert einen Treffer |
591 Malware-Content-Scan liefert einen Treffer |
569 |
592 |
570 malware = * |
593 malware = * |
571 |
594 |
572 opt:spam:: |
595 o:spam:: |
573 SPAM-Content-Scan (_SpamAssassin_) |
596 SPAM-Content-Scan (_SpamAssassin_) |
574 |
597 |
575 spam = nobody/true |
598 spam = nobody/true |
576 |
599 |
577 opt:verify:: |
600 o:verify:: |
578 Empfänger- oder Absenderüberprüfung, eventuell auch mit _callout_. |
601 Empfänger- oder Absenderüberprüfung, eventuell auch mit _callout_. |
579 |
602 |
580 verify = recipient/callout=use_sender,defer_ok |
603 verify = recipient/callout=use_sender,defer_ok |
581 |
604 |
582 opt:ratelimit:: |
605 o:ratelimit:: |
583 Limitierungen aller Art (Menge, Größe, …) |
606 Limitierungen aller Art (Menge, Größe, …) |
584 |
607 |
585 ratelimit = 10/1h/$sender_address |
608 ratelimit = 10/1h/$sender_address |
586 |
609 |
587 opt:condition:: |
610 o:condition:: |
588 Sonstige Bedingungen aller Art |
611 Sonstige Bedingungen aller Art |
589 |
612 |
590 condition = ${run{perl}{graylist}{$sender_address/$local_part@$domain}} |
613 condition = ${run{perl}{graylist}{$sender_address/$local_part@$domain}} |
591 |
614 |
592 .ACL-Modifier |
615 .ACL-Modifier |
593 opt:message:: |
616 o:message:: |
594 Der Nachrichtenpuffer wird mit einem Text gefüllt. |
617 Der Nachrichtenpuffer wird mit einem Text gefüllt. |
595 |
618 |
596 message = 550 Sorry |
619 message = 550 Sorry |
597 |
620 |
598 opt:log_message:: |
621 o:log_message:: |
599 |
622 |
600 Der Nachritenpuffer für das Protokoll wird mit einem Text gefüllt. |
623 Der Nachritenpuffer für das Protokoll wird mit einem Text gefüllt. |
601 Sonst identisch zu +message+. |
624 Sonst identisch zu +message+. |
602 |
625 |
603 opt:logwrite:: |
626 o:logwrite:: |
604 Sofort einen Log-Eintrag |
627 Sofort einen Log-Eintrag |
605 |
628 |
606 opt:control:: |
629 o:control:: |
607 Steuert das weitere Verhalten der Nachrichtenverarbeitung |
630 Steuert das weitere Verhalten der Nachrichtenverarbeitung |
608 |
631 |
609 control = submission |
632 control = submission |
610 |
633 |
611 opt:set:: |
634 o:set:: |
612 ACL-Variablen setzen |
635 ACL-Variablen setzen |
613 |
636 |
614 set acl_m_domain = $domain |
637 set acl_m_domain = $domain |
615 set acl_c_host = $sender_host_address |
638 set acl_c_host = $sender_host_address |
616 |
639 |
617 opt:add_header:: |
640 o:add_header:: |
618 Header zum Hinzufügen vormerken |
641 Header zum Hinzufügen vormerken |
619 |
642 |
620 opt:remove_header:: |
643 o:remove_header:: |
621 Header zum Entfernen vormerken |
644 Header zum Entfernen vormerken |
622 |
645 |
623 opt:delay:: |
646 o:delay:: |
624 Fügt eine kurze Verarbeitungspause ein |
647 Fügt eine kurze Verarbeitungspause ein |
625 |
648 |
626 Ziel der ACL-Operations sollte es sein, möglichst viele Dinge zur SMTP-Zeit zu |
649 Ziel der ACL-Operations sollte es sein, möglichst viele Dinge zur SMTP-Zeit zu |
627 entscheiden und dann die SMTP-Verbindung mit 5xx zu beenden. Damit bleibt die |
650 entscheiden und dann die SMTP-Verbindung mit 5xx zu beenden. Damit bleibt die |
628 Verantwortung für die Bounce beim Absender. |
651 Verantwortung für die Bounce beim Absender. |