2012-04-03 13 views
4

Hier meine Codes für das Senden von E-Mail sind:Jedesmal, meine Mail geht an Spam in 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(); 

Jedes Mal, wenn ich die E-Mail senden, um es in Spam geht. Weiß jemand, warum das passiert?

+0

das Problem könnte in Ihrem E-Mail-Client sein –

+0

Ich versuchte sogar mit meiner echten Hotmail-Adresse .... $ email = '[email protected]'; – sujal

+1

Bitte geben Sie weitere Informationen ... von wo wohin möchten Sie diese E-Mail senden? Haben Sie versucht, eine E-Mail über die Befehlszeile auf diesem Computer zu senden? – SimonSimCity

Antwort

8

Basierend auf Ihrem Code merke ich, dass Sie eine E-Mail direkt von Ihrer Webseite auf Ihrer Domain senden.

Zum Beispiel haben Sie eine @ hotmail.com-Adresse verwendet.

Wenn der Empfänger die E-Mails erhält, kann der Mail-Dienst des Empfängers ein Reverse-DNS des Absenders der E-Mail testen. So ist der Absender von @hotmail.com, aber die E-Mail kommt von Ihrer Domain, die natürlich nicht hotmail.com ist.

So erhalte ich eine Mail von einer Adresse @hotmail.com aber die IP Sender überhaupt nicht hotmail.com mit Domain bezogen werden: das ist SPAM!

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

Ich denke, eine mögliche Lösung ist: in PHP-Code der Verwendung mit SMTP authentifiziert und von dort die E-Mail senden!

+0

Könnten Sie möglicherweise ein Schnipsel von Ihnen mögliche Lösung zeigen? – Ayan

3

Normalerweise wird eine E-Mail als Spam markiert, wenn der Domain-Teil des Headers "Von:" nicht mit der Domain übereinstimmt, die die E-Mail tatsächlich sendet.

Der einfachste Weg, dies zu umgehen, ist die Verwendung eines "From:" dass Ihre Domäne übereinstimmt, und verwenden Sie eine "Reply-To:" Kopfzeile der E-Mail, die Sie in "From:" Set-Header

Für zB: wenn Sie E-Mails von mydomain.com Senden und Ihre von E-Mail ist [email protected], sollten Sie Ihre Header dies ändern:

von: [email protected]

Antwort an: [email protected]

+0

Ich habe mit: Von: [email protected] und Reply-To: [email protected] immer noch das gleiche Problem – sujal

0

Wenn dies Ihre vollständigen Codes sind, dann müssen Sie den Pfad des PHPMailer schreiben, der es ist.

Ex-

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

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

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

die oben wird Ihnen helfen.