I'm new to GoDaddy Linux cPanel web hosting.

I've created multiple email accounts @my-domain using cPanel. These addresses can send mail successfully to each other and also to any other email account outside my domain (like Gmail).

But all emails @my-domain can only receive email from each other not from outside my domain. That is, if I send an email from my Gmail to my @my-domain account it doesn't appear in my @my-domain account web mail inbox.

Why is this happening and what's the solution?

  • Is this a newly registered domain? Do you get anything "bounced" back to the senders email?
    – MrWhite
    Commented May 23, 2014 at 14:08
  • Do you have DNS MX record setup on your domain? It would be easier if you show your domain name.
    – ek9
    Commented May 23, 2014 at 18:13
  • yes, this is new registered domain, and no senders don't receive anything back Commented May 23, 2014 at 18:14
  • I don't know what is DNS MX record Commented May 23, 2014 at 18:15
  • 3
    It looks like your host is handling your incoming e-mail and not your server directly. Call technical support. There are settings that are specific to your host that need to be made. They should be able to guide you through this. You may need to ask for second level support if the tech is not sure. This is resolvable through tech support. BTW- you do not need to wait 24 hours. That is not an issue. Call tech support.
    – closetnoc
    Commented May 23, 2014 at 20:58

3 Answers 3


Check DNS Records

If your domains are registered at GoDaddy, then your MX records are likely pointing to GoDaddy's email servers and not your server.

Check your DNS and make sure that your domains have the following:

  • MX record pointing to mail.domain.com
  • mail.domain.com A record pointing to your cPanel's server IP address.

With cPanel (and many systems), when sending emails between domains within the server, DNS is not consulted. This is why you can get local delivery but not delivery from domains outside of your server.


I had the same problem always any time I used a mail account inn CPanel. I just solved it today, here is what I did.

Anyway, I made a new mail acount in my CPanel, with 250mb quota, tried to send emails to ma gmail,it worked,responded back and it didnt work.

Another susspicius thing was, that i thought I was sending an email from my newly created email account but on Gmail I would get it from a different email from the same domain (it was my CPanel username email, which doesnt seem to have any quota assigned to it or any space on the server). So I had a chat with the support service, but they tld me to login to the members area and file a ticket.

So I logged in to the members area,but first clicked a "Webmail" button there, which basically sent me to CPanel but didn't have the login screen for the whole CPanel interface but just asked me to login to my newly created email account directly, so I did, and voila! All of my test email messages from gmail were there received in the inbox! :)

  • 1
    Even if you like your hosting service a lot please don't make your answer look like an add - especially when adding coupon codes or the like your answer partly reads like an add. Since there is no 'linked' link I don't flag it as 'spam'. Commented Apr 28, 2015 at 9:49

If you just upgraded from Godaddy Linux to cPanel and had the gdform.php to send your email from your forms* and it doesn't work anymore, the below example works pretty good. There's probably a more sophisticated way you can do it but this works

*(With a subject, email and body. Be sure to match the names and ID to the variables below $_POST["Email"])

$landing_page = 'contact_thank_you.htm';

$from = htmlspecialchars($_POST["Email"]);
$subject = htmlspecialchars($_POST["subject"]);
$message = 'Website: This Website Mail' . "\r\n";
$message .= 'Comment: ' . htmlspecialchars($_POST["subject"]);

$to = '[email protected]';
$headers = 'From: '.$from."\r\n".
    'Reply-To: '.$from."\r\n".
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

if ($key == "redirect") { $landing_page = $val;}

if ($landing_page != ""){
header("Location: http://".$_SERVER["HTTP_HOST"]."/$landing_page");
} else {
header("Location: http://".$_SERVER["HTTP_HOST"]."/");
  • There's nothing here that really affects whether an email is sent or received or assists with debugging it. PHP just hands it off to the server. The server may fail to send the email or it may get "lost" thanks to spam filters.
    – John Conde
    Commented Mar 2, 2016 at 0:01

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