# HG changeset patch # User Heiko Schlittermann # Date 1525122607 -7200 # Node ID ed76ddec8658a78287c0ec35ce32a7ec3033f6d1 # Parent d62e15c7bccfba7b76945c69a5007ef65c25d5ea Moved to git.schlittermann.de/user/heiko/exim/smart-config diff -r d62e15c7bccf -r ed76ddec8658 README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README Mon Apr 30 23:10:07 2018 +0200 @@ -0,0 +1,1 @@ +Moved to git.schlittermann.de/user/heiko/exim/smart-config diff -r d62e15c7bccf -r ed76ddec8658 exim4.conf --- a/exim4.conf Wed Mar 18 23:23:01 2015 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -# this is by no way a complete configuration file! -# it's just intended as a starting point -# source: hg clone https://ssl.schlittermann.de/hg/exim-smart-config - -# The smarthosts file -# ------------------- -# All relevant information about the smarthosts is stored -# in one place. This place is the "smarthosts" file. The structure -# is simple. It consists of lines as in the example: -# -# # sender |servers[::port] |user|password -# # -----------+-----------------+----+--------- -# foo@bar.com foobar.com foo secret -# baz@bar.com a.com:b.com::25 foo sicrit -# *@bar.com bar.com/mx:25 fuz secret2 -# * smtp.gmail.com xxx baz -# -# Note: the "servers::[port]" field is used as "route_data", thus all -# rules for route_data apply (see spec.txt, 20.3). -# - multiple servers are colon (:) separated -# - you can use indirect lists by appending /mx -# - you can specifiy a port number numerically (per default we use 587) - -SMARTHOSTS = /home/heiko/l/exim/smart-config/smarthosts.example - -# some macros to ease the understanding -ADDRESS_DATA = ${lookup{$sender_address}lsearch*@{SMARTHOSTS}{${sg{$value}{\\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 = smtpa - -# in case you don't have a '*' line in your smarthosts file - -dnslookup: - driver = dnslookup - domains = !+local_domains - transport = smtp - no_more - -begin transport - -smtpa: - 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 diff -r d62e15c7bccf -r ed76ddec8658 smarthosts.example --- a/smarthosts.example Wed Mar 18 23:23:01 2015 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -# file: smarthosts -# sender address |submission-server[::port]|user-name |password -# or *@domain, or * | default 587 | | -#----------------------+-------------------------+-----------------------+---------- -hans@example.com mx.freenet.de::25 hans@example.com xxx -*@example.com ssl.schlittermann.de heiko@schlittermann.de Gheim -* smtp.km21.com km433221 zecrit -