Cannot send mail to client's domain
The server has the following hostname configured:
uthando@uth1:~$ hostname
uth1
uthando@uth1:~$ hostname -f
uth1.uthandosa.org
With regards DNS for the domain uthandosa.org (using Linode DNS):
I have A records for uth1 and www pointing to 176.58.100.133.
I have an MX record pointing to xavier.macrolan.co.za (my client's mail server)
I have a TXT record with this "v=spf1 a mx ~all"
Mail sent to
4 Replies
Use mailq to see what if anything is in the queue.
Also, Exim makes some very good logs. Check the mail logs and it should show when it got the message to send, what results it got when it tried to send as well.
Also, you can use an Exim command to see what it will do with an address like:
exim -v -bt
It should show you where it will try to deliver the message and the MX records if any found for the mail host that accepts email for that email.
Like:
wk3dd@ulterius:/etc/munin# exim -v -bt xxx@uthandosa.org
xxx@uthandosa.org
router = dnslookup_dkim, transport = remote_smtp_dkim
host xavier.macrolan.co.za [41.222.227.20] MX=0
@Dweeber:
Also, you can use an Exim command to see what it will do with an address like:
exim -v -bt
xxx@uthandosa.org It should show you where it will try to deliver the message and the MX records if any found for the mail host that accepts email for that email
Thanks, that is highlighting an issue. Still not sure what to do about it though?
exim -v -bt xxx@uthandosa.org
R: system_aliases for xxx@uthandosa.org
xxx@uthandosa.org is undeliverable
sudo exim -v -bt -d xxx@uthandosa.org
Exim version 4.71 uid=0 gid=0 pid=31975 D=fbb95cfd
Berkeley DB: Berkeley DB 4.8.24: (August 14, 2009)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM
Lookups: 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.5
GnuTLS runtime version: 2.8.5
changed uid/gid: forcing real = effective
uid=0 gid=0 pid=31975
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@uth1.uthandosa.org
Address testing: uid=0 gid=110 euid=0 egid=110
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing xxx@uthandosa.org
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering xxx@uthandosa.org
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing xxx@uthandosa.org
--------> hubbed_hosts router <--------
local_part=xxx domain=uthandosa.org
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=xxx domain=uthandosa.org
checking domains
uthandosa.org in "@:localhost:li446-133.members.linode.com: uthandosa.org: localhost.localdomain: localhost: uth1.uthandosa.org: uth1"? yes (matched "uthandosa.org")
uthandosa.org in "! +local_domains : +relay_to_domains"? no (matched "! +local_domains")
dnslookup_relay_to_domains router skipped: domains mismatch
--------> dnslookup router <--------
local_part=xxx domain=uthandosa.org
checking domains
cached yes match for +local_domains
cached lookup data = NULL
uthandosa.org in "! +local_domains"? no (matched "! +local_domains" - cached)
dnslookup router skipped: domains mismatch
--------> real_local router <--------
local_part=xxx domain=uthandosa.org
real_local router skipped: prefix mismatch
--------> system_aliases router <--------
local_part=xxx domain=uthandosa.org
checking domains
cached yes match for +local_domains
cached lookup data = NULL
uthandosa.org in "+local_domains"? yes (matched "+local_domains" - cached)
R: system_aliases for xxx@uthandosa.org
calling system_aliases router
rda_interpret (string): ${lookup{$local_part}lsearch{/etc/aliases}}
search_open: lsearch "/etc/aliases"
search_find: file="/etc/aliases"
key="xxx" partial=-1 affix=NULL starflags=0
LRU list:
:/etc/aliases
End
internal_search_find: file="/etc/aliases"
type=lsearch key="xxx"
file lookup required for xxx
in /etc/aliases
lookup failed
expanded:
file is not a filter file
parse_forward_list:
system_aliases router declined for xxx@uthandosa.org
--------> userforward router <--------
local_part=xxx domain=uthandosa.org
checking domains
cached yes match for +local_domains
cached lookup data = NULL
uthandosa.org in "+local_domains"? yes (matched "+local_domains" - cached)
checking for local user
seeking password data for user "xxx": cache not available
getpwnam() returned NULL (user not found)
userforward router skipped: xxx is not a local user
--------> procmail router <--------
local_part=xxx domain=uthandosa.org
checking domains
cached yes match for +local_domains
cached lookup data = NULL
uthandosa.org in "+local_domains"? yes (matched "+local_domains" - cached)
checking for local user
seeking password data for user "xxx": using cached result
getpwnam() returned NULL (user not found)
procmail router skipped: xxx is not a local user
--------> maildrop router <--------
local_part=xxx domain=uthandosa.org
checking domains
cached yes match for +local_domains
cached lookup data = NULL
uthandosa.org in "+local_domains"? yes (matched "+local_domains" - cached)
checking for local user
seeking password data for user "xxx": using cached result
getpwnam() returned NULL (user not found)
maildrop router skipped: xxx is not a local user
--------> lowuid_aliases router <--------
local_part=xxx domain=uthandosa.org
checking domains
cached yes match for +local_domains
cached lookup data = NULL
uthandosa.org in "+local_domains"? yes (matched "+local_domains" - cached)
checking for local user
seeking password data for user "xxx": using cached result
getpwnam() returned NULL (user not found)
lowuid_aliases router skipped: xxx is not a local user
--------> local_user router <--------
local_part=xxx domain=uthandosa.org
checking domains
cached yes match for +local_domains
cached lookup data = NULL
uthandosa.org in "+local_domains"? yes (matched "+local_domains" - cached)
checking local_parts
jamesfernie in "! root"? yes (end of list)
checking for local user
seeking password data for user "xxx": using cached result
getpwnam() returned NULL (user not found)
local_user router skipped: xxx is not a local user
--------> mail4root router <--------
local_part=xxx domain=uthandosa.org
checking domains
cached yes match for +local_domains
cached lookup data = NULL
uthandosa.org in "+local_domains"? yes (matched "+local_domains" - cached)
checking local_parts
xxx in "root"? no (end of list)
mail4root router skipped: local_parts mismatch
no more routers
xxx@uthandosa.org is undeliverable: Unrouteable address
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=31975 terminating with rc=2 >>>>>>>>>>>>>>>></none>
new_router:
driver = manualroute
transport = remote_smtp
domains = uthandosa.org
route_list = * xavier.macrolan.co.za