为什么这封邮件直接进入垃圾邮件箱?

问题描述:

我使用下面的脚本来发送邮件为什么这封邮件直接进入垃圾邮件箱?

<? 
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."; } 
?> 

但这总是在垃圾邮件文件夹结束了。为什么?

+0

大多数垃圾邮件过滤器为什么会在邮件中输入标题,为什么他们认为它是垃圾邮件,那些说什么? – Wrikken 2010-06-08 15:55:52

+0

查看http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html了解有关发送电子邮件的其他信息。它更多的是讲座而不是解决方案。 – 2010-06-08 15:56:25

+0

这么多的dups。 - – webbiedave 2010-06-08 15:56:29

您必须在发送邮件时使用邮件头,以证明邮件是从真实来源而非机器人到达的。

试试这个!

<? 
    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

当心电子邮件标题注射:http://www.damonkohler.com/2008/12/email-injection.html – 2010-06-08 15:58:26

+0

哇,这是工作。谢谢Starx – Starx 2010-06-08 16:36:22