How to remove "via" and server name when sending mails with PHP?
This is probably added by your MTA and you didn't say which MTA you are using.
I'd recommend sending the mails not by PHP's mail()
function but via SMTP, possibly even with SMTP-Auth, using something like PHPMailer.
Yes, you can get rid the "via" part. Here's the details:
1) SPF and DKIM
Firstly, you would need to set an SPF record for the domain you are sending emails from and enable DKIM as well. These are primarily for identifying your messages against spam.
2) "From: [email protected]"
Secondly, make sure you are setting the âFrom: â header to be an email address on the domain you are sending messages from. Donât pretend to be someone else. Use âFrom: [email protected]â if you are sending the messages from abc.com, rather than anything else, such as [email protected], or [email protected], or whatever. If you want the recipient to reply to your Gmail email instead of your domain email, use the âReply-To: â header. âFrom: â must always be the domain email that you are sending the email from.
3) "Return-Path: [email protected]"
Thirdly and most importantly, set the âReturn-Path: â header to be the same domain as that of the âFrom: â header. Use the 5th parameter of the mail() function for this:
mail('[email protected]', 'Subject', "Message Body", $headers, '[email protected]')
So the Return-Path of this message would be â[email protected]â (the email address immediately following the -f switch). The $headers parameter should contain all the necessary message headers. Make sure âFrom: â is [email protected].
After these steps and measures, Gmail should now completely trust your messages from yourdomain.com. The âviaâ field of your messages should be gone and the âmailed-byâ field as well as the âsigned-byâ field should be correctly showing up as yourdomain.com.
Hope it helps!
I also fetched the same problem. But I have overcome the problem by using the following code:
mail('[email protected]', 'the subject', 'the message', null,'[email protected]');
Make sure that last parameter is -f with the email address.
You can add the
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";<br />
mail('[email protected]', 'the subject', 'the message body in html format', $headers,'[email protected]');
for the html message body in email.