I am using exim4. I have a Wordpress installation with a contact form. My hostname -f is mydomain.com.
The form is sending an email to [email protected]. However it never reaches my "off site" email. How can I set this up so the email does not get stuck on the webserver?
Exim should forward (route) the email to the off site email [email protected]. When I send from, for example, gmail to that address it gets delivered right away.
I have followed this guide: https://library.linode.com/email/exim/send-only-mta-debian-6-squeeze but it didnt help with this issue.
mydomain:/var/mail# exim -bt -d [email protected] 2>&1
Exim version 4.80 uid=0 gid=0 pid=23864 D=fbb95cfd
Berkeley DB: Berkeley DB 5.1.29: (October 25, 2011)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz 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
Compiler: GCC [4.7.2]
Library version: GnuTLS: Compile: 2.12.20
Runtime: 2.12.20
Library version: PCRE: Compile: 8.31
Runtime: 8.30 2012-02-04
Total 13 lookups
WHITELIST_D_MACROS: "OUTGOING"
TRUSTED_CONFIG_LIST: "/etc/exim4/trusted_configs"
changed uid/gid: forcing real = effective
uid=0 gid=0 pid=23864
auxiliary group list: <none>
seeking password data for user "uucp": cache not available
getpwnam() succeeded uid=10 gid=10
changed uid/gid: calling tls_validate_require_cipher
uid=106 gid=109 pid=23865
auxiliary group list: <none>
tls_validate_require_cipher child 23865 ended: status=0x0
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 = [email protected]
Address testing: uid=0 gid=109 euid=0 egid=109
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing [email protected]
--------> hubbed_hosts router <--------
local_part=info 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=info domain=mydomain.com
checking domains
mydomain.com in "@:localhost:localhost:localhost.localdomain:mydomain.com"? 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=info 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=info domain=mydomain.com
real_local router skipped: prefix mismatch
--------> system_aliases router <--------
local_part=info 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 [email protected]
calling system_aliases router
rda_interpret (string): ${lookup{$local_part}lsearch{/etc/aliases}}
search_open: lsearch "/etc/aliases"
search_find: file="/etc/aliases"
key="info" partial=-1 affix=NULL starflags=0
LRU list:
7/etc/aliases
End
internal_search_find: file="/etc/aliases"
type=lsearch key="info"
file lookup required for info
in /etc/aliases
lookup failed
expanded:
file is not a filter file
parse_forward_list:
system_aliases router declined for [email protected]
--------> userforward router <--------
local_part=info 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 "info": cache not available
getpwnam() returned NULL (user not found)
userforward router skipped: info is not a local user
--------> procmail router <--------
local_part=info 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 "info": using cached result
getpwnam() returned NULL (user not found)
procmail router skipped: info is not a local user
--------> maildrop router <--------
local_part=info 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 "info": using cached result
getpwnam() returned NULL (user not found)
maildrop router skipped: info is not a local user
--------> lowuid_aliases router <--------
local_part=info 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 "info": using cached result
getpwnam() returned NULL (user not found)
lowuid_aliases router skipped: info is not a local user
--------> local_user router <--------
local_part=info 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
info in "! root"? yes (end of list)
checking for local user
seeking password data for user "info": using cached result
getpwnam() returned NULL (user not found)
local_user router skipped: info is not a local user
--------> mail4root router <--------
local_part=info 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
info in "root"? no (end of list)
mail4root router skipped: local_parts mismatch
no more routers
[email protected] is undeliverable: Unrouteable address
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=23864 terminating with rc=2 >>>>>>>>>>>>>>>>
According to the Testing Exim wiki you can check the routing of an address by using:
exim -bt [email protected]
This will give you information about if exim4 recognises this address.
Did you tried this from your server
echo "test mail." | mail -s Test [email protected]
Also make sure that your hostname is a fully qualified domain.
try
hostname
hostname -i
hostname should resolve or point correctly to IP shown by hostname -i(main IP)
Also check that the MX record of mydomain.com and make sure that its using local mail server.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With