PHP邮件功能是在Gmail的垃圾邮件文件夹中发送电子邮件,如何摆脱它?

时间:2011-03-11 12:11:33

标签: php smtp

我正在使用此代码:

$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";

它将电子邮件发送到我的gmail的SPAM文件夹。
建议任何解决方案。

我不想使用任何PEAR MAIL类型的方式发送电子邮件或不想要求并包含任何文件。
这个函数不包含/需要任何额外的php文件。

3 个答案:

答案 0 :(得分:4)

您应该使用PHP手册中的正确标题

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);

答案 1 :(得分:3)

Gmail垃圾邮件过滤器有很多部分可以确定邮件的垃圾邮件。您可以先查看您域名的SPF记录。避免在电子邮件中尽可能使用销售语言,HTML和颜色。

Google还提供了一个古老而有趣的video关于他们的垃圾邮件过滤如何运作的方法。

答案 2 :(得分:1)

这一切都在标题中。我不知道GMail如何在内部工作,但我在我的项目中发现设置Reply-To可以解决Content-Type标题。

有关此操作的示例,请参阅PHP mail() docs

(注意:我有一个PHP调查问卷/回复系统,可以设置这些标题,电子邮件正确地通过GMail,Hotmail和Yahoo! Mail发送。)