eximconf: log the current rate at which penalised senders are sending
[mirror/dsa-puppet.git] / modules / exim / templates / eximconf.erb
index 26ac977..036f717 100644 (file)
@@ -268,6 +268,9 @@ log_selector = \
                +queue_time_overall \
                +deliver_time \
                +received_recipients \
+               +sender_on_delivery \
+               +return_path_on_delivery \
+               +incoming_port \
                +unknown_in_list \
                +smtp_connection \
                +smtp_incomplete_transaction \
@@ -667,7 +670,7 @@ check_recipient:
          hosts         = !+debianhosts
          message       = mail from <$sender_address> not allowed externally
 
-  deny    condition     = ${if match_domain{$sender_address_domain}{+virtual_domains}}
+  deny    sender_domains= +virtual_domains
           condition     = ${if exists {${extract{directory}{VSENDERDOMAINDATA}{${value}/neversenders}}}}
           condition     = ${lookup{$sender_address_local_part}lsearch{${extract{directory}{VSENDERDOMAINDATA}{${value}/neversenders}}}{true}}
          message       = no mail should ever come from <$sender_address>
@@ -684,6 +687,12 @@ check_recipient:
   deny    condition      = ${if !eq {$acl_m_prf}{PopconMail}}
           !verify        = sender
 
+  warn    !hosts         = +debianhosts
+          condition      = ${if !eq {$acl_m_prf}{PopconMail}}
+          condition      = ${if >{${eval:$acl_c_scr+0}}{0}}
+          ratelimit      = 10 / 60m / per_rcpt / strict / $sender_host_address
+          log_message    = Sender rate $sender_rate / $sender_rate_period (limit: $sender_rate_limit)
+
   defer   !hosts         = +debianhosts
           condition      = ${if !eq {$acl_m_prf}{PopconMail}}
           condition      = ${if >{${eval:$acl_c_scr+0}}{0}}