diff -r 234207b61f7c -r 0f80f11be279 frames/smart.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/frames/smart.tex Fri May 09 16:55:18 2014 +0200 @@ -0,0 +1,92 @@ +\subsection{Viele Smarthosts} + +\begin{frame}[<+->][fragile]{Beispiel}{Smarthost - Vorversuche} +\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}{Lösung} +Wir müssen beim Routing die Sender-Adresse als Kriterium verwenden, nicht die Zieladresse! +\begin{alltt} + $ exim -be\pause + > $\{lookup\{foo@example.org\}lsearch*@\{smarthosts\}\{$value\}\} + smtp.km21.com km433221 zecrit\pause + > $\{sg\{smtp.km21.com km433221 zecrit\}\{\BS\BS{}s+\}\{\BS{}t\}\} + smtp.km21.com km433221 secrit\pause + > $\{extract\{1\}\{\BS{}t\}\{smtp.km21.com km433221 secrit\}\} + smtp.km21.com\pause +\pause +\end{alltt} +\end{block} +\end{frame} + +\begin{frame}[<+->][fragile]{Beispiel}{Viele Smarthosts - Config} +Das kann jetzt schön in Macros verpackt werden, damit es übersichtlich +wird: +\begin{verbatim} + ADDRESS_DATA = ${lookup{foo@example.org}\ + lsearch*@{smarthosts}\ + {${sg{$value}{\\s+}{\t}}}} + SMARTHOST = ${extract{1}{\t}{$address_data}} + USER = ${extract{2}{\t}{$address_data}} + PASS = ${extract{3}{\t}{$address_data}} +\end{verbatim} +\end{frame} + +\begin{frame}[<+->][fragile]{Beispiel}{Viele Smarthosts - Config 2} +\begin{small} +\begin{verbatim} + begin routers + + smarthosts: + driver = manualroute + address_data = ADDRESS_DATA + route_data = SMARTHOST + transport = smtpa + no_more + + begin transports + + smtpa: + driver = smtp + port = submission + hosts_require_auth = * + + begin authenticators + + plain: + driver = plaintext + public_name = PLAIN + client_send = ^USER^PASS +\end{verbatim} +\end{small} +\end{frame} + +\begin{frame}[<+->][fragile]{Beispiel}{Viele Smarthosts - Test} +Das Routing können wir wieder relativ einfach testen: +\pause +\begin{alltt} +$ exim -f hans@example.com -t nobody@discworld.com +nobody@discworld.com + router = smarthosts, transport = smtpa + host mx.freenet.de [2001:748:100:40::8:112] port=25 + host mx.freenet.de [195.4.92.212] port=25 +\pause +$ exim -f fred@example.com -t … +nobody@nowhere + router = smarthosts, transport = smtpa + host ssl.schlittermann.de [212.80.235.130] +\pause +$ exim -f fred@foobar.com -t … +nobody@nowhere + router = smarthosts, transport = smtpa + host smtp.km21.com [54.209.129.218] +\end{alltt} + +Und natürlich haben wir die ganzen Debug-Optionen noch, für +Expansion, DNS, … + +\end{frame}