Home » Php » php – Everytime my mail goes to spam in phpmailer

php – Everytime my mail goes to spam in phpmailer

Posted by: admin July 12, 2020 Leave a comment


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">
        <td>Dear Sir,
        <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>Thank you,<br />
        Kaavya Cuisine

    $to         = '[email protected]';
    $subject    = 'Booking Request';
    $sitename='Website Name';

    $mail = new PHPMailer(); 

    $mail->AddAddress($to, $sitename);
    $mail->Subject    = $subject;


Every time I send the mail, it goes in to spam. Does anyone know why this is happening?

How to&Answers:

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.