trusted_users = <%= node[:exim][:trusted_users].join(" : ") %>
+# Don't keep any environment when starting programs - this is the
+# default but setting it stops exim warning
+
+keep_environment =
+
+
######################################################################
# ACL CONFIGURATION #
deny message = Restricted characters in address
domains = !+local_domains
- local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
+ local_parts = ^[./|] : ^.*[@!] : ^.*/\\.\\./
#############################################################################
+ # Block bounces to selected addresses
+
+ deny local_parts = root:postmaster:webmaster:abuse:support
+ senders = :
+
+ # Block sender of spam backscatter
+
+ deny senders = www-data@www.easyticket.de:*@email.realestate.co.nz:sipdentistry@mail.mediaworksonline.com:www-data@*.consoglobe.com:lina-noreply@jobstreet.com:apache@704210-web2.tristatecamera.com:webmaster@openstreetmap.org
+ !hosts = +relay_from_hosts
+
# Accept mail to postmaster in any local domain, regardless of the source,
# and without verifying the sender.
deny !hosts = +relay_from_hosts
!verify = sender
- deny !hosts = +relay_from_hosts
- !senders = lsearch*@;/etc/exim4/callout_exempt_senders
- !verify = sender/callout/defer_ok
-
# Accept if the message comes from one of the hosts for which we are an
# outgoing relay. It is assumed that such hosts are most likely to be MUAs,
# so we set control=submission to make Exim treat the message as a
message = This message scored $spam_score SpamAssassin points.
<% end -%>
+ # Deny spammy messages with headers of the form:
+ # X-PHP-Originating-Script: <digits>:SendMail.class.php
+ # X-PHP-Originating-Script: <digits>:ExtendedMail.class.php
+ deny condition = ${if match {$h_X-PHP-Originating-Script:}{^[0-9]+:(Send|Extended)Mail\\.class\\.php\$}}
+ message = This message failed local spam checks.
+
# Accept the message.
accept
system_aliases:
driver = redirect
- domains = +local_domains
+ domains = !noreply.openstreetmap.org : +local_domains
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
driver = pipe
command = <%= details[:command] %>
home_directory = <%= details[:home_directory] %>
+ path = <%= details[:path] || "/bin:/usr/bin" %>
return_output
<% else -%>
driver = appendfile
# There are no rewriting specifications in this default configuration file.
begin rewrite
+<% node[:exim][:rewrites].each do |rewrite| -%>
+<%= rewrite[:pattern] %> <%= rewrite[:replacement] %> <%= rewrite[:flags] %>
+<% end -%>