only @mydomain.com = Unrouteable address

hello,

i'm getting an "Unrouteable address" error when cron tries to send an email to my any user at my own domain, let's call it mydomain.com.

"hostname" returns "anubis"
"hostname -f" returns "mydomain.com"

MXLOOKUP:

Executed command: nslookup -sil -q=MX mydomain.com 2>&1 with response:

Server:        209.68.2.46
Address:    209.68.2.46#53

Non-authoritative answer:
mydomain.com    mail exchanger = 20 mx01.1and1.co.uk.
mydomain.com    mail exchanger = 10 mx00.1and1.co.uk.

Authoritative answers can be found from:
mydomain.com    nameserver = ns4.linode.com.
mydomain.com    nameserver = ns2.linode.com.
mydomain.com    nameserver = ns5.linode.com.
mydomain.com    nameserver = ns3.linode.com.
mydomain.com    nameserver = ns1.linode.com.

exim -bt -d log:

root@anubis:/etc/exim4/conf.d/router# exim -bt -d siteadmin@mydomain.com
Exim version 4.74 uid=0 gid=0 pid=24970 D=fbb95cfd
Berkeley DB: Berkeley DB 4.8.30: (April  9, 2010)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
GnuTLS compile-time version: 2.8.6
GnuTLS runtime version: 2.8.6
Library version: PCRE: Compile: 8.12
                       Runtime: 8.12 2011-01-15
Total 12 lookups
WHITELIST_D_MACROS: "OUTGOING"
TRUSTED_CONFIG_LIST: "/etc/exim4/trusted_configs"
changed uid/gid: forcing real = effective
  uid=0 gid=0 pid=24970
  auxiliary group list: <none>
seeking password data for user "uucp": cache not available
getpwnam() succeeded uid=10 gid=10
configuration file is /var/lib/exim4/config.autogenerated
log selectors = 00000ffc 00612001
trusted user
admin user
seeking password data for user "mail": cache not available
getpwnam() succeeded uid=8 gid=8
user name "root" extracted from gecos field "root"
originator: uid=0 gid=0 login=root name=root
sender address = root@mydomain.com
Address testing: uid=0 gid=113 euid=0 egid=113
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing siteadmin@mydomain.com
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering siteadmin@mydomain.com
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing siteadmin@mydomain.com
--------> hubbed_hosts router <--------
local_part=siteadmin domain=mydomain.com
checking domains
expansion of "${if exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/etc/exim4/hubbed_hosts}fail}" forced failure: assume not in this list
hubbed_hosts router skipped: domains mismatch
--------> dnslookup_relay_to_domains router <--------
local_part=siteadmin domain=mydomain.com
checking domains
mydomain.com in "@:localhost"? yes (matched "@")
mydomain.com in "! +local_domains : +relay_to_domains"? no (matched "! +local_domains")
dnslookup_relay_to_domains router skipped: domains mismatch
--------> dnslookup router <--------
local_part=siteadmin domain=mydomain.com
checking domains
cached yes match for +local_domains
cached lookup data = NULL
mydomain.com in "! +local_domains"? no (matched "! +local_domains" - cached)
dnslookup router skipped: domains mismatch
--------> real_local router <--------
local_part=siteadmin domain=mydomain.com
real_local router skipped: prefix mismatch
--------> system_aliases router <--------
local_part=siteadmin domain=mydomain.com
checking domains
cached yes match for +local_domains
cached lookup data = NULL
mydomain.com in "+local_domains"? yes (matched "+local_domains" - cached)
R: system_aliases for siteadmin@mydomain.com
calling system_aliases router
rda_interpret (string): ${lookup{$local_part}lsearch{/etc/aliases}}
search_open: lsearch "/etc/aliases"
search_find: file="/etc/aliases"
  key="siteadmin" partial=-1 affix=NULL starflags=0
LRU list:
  6/etc/aliases
  End
internal_search_find: file="/etc/aliases"
  type=lsearch key="siteadmin"
file lookup required for siteadmin
  in /etc/aliases
lookup failed
expanded:
file is not a filter file
parse_forward_list:
system_aliases router declined for siteadmin@mydomain.com
--------> userforward router <--------
local_part=siteadmin domain=mydomain.com
checking domains
cached yes match for +local_domains
cached lookup data = NULL
mydomain.com in "+local_domains"? yes (matched "+local_domains" - cached)
checking for local user
seeking password data for user "siteadmin": cache not available
getpwnam() returned NULL (user not found)
userforward router skipped: siteadmin is not a local user
--------> procmail router <--------
local_part=siteadmin domain=mydomain.com
checking domains
cached yes match for +local_domains
cached lookup data = NULL
mydomain.com in "+local_domains"? yes (matched "+local_domains" - cached)
checking for local user
seeking password data for user "siteadmin": using cached result
getpwnam() returned NULL (user not found)
procmail router skipped: siteadmin is not a local user
--------> maildrop router <--------
local_part=siteadmin domain=mydomain.com
checking domains
cached yes match for +local_domains
cached lookup data = NULL
mydomain.com in "+local_domains"? yes (matched "+local_domains" - cached)
checking for local user
seeking password data for user "siteadmin": using cached result
getpwnam() returned NULL (user not found)
maildrop router skipped: siteadmin is not a local user
--------> lowuid_aliases router <--------
local_part=siteadmin domain=mydomain.com
checking domains
cached yes match for +local_domains
cached lookup data = NULL
mydomain.com in "+local_domains"? yes (matched "+local_domains" - cached)
checking for local user
seeking password data for user "siteadmin": using cached result
getpwnam() returned NULL (user not found)
lowuid_aliases router skipped: siteadmin is not a local user
--------> local_user router <--------
local_part=siteadmin domain=mydomain.com
checking domains
cached yes match for +local_domains
cached lookup data = NULL
mydomain.com in "+local_domains"? yes (matched "+local_domains" - cached)
checking local_parts
siteadmin in "! root"? yes (end of list)
checking for local user
seeking password data for user "siteadmin": using cached result
getpwnam() returned NULL (user not found)
local_user router skipped: siteadmin is not a local user
--------> mail4root router <--------
local_part=siteadmin domain=mydomain.com
checking domains
cached yes match for +local_domains
cached lookup data = NULL
mydomain.com in "+local_domains"? yes (matched "+local_domains" - cached)
checking local_parts
siteadmin in "root"? no (end of list)
mail4root router skipped: local_parts mismatch
no more routers
siteadmin@mydomain.com is undeliverable: Unrouteable address
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=24970 terminating with rc=2 >>>>>>>>>>>>>>>>
root@anubis:/etc/exim4/conf.d/router#</none>

for some reason, exim seems to route every address except mydomain.com correctly :(

i've tried a lot of stuff and nothing has worked so far including adding a new router:

http://www.mail-archive.com/exim-users@ … 35892.html">http://www.mail-archive.com/exim-users@exim.org/msg35892.html

http://serverfault.com/questions/341507 … le-address">http://serverfault.com/questions/341507/smtp-unroutable-address

no idea what to do now.

any advice?

thanks!

2 Replies

'hostname -f' returning 'mydomain.com' is not a good thing; it should be returning 'anubis.mydomain.com'. What's happening is that exim thinks it is responsible for mail to mydomain.com, so it is trying to deliver the mail locally.

This can usually be fixed in /etc/hosts (and by changing reverse DNS); do so, reboot, verify that hostname -f returns 'anubis.mydomain.com', then 'dpkg-reconfigure exim4-config' (if I recall correctly) to rebuild the exim configs. (If you've manually modified exim's configuration, you're on your own, but maybe a reboot will just fix it.)

awesome, that looks like it worked. thanks!

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct