2010-06-08 5 views
2

J'utilise le script suivant pour envoyer du courrierPourquoi ce courrier va-t-il directement dans la boîte SPAM?

<? 
extract($_POST); 
$subject = "Feedback from ".$name." (".$email.", Ph: ".$phone.")"; 
$mail = @mail($send,$subject,$content); 
if($mail) { echo "Your feedback has been sent"; } 
else { echo "We are sorry for the inconvienience, but we could not send your feedback now."; } 
?> 

Mais se termine toujours dans le dossier spam. Pourquoi?

+0

La plupart des filtres anti-spam entrent les en-têtes par mail pourquoi ils le considèrent comme du spam, que disent-ils? – Wrikken

+0

Consultez http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html pour plus d'informations sur l'envoi d'e-mails. C'est plus une conférence qu'une solution. –

+0

Tant de dups. - – webbiedave

Répondre

0

Vous devez utiliser des en-têtes lorsque vous envoyez du courrier, pour prouver que le courrier provient d'une source authentique et non d'un robot.

Essayez ceci!

<? 
    extract($_POST); 
    $subject = "Feedback from ".$name." (".$email.", Ph: ".$phone.")"; 
    $headers = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
    $headers .= 'From:'.$email."\r\n"; 
    $headers .= 'Reply-To: '.$email; 
    $mail = @mail($feedback,$subject,$content,$headers); 
    if($mail) { echo "Your feedback is send"; } 
    else { echo "We are sorry for the inconvienience, but we could not send your feedback now."; } 
?> 
+3

Méfiez-vous de l'injection d'en-tête d'email: http://www.damonkohler.com/2008/12/email-injection.html –

+0

Wow, ça marche. Merci Starx – Starx

Questions connexes