frames/smarthost.tex
changeset 12 e3ac4157aae4
--- /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