equal
deleted
inserted
replaced
6 \begin{itemize} |
6 \begin{itemize} |
7 \item Debian geht einen sonder(baren) Weg |
7 \item Debian geht einen sonder(baren) Weg |
8 \item Beispiel-Konfig \verb=example.conf.gz= als Ausgangspunkt |
8 \item Beispiel-Konfig \verb=example.conf.gz= als Ausgangspunkt |
9 \item \verb=exim -bV= listet die verwendete Konfigurationsdatei und |
9 \item \verb=exim -bV= listet die verwendete Konfigurationsdatei und |
10 einkompilierte Features |
10 einkompilierte Features |
11 \begin{scriptsize} |
11 \begin{small} |
12 \ttinput{exim_bV.tt} |
12 \ttinput{exim_bV.tt} |
13 \end{scriptsize} |
13 \end{small} |
14 \end{itemize} |
14 \end{itemize} |
15 \end{frame} |
15 \end{frame} |
16 |
16 |
17 \subsection{Struktur} |
17 \subsection{Struktur} |
18 |
18 |
19 \begin{frame}[<+->][fragile]{Konfiguration}{Struktur} |
19 \begin{frame}[<+->][fragile]{Konfiguration}{Struktur} |
20 Strukturiertes Konfigurationsfile mit mehreren Abschnitten, teilweise |
20 Strukturiertes Konfigurationsfile mit mehreren Abschnitten, teilweise |
21 miteinander verlinkt (Router referenziert Tranports, globaler Teil |
21 miteinander verlinkt (Router referenziert Tranports, globaler Teil |
22 referenziert ACL) |
22 referenziert ACL) |
23 \pause |
23 \pause |
24 \begin{scriptsize} |
24 \begin{small} |
25 \begin{verbatim} |
25 \begin{verbatim} |
26 … |
26 … |
27 begin acl |
27 begin acl |
28 … |
28 … |
29 begin routers |
29 begin routers |
30 … |
30 … |
31 \end{verbatim} |
31 \end{verbatim} |
32 \end{scriptsize} |
32 \end{small} |
|
33 \pause |
33 \begin{description} |
34 \begin{description} |
34 \item[global] knapp 240 allgemeine Direktiven |
35 \item[global] knapp 240 allgemeine Direktiven |
35 \item[acl] Access Control Lists für SMTP |
36 \item[acl] Access Control Lists für SMTP |
36 \item[routers] Routing-Regeln (genutzt auch von ACL) |
37 \item[routers] Routing-Regeln (genutzt auch von ACL) |
37 \item[transports] Transport-Mechanismen |
38 \item[transports] Transport-Mechanismen |
42 \end{frame} |
43 \end{frame} |
43 |
44 |
44 \subsection{Syntax} |
45 \subsection{Syntax} |
45 |
46 |
46 \begin{frame}[fragile]{Konfiguration}{Syntax} |
47 \begin{frame}[fragile]{Konfiguration}{Syntax} |
47 \begin{exampleblock}{Macros, Kommentar, lange Zeilen} |
48 \begin{block}{Macros, Kommentar, lange Zeilen} |
48 \begin{verbatim} |
49 \begin{verbatim} |
49 # Super! |
50 # Super! |
50 CF = /etc/exim4/ |
51 CF = /etc/exim4/ |
51 USER_BASE = ou=users,BASE |
52 USER_BASE = ou=users,BASE |
52 BASE = dc=example,dc=com |
53 BASE = dc=example,dc=com |
53 received_header_text = Received: ${if def:sender_rcvhost \ |
54 received_header_text = Received: ${if def:sender_rcvhost \ |
54 from $sender_rcvhost\n\t}{${if def:sender_ident {from \ |
55 from $sender_rcvhost\n\t}{${if def:sender_ident {from \ |
55 … |
56 … |
56 def:received_for {\n\tfor $received_for}} |
57 def:received_for {\n\tfor $received_for}} |
57 \end{verbatim} |
58 \end{verbatim} |
58 \end{exampleblock} |
59 \end{block} |
59 \pause |
60 \pause |
60 Der Rest ist einfach :) |
61 Der Rest ist einfach :) |
61 \begin{alltt} |
62 \begin{alltt} |
62 primary_hostname = foo.example.com |
63 primary_hostname = foo.example.com |
63 \end{alltt} |
64 \end{alltt} |
81 \begin{description} |
82 \begin{description} |
82 \item[Variablen] \verb=$local_part=, \verb=${local_part}= |
83 \item[Variablen] \verb=$local_part=, \verb=${local_part}= |
83 \item[Operatoren] \verb=${md5:$local_part}=, \verb=${uc:$domain}= |
84 \item[Operatoren] \verb=${md5:$local_part}=, \verb=${uc:$domain}= |
84 \item[Manipulation] \verb=${sg{$local_part}{.laus}{XXX}}= |
85 \item[Manipulation] \verb=${sg{$local_part}{.laus}{XXX}}= |
85 \item[Bedingungen] \verb=${if eq{$local_part}{x}{~/mbox}{~/.mail}}= |
86 \item[Bedingungen] \verb=${if eq{$local_part}{x}{~/mbox}{~/.mail}}= |
86 \item[Lookup/Key] \verb=${lookup{$local_part}lsearch{/etc/aliases}}= |
87 \item[Key-Lookup] \verb=${lookup{$local_part}lsearch{/etc/aliases}}= |
87 \item[Lookup/Query] \verb+${lookup dnsdb{mx=example.com}}+ |
88 \item[Query-Lookup] \verb+${lookup dnsdb{mx=example.com}}+ |
88 \end{description} |
89 \end{description} |
89 \end{frame} |
90 \end{frame} |
90 |
91 |
91 \begin{frame}[fragile]{String-Expansion}{Wenn nichts mehr geht} |
92 \begin{frame}[fragile]{String-Expansion}{Wenn nichts mehr geht} |
92 Als letzte Hilfe gibt es die Möglichkeit, Sockets auszulesen, Perl zu |
93 Als letzte Hilfe gibt es die Möglichkeit, Sockets auszulesen, Perl zu |
96 ${readsocket{<socket>}{<request>}} |
97 ${readsocket{<socket>}{<request>}} |
97 ${run{<command>[<arg>]…}} |
98 ${run{<command>[<arg>]…}} |
98 ${perl{<sub>}[{<arg>}…]} |
99 ${perl{<sub>}[{<arg>}…]} |
99 \end{verbatim} |
100 \end{verbatim} |
100 \pause |
101 \pause |
101 \begin{exampleblock}{Greylisting} |
102 \begin{block}{Greylisting} |
102 \begin{verbatim} |
103 \begin{verbatim} |
103 GREYKEY = $sender_address/$local_part@$domain |
104 GREYKEY = $sender_address/$local_part@$domain |
104 perl_startup = do '/etc/exim4/exim-exigrey.pl' |
105 perl_startup = do '/etc/exim4/exim-exigrey.pl' |
105 acl_smtp_rcpt = acl_check_rcpt |
106 acl_smtp_rcpt = acl_check_rcpt |
106 … |
107 … |
108 cl_check_rcpt: |
109 cl_check_rcpt: |
109 … |
110 … |
110 defer condition = ${perl{unseen}{GREYKEY}{1d}} |
111 defer condition = ${perl{unseen}{GREYKEY}{1d}} |
111 … |
112 … |
112 \end{verbatim} |
113 \end{verbatim} |
113 \end{exampleblock} |
114 \end{block} |
114 \end{frame} |
115 \end{frame} |
115 |
116 |
116 |
117 |