[Exim] Unrouteable Address

Top Page
Delete this message
Reply to this message
Author: Random Logick
Date:  
To: exim-list
Subject: [Exim] Unrouteable Address
Hi all,

Save me - I have to use Yahoo mail!

I've searched and searched and tried all sorts of
stuff I've found on the net, but I can't seem to
resolve this.
?
I'm trying to send a message to user 'random' on a box
who's hostname is 'random' via:
?
/usr/bin/exim/exim postmaster
From: me
To: random
Subject: test
?
blah blah blah
^D
?
Tailing the mainlog, I see this for each time I try to
send the mail:
?
2004-02-13 12:59:59 1Arhbb-0000AL-8Z <= random@random
U=random P=local S=318
2004-02-13 12:59:59 1Arhbb-0000AL-8Z ** random@random
<postmaster@random>: Unrouteable address
2004-02-13 12:59:59 1Arhbb-0000AN-AJ <= <>
R=1Arhbb-0000AL-8Z U=mail P=local S=1118
2004-02-13 12:59:59 1Arhbb-0000AN-AJ ** random@random:
Unrouteable address

The paniclog is empty.
?
The rejectlog has one line for each failed message:
?
2004-02-13 06:57:55 unqualified recipient rejected:
<random> H=localhost [127.0.0.1]
?
I'm running Debian (Woody), with Exim built from 4.3
source.? exim -bV reports:
?
Exim version 4.30 #1 built 06-Feb-2004 21:41:35
Copyright (c) University of Cambridge 2003
Probably Berkeley DB version 1.8x (native mode)
Support for: iconv()
Lookups: lsearch wildlsearch nwildlsearch dbm dmbnz
Authenticators:
Routers: accept dnslookup ipliteral manualroute
queryprogram redirect
Transports: appendfile autoreply pipe smtp
Fixed never_users: 0
Configuration file is /etc/exim/configure

My /etc/aliases points 'postmaster' to 'root' and
'root' to 'random'.
?
I even went so far as to write a new config file from
scratch so I know what it's doing.? That didn't help,
but I learned a lot.? Here's my current config file:
?
### GENERAL CONFIGURATION

# Unset, Exim will use uname() to get the hostname.
#primary_hostname =

# Domains that are delivered on the local host. @
means local host, thus, if
# we're random.logickal.net, the @ means
anyone@???
domainlist local_domains = @

# Do not relay for any domains (localhost relaying is
handled later...)
domainlist relay_to_domains =

# Used later to permit relaying to/from anyone on this
list.
hostlist relay_from_hosts = 127.0.0.1

# Specified the Access Control List (defined later) to
be used on every SMTP
# receipt.
acl_smtp_rcpt = acl_check_rcpt

# If entered, forces exim to construct email addresses
as
# username@qualified_domain. If unset, email
addresses default to
# username@hostname
#qualify_domain =
#qualify_recipient =

# Uncomment this line if you want exim to recognize
addresses of the format
# user@192.168.2.100. It's rarely used any more,
except by mail abusers.
#allow_domain_literals

# A security measure, this restricts mail delivery to
NOT be run as this
# user. Typically, this is root.
never_users = root

# Uncomment this line to do a reverse DNS lookup on
each host attempting
# to send mail. This is not necessary if you're only
accepting mail from
# localhost.
#host_lookup = *

# Perform IDENT callbacks for incoming SMTP calls. A
timeout value of 0s
# disables the calls. IDENT calls are cheap and can
provide useful info.
rfc1413_hosts = *
rfc1413_query_timeout = 30s

# The following senders and recipients can send and
receive mail via
# unqualified addresses. Basically, these are the
hosts that are allowed
# to send and receive mail using just usernames.
#sender_unqualified_hosts = @
#recipient_unqualified_hosts = @

# A list of domains that the percent hack will work
for.
#percent_hack_domains =

# Discard failed messages after X days
ignore_bounce_errors_after = 2d

# Timeout and discard frozen messages after X days
timeout_frozen_after = 7d

### ACL CONFIGURATION

begin acl

# Define our "acl_check_rcpt" used by acl_smtp_rcpt
above. This ACL is
# used for every recipient of an incoming SMTP
message.

acl_check_rcpt:
# Put an empty item in the list. It matches mail
that was sent via
# localhost
accept hosts = :

  # These are restrictions to email addresses.  If an
incoming address
  # contains "@%!/|" or dots in odd spots, the mail is
rejected.
  # Outgoing address restrictions are lessened, just
in case they're
  # valid characters there.
  deny  domains     = +local_domains
        local_parts = ^[x] : %.*[@%!/|]
  deny  domains     = !+local_domains
        local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./


  # Accept an incoming address if the local part is
"postmaster" and the
  # domain is one listed in "local_domains" above.
Mail to this address
  # is never blocked.
  accept  local_parts = postmaster
          domains     = +local_domains


# Require the sender address to be verified via a
"bounce" message.
# If it can't, then the message is rejected.
require verify = sender

  # Blacklist checking... not sure where this info
comes from.
#   deny  message      = rejected because
$sender_host_address \
#                        is in a black list at
$dnslist_domain\n\
#                        $dnslist_text
#         dnslists     = black.list.example
#
#   warn  message      = X-Warning:
$sender_host_address is \
#                        in a black list at
$dnslist_domain
#         log_message  = found in $dnslist_domain
#         dnslists     = black.list.example


  # Accept an incoming address if its domain is local
and the address
  # can be verified.  If the domain isn't local, fail
with message
  # "unknown user"
  accept  domains = +local_domains
          endpass
          message = unknown user
          verify  = recipient


  # Accept an incoming address if it's domain is in
our relay_from_hosts
  # list and can be verified
  accept  hosts   = +relay_to_domains
          endpass
          message = unrouteable address
          verify  = recipient


# We're neither a local domain, nor a relay domain,
so try to relay
# according to the relay_from_hosts list.
accept hosts = +relay_from_hosts

# Accept messages from authenticated hosts. Since
we haven't
# authenticated any, they all fail.
accept authenticated = *

# No way to route the address according to our rules
so send an error
# message. If this message weren't here, you'd see
"administrative
# prohibition" in the log files.
deny message = relay not permitted

### ROUTER CONFIGURATION

begin routers

  # For domain literals, which we don't use.
#  domain_literal:
#    driver = ipliteral
#    domains = !+local_domains
#    transport = remote_smtp


  # Handle addresses that aren't in the local_domains
list but aren't
  # 0.0.0.0 or 127.0.0.0/8
  dnslookup:
    driver = dnslookup
    domains = !+local_domains
    transport = remote_smtp
    ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
    no_more


  # Route local domains, redirecting for entries in
the /etc/aliases file.
  # If the name isn't found in aliases, it is passed
to the next router.
  system_aliases:
    driver = redirect
    allow_fail
    allow_defer
    data = ${lookup{$local_part}lsearch{/etc/aliases}}
#   user = mail
    file_transport = address_file
    pipe_transport = address_pipe


  # Look for forwarding data set up by the users. If
allow_filter is
  # uncommented and the user's .forward file begins
with "#Exim filter"
  # or "#Sieve filter", the contents of the .forward
file are interpreted
  # as Exim or Sieve filtering instructions.
  userforward:
    driver = redirect
    check_local_user
    file = $home/.forward
    no_verify
    no_expn
    check_ancestor
#   allow_filter
    file_transport = address_file
    pipe_transport = address_pipe
    reply_transport = address_reply


### TRANSPORT CONFIGURATION

begin transports

  # Deliver messages for SMTP with default options.
The remote hosts
  # list comes from the router.
  remote_smtp:
    driver = smtp


  # Deliver mail to /var/mail/username.  If group and
mode are commented
  # out, /var/mail must have its sticky bit set as the
appendfile transport
  # runs as the uid and gid of the local user.
  local_delivery:
    driver = appendfile
    file = /var/mail/$local_part
    delivery_date_add
    envelope_to_add
    return_path_add
#   group = mail
#   mode = 0660


  # Handle deliveries generated by redirection
  address_file:
    driver = appendfile
    delivery_date_add
    envelope_to_add
    return_path_add


  # Handle autoreplies generated by users' filters
  address_reply:
    driver = autoreply


### RETRY RULE

begin retry

# Temporary fails are retried every 15 minutes for 2
hours, then at
# intervals from 1 hour, multiplying by 1.5 until 16
hours have passed,
# then every 6 hours up to 4 days. If it can't be
delivered
# after 4 days, bounce the sucker.
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h

### REWRITE CONFIGURATION

begin rewrite

# None



__________________________________
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
http://taxes.yahoo.com/filing.html