--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/frames/smarthost.tex Fri May 09 13:26:43 2014 +0200
@@ -0,0 +1,65 @@
+\section{Beispiel}
+\subsection{Viele Smarthosts}
+
+\begin{frame}{Beispiel}{Smarthost}
+\begin{block}{Aufgabe}
+Wir haben mehrere Smarthosts und müssen je nach Sender-Adresse über
+einen anderen Smarthost versenden.
+\end{block}
+\begin{scriptsize}
+\verbatiminput{smart-config/smarthosts.example}
+\end{scriptsize}
+
+\begin{block}{Routing}
+Wir müssen beim Routing die Sender-Adresse als Kriterium
+verwenden, nicht die Zieladresse!
+\end{block}
+\end{frame}
+
+
+# some macros to ease the understanding
+ADDRESS_DATA = ${sg{${lookup{$sender_address}lsearch*@{SMARTHOSTS}}}{\\s+}{\t}}
+SMARTHOST = ${extract{1}{\t}{$address_data}}
+USER = ${extract{2}{\t}{$address_data}}
+PASS = ${extract{3}{\t}{$address_data}}
+
+domainlist local_domains = @
+
+begin router
+
+# the first router routes according the sender_address
+smarthosts:
+ driver = manualroute
+ address_data = ADDRESS_DATA
+ route_data = SMARTHOST
+ transport = smtp_auth
+
+# in case you don't have a '*' line in your smarthosts file
+
+dnslookup:
+ driver = dnslookup
+ domains = !+local_domains
+ transport = smtp
+ no_more
+
+begin transport
+
+smtp_auth:
+ driver = smtp
+ port = submission
+ hosts_require_auth = *
+
+smtp:
+ driver = smtp
+
+begin authenticators
+
+plain:
+ driver = plaintext
+ public_name = PLAIN
+ client_send = ^USER^PASS
+
+login:
+ driver = plaintext
+ public_name = LOGIN
+ client_send = :USER:PASS