I have set up local mail on a domain using CPanel. Using webmail I can send & receive emails successfully. But the recipient of my email does not actually receive the email.

  • I can send / receive an email to myself without any issues
  • My emails do not bounce when I send an email to any other recipients, I don’t get any errors
  • The recipients I have sent test emails to are using Google Apps
  • I sent a test ping@tools.mxtoolbox.com and received a full delivery report
  • Can you send yourself an email, to your own Google email, it sounds like Google is rejecting your emails before they even attempt to deliver them to your recipient. – Ramhound Jan 26 '16 at 14:16

There is not enough information here to successfully answer the question. Email may seem simple, but there are many places where something can go wrong. Without further information, there are multiple possibilities, such as Google simply not delivering the emails, or having the recipient domain set as a local mail exchanger.

Therefore, this is going to be more of a discussion on how you would go about troubleshooting such an issue. This presumes command line access and some knowledge of it. If you do not have that, you may need to ask your host for help with this.

Check the logs. The mail logs should be located at /var/log/exim_mainlog. The easiest thing to do, assuming that you have little mail traffic on the server is to tail -f the logs and watch when you send. Otherwise, you may want to grep the log for the email address. Each entry should have an email ID after the timestamp. You can then search the log for that ID to get a list of all log lines pertaining to that email. Either you will find an error, or you will find that the email was sent.

If there was an error, it should give you more information on what went wrong. You would be looking for a line with **. If it has a ==, that shows an error, too, but it's planning to try again. You may also want to check /etc/localdomains to be sure that the receiving domain is not in there. If it was accepted by a remote server, the line with => in it should contain a C="..." section. This is the response from the remote server. Assuming that it starts with a 250 status, it was accepted, and you can proceed by contacting that host, with that log entry to ask them to check what happened to the email. That status often includes an email ID or receipt number which they can use to track the email.

You may want to pay attention to the IP address where the email is being sent, an be sure that it is correct. My guess for this situation that the problem is with the way these domains are setup on your server. If nobody could send to them, then you would probably have noticed that, and you mentioned that you could send email successfully elsewhere. If the mail were actually being rejected, you would likely have received a bounce back email. Even so, the only way to know for sure is to check the logs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.