What are local deliveries?

Top Page
Delete this message
Reply to this message
Author: Max Caines
Date:  
To: exim-users
Subject: What are local deliveries?
Exim thinks that deliveries to the host 'wbs.wlv.ac.uk', which is a mail
gateway here, are local. That is, testing goes like this:

exim -bt
> in1012@???

in1012@???
local delivery to in1012 in domain wbs.wlv.ac.uk
router = wbs_and_scitsc, transport = emil

Emil is an attachment format conversion package we use that can also do SMTP
deliveries. I don't understand why Exim thinks this is a local delivery, as
the host name doesn't match any of the names in 'local_domains' (my
'configure' file is below). Because it thinks the address is local, and
because the gateway was down over Xmas, we spent quite a time with Exim
rejecting messages for delivery to the gateway after the first attempt, as
specified on page 102 of the manual:

"If the delivery is a local one, one delivery attempt is always made for
subsequent messages. If it fails, the address fails immediately."

It was only when I deleted the retry database that it started doing multiple
attempts to deliver to this gateway.

I should mention that the MX entry for 'wbs.wlv.ac.uk' points to the hub
running Exim, which is why I have a special router entry for it.

Even if I reduce 'local_domains' to 'wlv.ac.uk:wolverhampton.ac.uk' Exim
still thinks deliveries to 'wbs.wlv.ac.uk' are local.

This may be something obvious that I have missed; if so my apologies.

--------------------------------------

######################################################################
#                  Runtime configuration file for Exim               #
######################################################################


# MAIN SECTION

# Tell Exim local hostname is a valid deliver address

local_domains_include_host

# Specify the domain you want to be added to all unqualified addresses
# here. If this option is not set, the primary_hostname value is used.

qualify_domain = wlv.ac.uk

# Domains to which mail may be relayed by anyone, and addresses that
# may relay mail to anyone via here.

relay_domains = "*.wlv.ac.uk"
sender_net_accept_relay = 134.220.0.0/255.255.0.0:195.188.246.0/255.255.255.0
sender_host_accept_relay = "fc.bilston.ac.uk:stourbridge.ac.uk"

# Senders from whom mail will be rejected.

sender_host_reject_recipients = "lsearch;/usr/local/exim/spamhosts"
sender_reject_recipients = "lsearch;/usr/local/exim/spammers"

# Reserve 40 connections for local use (Simeon and Eudora)

smtp_reserve_nets = 134.220.0.0/255.255.0.0:195.188.246.0/255.255.255.0
smtp_accept_max = 70
smtp_accept_reserve = 50

# If you want unqualified recipient addresses to be qualified with a different
# domain to unqualified sender addresses, specify the recipient domain here.
# If this option is not set, the qualify_domain value is used.

# qualify_recipient =

# Networks from which and for which unqualified addresses are accepted

receiver_unqualified_nets = 134.220.0.0/255.255.0.0:195.188.246.0/255.255.255.0
sender_unqualified_nets = 134.220.0.0/255.255.0.0:195.188.246.0/255.255.255.0

# Specify your local domains as a colon-separated list here. If this option
# is not set, the qualify_recipient value is used as the only local domain.
# If you do not want to do any local deliveries, uncomment the following line,
# but do not supply any data for it.

local_domains = "wlv.ac.uk:wolverhampton.ac.uk:\
                 ^(ccu.|unad.|sys[ab]|caesa|mail)(\\.(wlv|wolverhampton)\\.a
c\\.uk)?$"


# No local deliveries will ever be run under the uids of these users.

never_users = root

# If you are running Exim under its own uid (recommended), then you should
# set up that uid as a trusted user by de-commenting the following and
# changing the name if necessary.

trusted_users = "exim:root:daemon:majordom"

# User name Exim runds under

exim_user = exim

# Group Exim runs under

exim_group = exim

# RFC1413 validation for external access only

rfc1413_except_nets = 134.220.0.0/255.255.0.0:195.188.246.0/255.255.255.0

# Use SETEUID to change UID

security = seteuid

# Allow SMTP VRFY command

smtp_verify = yes

# Allow source routed addresses

percent_hack_domains = *

# Auto-thaw frozen messages after 2 days

auto_thaw = 2d

# Limit maximum message size

message_size_limit = 5M

# Connection limits

smtp_connect_backlog = 20

# Attempt to verify sender addresses on incoming mail

sender_try_verify
sender_verify_reject

end

# TRANSPORTS SECTION

# This transport is used for local delivery to user mailboxes.

local_delivery:
driver = pipe;
command = "/usr/local/bin/emil -r ${local_part} -s ${sender_address} -x
${primary_hostname} -m procmail",
return_path_add,
from_hack

# This transport is used for handling pipe addresses generated by alias
# or .forward files. It has a conventional name, since it is not actually
# mentioned elsewhere in this configuration file.

address_pipe:
driver = pipe;
restrict_to_path,
path = "/usr/adm/sm.bin",
ignore_status

# This transport is used for handling file addresses generated by alias
# or .forward files. It has a conventional name, since it is not actually
# mentioned elsewhere in this configuration file.

address_file:
driver = appendfile

# This transport is used for handling autoreplies generated by the filtering
# option of the forwardfile director. It has a conventional name, since it
# is not actually mentioned elsewhere in this configuration file.

address_reply:
driver = autoreply

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

smtp:
driver = smtp;

# Emil delivers does attachment format conversion, but otherwise works
# like a standard SMTP transport.

emil:
driver = pipe;
command = "/usr/local/bin/emil -r ${local_part}@${host} -s
${sender_address} -x ${host} -n",
no_delivery_date_add,
pipe_as_creator

end

# DIRECTORS SECTION

# This contains all local aliases collected together

system_aliases:
driver = aliasfile;
file = /usr/local/exim/aliases,
user = nobody,
group = nobody,
search_type = dbm

# Site-wide aliases via NIS.

YPaliases:
driver=aliasfile;
file = "mail.aliases",
search_type = nis0

# This director handles forwarding using traditional .forward files.
# If you want it also to allow mail filtering when a forward file
# starts with the string "# Exim filter", uncomment the "filter" option.

userforward:
no_verify,
driver = forwardfile;
file = .forward,
# filter

# This director matches local user mailboxes.

localuser:
driver = localuser,
transport = local_delivery;

end

# ROUTERS SECTION

# Pseudo-domains: only UUCP left

oddities:
driver = domainlist;
route_list = "*.uucp uknet.ac.uk"

# Run all messages for WBS and SCITSC through the attachment converter

wbs_and_scitsc:
  driver = domainlist,
  transport = emil;
  route_list = "^wbs(\\.(wlv|wolverhampton)\\.ac\\.uk)?$ wbs.wlv.ac.uk bydns_a;\
                ^scitsc(\\.(wlv|wolverhampton)\\.ac\\.uk)?$ scitsc.wlv.ac.uk
bydns_a"


# Override DNS MX settings for SYSC mail

sysc:
driver = domainlist,
transport = smtp;
route_list = "^sysc(\\.(wlv|wolverhampton)\\.ac\\.uk)?$ sysc.wlv.ac.uk
bydns_a"

# This router routes to remote hosts over SMTP using a DNS lookup with
# default options.

lookuphost:
driver = lookuphost,
transport = smtp;

# This router routes IP addresses

ipliteral:
driver = ipliteral,
transport = smtp;

end

# RETRY SECTION

# This single retry rule applies to all domains and all errors. It specifies
# retries every 15 minutes for 2 hours, then increasing retry intervals,
# starting at 2 hours and increasing each time by a factor of 1.5, up to 16
# hours, then retries every 8 hours until 4 days have passed since the first
# failed delivery.

# Domain                                     Error       Retries
# ------                                     -----       -------


^wbs(\\.(wlv|wolverhampton)\\.ac\\.uk)?$     *           F,7d,2h
*                                            *           F,2h,15m;
G,16h,2h,1.5; F,4d,8h


end

# REWRITE SECTION

# There are no rewriting specifications in this default configuration file.

# End of Exim configuration file

+-------------------------------------------------------------------+
|  Max Caines                  |  M.B.Caines@???              |
|  Technical Services Manager  |  JANET: M.B.Caines@???       |
|  Computer Centre             |  Phone: 01902 322245               |
|  Wolverhampton University    |  Fax: 01902 322777                 |

+-------------------------------------------------------------------+