2012-04-03 6 views
4

Вот мои коды для отправки почты:Everytime моя почта идет на спам в 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   = '[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(); 

Каждый раз, когда я отправить почту, он идет в спам. Кто-нибудь знает, почему это происходит?

+0

проблема может быть у вашего почтового клиента –

+0

Я даже пробовал с моим настоящим адресом hotmail .... $ email ='[email protected] '; – sujal

+1

Просьба предоставить дополнительную информацию ... откуда вы хотите отправить электронное письмо? Вы пытались отправить почту с помощью командной строки на этой машине? – SimonSimCity

ответ

8

Основываясь на вашем коде, я замечаю, что вы отправляете письмо прямо с вашей веб-страницы в своем домене.

Например, вы использовали адрес @ hotmail.com.

Когда получатель получает письма, почтовая служба получателя может протестировать обратный DNS отправителя почты. Таким образом, отправитель от @hotmail.com, но почта поступает из вашего домена, который, конечно же, не является hotmail.com.

Так я получаю письмо от адреса @hotmail.com но отправитель IP не связан вообще с областью hotmail.com: это СПАМ!

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

Я думаю, что возможно решение: в использовании кода PHP аутентификации SMTP и оттуда отправить почту!

+0

Не могли бы вы показать фрагмент вашего возможного решения? – Ayan

3

Обычно адрес электронной почты отмечен как спам, если его часть домена «From:» не соответствует домену, который фактически отправляет электронное письмо.

Самый простой способ обойти это использовать «From:», что соответствует вашему домену, и использовать «Reply-To:» заголовок на адрес электронной почты, который вы установили в «From:» заголовок

Для например: если вы отправляете почту из mydomain.com и ваше от электронной почты является [email protected], вы должны изменить заголовки к этому:

от: [email protected]

Ответ на: [email protected]

+0

У меня есть чек с: [email protected] и Ответ на: [email protected] все та же проблема – sujal

0

Если это ваш полный код, то вам нужно написать путь к PHPMailer thats it.

Экс-

require '/...../PHPMailer-master/class.phpmailer.php'; 

require '/....../PHPMailer-master/PHPMailerAutoload.php'; 

require '/......./PHPMailer-master/class.smtp.php'; 

выше поможет вам.