2010-11-23 97 views
1

我在这里有一个问题,我的PHP脚本发送的邮件从未被传送到我的收件箱,而是垃圾邮件。有关如何将其发送到收件箱的任何帮助。谢谢你们 这里是我的代码示例这里PHP邮件总是出现在垃圾邮件文件夹中

public function sendMail($name,$email,$message) 
{ 
    $this->validateInput($name,"Empty Name","Invalid Name"); 
    $this->validateEmail($email,"Empty Email","Invalid Email"); 
    $this->validateLargeData($message,"Invalid Message","Empty Message","Message Too Short"); 
    if (empty($this->errors)) 
    { 
     $fromName = $name; 
     $fromEmail = $email; 
     $from = "From: $fromName <$fromEmail>\r\n"; 
     $reply = "Reply-To: $fromEmail\r\n";  
     $mime = "MIME-Version: 1.0\r\n"; 
     $content = "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
     $headers = $from.$reply.$mime.$content; 
     if (mail("[email protected]","Contact",$message,$headers)) 
     { 
      echo "<div class='success1'>Thank you $name, we will get back you immediately.</div>"; 
     } 

    } 
    else 
    { 
     echo "<div class=''>"; 
     echo "</div>"; 
    } 
} 

编辑 PLS是我使用

$fromName = $name; 
$fromEmail = $email; 
$from = "From: $fromName <$fromEmail>\r\n"; 
$reply = "Reply-To: $fromEmail\r\n";  
$mime = "MIME-Version: 1.0\r\n"; 
$content = "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$mailer = "X-Mailer: PHP's mail() Function"; 
$headers = $from.$reply.$mime.$content.$mailer; 

@cyberomin

+0

@皮卡,过去这样做。有关这个问题的任何帮助? – Cyberomin 2010-11-23 21:34:30

+1

@Cyber​​omin你以前的意思是什么?我不明白 – 2010-11-23 21:35:21

+1

Pekka想说的是:为了提高人们帮助你的机会,建议首先接受你以前的问题的一些答案。 – 2010-11-23 21:44:28

回答

2

确保你的头是完整的:

$headers = "MIME-Version: 1.0\n"; 
$headers .= "Content-type: text/plain; charset=iso-8859-1\n"; 
$headers .= "From: aaa.bbb <[email protected]>\n"; 
$headers .= "X-Mailer: PHP's mail() Function\n"; 
mail("[email protected]", "subject","message",$headers); 

如果你是共享主机,这也许是因为有您的IP被列入黑名单的垃圾邮件发送者。

我可以做的最好的建议是尝试一种不同的方式发送您的电子邮件。例如phpmailerSwift Mailer

0

的头信息,我们只能给你一个确切回答如果您将垃圾邮件文件夹中的邮件标题提供给我们,但我认为这是因为您正从包含消费者互联网连接的IP范围内的IP计算机发送邮件纳秒。消费电脑的电子邮件通常是垃圾邮件