]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
Add mailhubdomains for hub/spoke setup
authorStephen Gran <steve@lobefin.net>
Sun, 5 Apr 2009 12:44:35 +0000 (13:44 +0100)
committerStephen Gran <steve@lobefin.net>
Sun, 5 Apr 2009 12:44:35 +0000 (13:44 +0100)
Signed-off-by: Stephen Gran <steve@lobefin.net>
modules/exim/files/common/exim4.conf

index b953e51fb79e6f8ad5632d0eaf0a5731dd899eb3..b84b4777cd79c152f1a275645cecd84dc734bc24 100644 (file)
 #           us. This is primarily only usefull for emergancy 'queue
 #           flushing' operations, but should be populated with a list
 #           of trusted machines. Wildcards are not permitted
+#  mailhubdomains - Domains for which we are the MX, but the mail is relayed
+#           elsewhere.  This is designed for use with small volume or
+#           restricted machines that need to use a smarthost for mail
+#           traffic.  We will relay for them based on ssl cert validation
+#           but we need to teach exim how to route the mail to them.  This is
+#           that list.
 # The division of files is designed so that all hosts may share rcpthosts
 # and relayhosts, these could be replicated automatically if necessary.
 
@@ -115,6 +121,7 @@ localpartlist local_only_users = lsearch;/etc/exim4/localusers
 # accept mail for them.
 domainlist rcpthosts = partial-lsearch;/etc/exim4/rcpthosts
 hostlist debianhosts = 127.0.0.1 : net-lsearch;/var/lib/misc/thishost/debianhosts
+domainlist mailhubdomains = lsearch;/etc/exim4/mailertable
 
 .ifndef RESERVEDADDRS
 RESERVEDADDRS = 0.0.0.0/8 : 127.0.0.0/8 : 10.0.0.0/8 : 169.254.0.0/16 : \
@@ -607,6 +614,11 @@ check_recipient:
           !hosts   = +debianhosts : WHITELIST
          !verify  = sender/callout
 
+  accept  domains  = +mailhubdomains
+          endpass
+         message  = unknown user
+         verify   = recipient/callout,defer_ok
+
   accept  domains  = +handled_domains
           endpass
          message  = unknown user
@@ -723,6 +735,13 @@ begin routers
 #     An address is passed to each in turn until it is accepted.     #
 ######################################################################
 
+relay_manualroute:
+  driver = manualroute
+  domains = +mailhubdomains
+  transport = remote_smtp
+  route_data = ${lookup{$domain}lsearch{/etc/exim4/mailertable}}
+  require_files = /etc/exim4/mailertable
+
 bsmtp:
   debug_print = "R: bsmtp for $local_part@$domain"
   driver = manualroute