CONFDIR = /usr/exim
log_selector = +subject
primary_hostname = smtp-1.discovery.co.za

system_filter = CONFDIR/system_filter

domainlist local_domains = @
domainlist relay_to_domains = discovery.co.za:discoveryhealth.co.za:discoverylife.co.za:discoveryvitality.co.za:discoveryworld.co.za:destinyhealth.com:dev.discovery.co.za:eetest.discoveryhealth.co.za:dcs.discovery.co.za:dcs.discoveryhealth.co.za:discoverymarketing.co.za:discoverylink.co.za:francois.destinyhealth.com:johan.discovery.co.za:pruhealth.co.uk
hostlist   relay_from_hosts = localhost:192.168.0.1,192.168.0.2

daemon_smtp_ports = 26
smtp_accept_max = 300
smtp_accept_max_per_host = 75
remote_max_parallel = 12
queue_run_max = 8

return_size_limit = 10K
message_size_limit = 10M

acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data

qualify_domain = discovery.co.za

exim_user = exim
exim_group = exim
never_users = root

host_lookup = *

ignore_bounce_errors_after = 2d
timeout_frozen_after = 4d

begin acl

# This access control list is used for every RCPT command in an incoming
# SMTP message. The tests are run in order until the address is either
# accepted or denied.

acl_check_rcpt:

  accept  hosts = :

  deny    message       = Restricted characters in address
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]

  deny    message       = Restricted characters in address
          domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

  # Deny mail for these recipients.
  deny    message       = User blocked from receiving mail
          recipients    = @@partial0-lsearch;CONFDIR/recipient.black.list

  accept  local_parts   = postmaster
          domains       = +local_domains

  #require verify        = sender

  accept  hosts         = +relay_from_hosts
          control       = submission

  require message = relay not permitted
          domains = +local_domains : +relay_to_domains

  #require verify = recipient

  accept

acl_check_data:
  accept

begin routers

forcepath:
  driver = manualroute 
  domains = +relay_to_domains
  transport = remote_smtp
  hosts_randomize = true
  route_data = ${lookup{$domain}partial0-lsearch{CONFDIR/forcepath.list}}
  same_domain_copy_routing = yes
  host_find_failed = defer
  no_more

dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more

system_aliases:
  driver = redirect
  allow_fail
  allow_defer
  data = ${lookup{$local_part}lsearch{/etc/aliases}}
  user = exim
  group = mail
  file_transport = address_file
  pipe_transport = address_pipe

begin transports


# This transport is used for delivering messages over SMTP connections.

remote_smtp:
  driver = smtp


local_delivery:
  driver = appendfile
  file = /var/mail/$local_part
  delivery_date_add
  envelope_to_add
  return_path_add
  group = mail
  user = $local_part
  mode = 0660
  no_mode_fail_narrower


address_pipe:
  driver = pipe
  return_output

address_file:
  driver = appendfile
  delivery_date_add
  envelope_to_add
  return_path_add


address_reply:
  driver = autoreply


begin retry

*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h
#noc.discovery.co.za    *           F,2h,15m; G,16h,1h,1.5; F,4d,6h
#infoslips.com          *           F,2h,15m; G,16h,1h,1.5; F,4d,6h
#*                      *           F,4d,4h


begin rewrite
