每次我的邮件都在phpmailer中发送垃圾邮件

suj*_*jal 6 php email email-spam phpmailer

以下是我发送邮件的代码:

    $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         = 'sujal@longtail.info';
    $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();
Run Code Online (Sandbox Code Playgroud)

每次我发送邮件,都会发送垃圾邮件.有谁知道为什么会这样?

ab_*_*v86 13

根据您的代码,我发现您直接从您的域名网页发送电子邮件.

例如,您使用了@ hotmail.com地址.

当收件人收到电子邮件时,收件人的邮件服务可能会测试邮件发件人的反向DNS.所以发件人来自,@hotmail.com但邮件来自您的域名,当然不是hotmail.com.

所以我从一个地址收到一封邮件,@hotmail.com但IP发件人与域名hotmail.com完全无关:那就是垃圾邮件!

http://en.wikipedia.org/wiki/Reverse_DNS_lookup

我认为一个可能的解决方案是:在你的PHP代码中使用SMTP验证,并从那里发送邮件!


mim*_*mim 7

通常,如果电子邮件的"发件人:"标头值的域部分与实际发送电子邮件的域不匹配,则会将其标记为垃圾邮件.

绕过此方法的最简单方法是使用与您的域匹配的"发件人:",并使用"回复:"标题添加到您在"发件人:"标题中设置的电子邮件中

例如:如果您从mydomain.com发送邮件而您的电子邮件是me@hotmail.com,则应将标题更改为:

来自:me@mydomain.com

回复:me@hotmail.com