Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Configuration:

Go Daddy: Registrar of domain. DNS is here. A Record is pointed to bluehost.

Bluehost: Host of the website files.

Basically, I have a PHP based contact form that utilizes mail(). Whenever a contact request is sent through with the recipient being an email address at the domain hosted with Go Daddy, the email never makes it through. However, when I have it go to a different email address, such as @gmail, the email is delivered without any issue.

Is there a DNS change that I need to make on the Go Daddy side of things to ensure delivery?

Any help is grealty appreciated.

share|improve this question
    
Do you have a mail server running for you domain? Is it configured properly? –  voretaq7 Jun 6 '13 at 15:28
    
You need an email server and you need an MX record in your DNS zone that "points" to the A record for this email server. –  joeqwerty Jun 6 '13 at 15:28
    
Where is your email hosted? –  jeffatrackaid Jun 6 '13 at 15:42
add comment

2 Answers

up vote 1 down vote accepted

MX Records & Local MTA Records

With most MTA's, if the email domain is listed in the MTA's "local" delivery list, then DNS is never consulted.

I think Bluehost uses Plesk/cPanel. On these systems, local email delivery is enabled by default.

As a result, email from your web form to your own web site domain will fail. Email to external domains will work.

What is happening is the web form email is being delivered locally since MX records are not consulted. To correct this issue, you need to remove the domain from your MTA's local delivery list.

On systems like Plesk, you can simple disable the email service entirely (it does not impact the mail() function). On cPanel, there's an option for using MX records instead of local delivery. If your host controls these, you may need to explain, that you do not want local email services enabled on your account.

share|improve this answer
    
This is what I was looking for. Thank you sir! –  Zach Jun 6 '13 at 16:13
add comment

Presumably the A record is "www" and points to the IP hosting your website.

For email you will need MX records setup on the DNS server and they will need to point to an SMTP server to accept email for your domain.

share|improve this answer
    
There are actually MX records set-up on the DNS that handle all email for that domain already. They're still able to send and receive email, but any emails originating from the web server aren't delivered. –  Zach Jun 6 '13 at 15:29
    
If email for the domain works fine elsewhere (i.e. you can send to it normally from your email client) then it may be a problem with whatever SMTP server the PHP mail program uses. Can you get access to any logfiles on the server? –  george Jun 6 '13 at 15:50
    
It's shared hosting, so I'm not entirely sure. –  Zach Jun 6 '13 at 16:02
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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