Here are my codes for sending mail:
$fullname = $_POST['fullname']; $email = $_POST['email']; $telephone = $_POST['telephone']; $email = $_POST['email']; $date = $_POST['date']; $time = $_POST['time']; $adult = $_POST['adult']; $children = $_POST['children']; $company_name = $_POST['company_name']; $addition = $_POST['addition']; $confirm = $_POST['confirm']; $body = ' <table width="100%" border="0" cellpadding="0"> <tr> <td>Dear Sir, </td> </tr> <tr> <td><b>Booking request from '.$fullname .'</b><br /><br /> <u>The details provided are:</u><br /> <p>Name : '.$fullname.'<br /> E-mail Address: '.$email.'<br /> Telephone: '.$telephone.'<br /> Date: '.$date.'<br /> Time: '.$time.'<br /> Adult: '.$adult.'<br /> Children: '.$children.'<br /> Company Name: '.$company_name.'<br /> Confirm by: '.$confirm .'<br /> Additional Requirements: '.$addition.'<br /> </p> </td> </tr> <tr> <td> <p>Thank you,<br /> Kaavya Cuisine </p></td> </tr> </table> '; $to = '[email protected]'; $subject = 'Booking Request'; $sitename='Website Name'; $mail = new PHPMailer(); $mail->AddReplyTo($to,$sitename); $mail->SetFrom($email,$fullname); $mail->AddAddress($to, $sitename); $mail->Subject = $subject; $mail->MsgHTML($body); $mail->Send();
Every time I send the mail, it goes in to spam. Does anyone know why this is happening?
Based on you code i notice that you are sending an email directly from you web page on your domain.
For example you used an @hotmail.com address.
When the recipient receive the emails the mail service of the recipient may test a reverse DNS of the sender of the mail. So the sender is from
@hotmail.com but the mail comes from your domain which of course is not hotmail.com.
So I receive a mail from an address
@hotmail.com but the IP sender isn’t related at all with domain hotmail.com: that’s SPAM!
I think a possible solution is: in you PHP code use authenticate with SMTP and from there send the mail!
Normally, an email is marked spam if its “From:” header value’s domain part does not match the domain that is actually sending the email.
The easiest way to bypass this is to use a “From:” that matches your domain, and use a “Reply-To:” header to the email that you set in “From:” header
For eg: if you are sending mail from mydomain.com and your from email is [email protected], you should change your headers to this:
From: [email protected]
Reply-To: [email protected]
if this is your full codes then you have to write the path of the PHPMailer thats it.
require '/...../PHPMailer-master/class.phpmailer.php'; require '/....../PHPMailer-master/PHPMailerAutoload.php'; require '/......./PHPMailer-master/class.smtp.php';
the above will help you.
spam filter of Google or Outlook or whichever you use do this automatically. I believe there is no way make the mail go to inbox programmatically. usually this happens because the sending server is already marked as spam by somebody. The way i found is go to the gmail account mark the item as ‘important’ in gmail and ‘Add to Safe senders’ in Outlook.