I’m not sure I’m using all the correct terminology here so be forgiving.
I just put up a site with a contact form that sends an email using the PHP mail() function. Simple enough. However the live site doesn’t actually send the email, the test site does. So it’s not my code.
It’s a shared host and we have another site that has the same function that works perfectly, so it’s not the server.
The only difference between the two is that the site that doesn’t work just has the name server pointing to us and so the MX record never touches our server.
So my question is, could some one please confirm that the mail() function wont work if we don’t have the MX record pointing to our server. Thanks
Hey guys thanks for the answers, it is really appreciated.
After ignoring the issue for a few months it has come up again, I did however find the answer to my problems.
Firstly, as you answers suggested, PHP and the mail() function were working as expected. The mail was getting sent.
The problem lies when the email is sent, it simply presumes that because its being sent from mydomain.com to *@mydomain.com email that the email itself is hosted on the same server, so it gets sent there instead and ignores the MX record.
OK it’s a bit more complicated than that, but that is the general jist.
Edit: Found a better version of the topic sendmail and MX records when mail server is not on web host.