0

我在我的 PHP 中使用这些标头来确保电子邮件避开垃圾邮件文件夹,但它们似乎运行得不是很好。

 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
 $headers .= "From: hello@somebodylovesyou.co.uk <hello@somebodylovesyou.co.uk>\r\n"; 
 $headers .= "Reply-To: hello@somebodylovesyou.co.uk <hello@somebodylovesyou.co.uk>\r\n"; 
 $headers .= "Return-Path: hello@somebodylovesyou.co.uk <hello@somebodylovesyou.co.uk>\r\n";
 $headers .= "X-Priority: 3\r\n"; 
 $headers .= "X-MSMail-Priority: Normal\r\n"; 

上面的代码中是否有任何您可以更改或删除的内容可能有助于这项工作?

4

3 回答 3

2

同意@MarcB:phpMailer 非常简单,可以为您完成所有这些工作。去这里下载它。然后按照此处的示例进行操作。您应该在大约十分钟内启动并运行。

但是,应该为您带来的真正关键点是,您可以告诉 phpMailer 通过与简单使用 PHPmail()函数不同的方法发送邮件。

通过您自己的 PHP 服务器发送邮件通常是邮件最终被标记为垃圾邮件的最终原因,因为接收邮件系统无法将您的 PHP 服务器识别为电子邮件的合法来源。所以他们认为这是垃圾邮件。SPF 和 DomainKeys 等系统可用于告诉全世界您的服务器是电子邮件的合法服务器,但它们可能需要时间来学习和配置,甚至需要更多时间让消息传递到所有第三方电子邮件服务器那里。

有了 PHP 的mail()功能,你别无选择;该邮件是通过您的 PHP 服务器发送的,因此除非您对域进行了非常仔细的配置,否则它很容易被标记为垃圾邮件。

但是使用 phpMailer,可以通过其他路由发送,例如您的主 SMTP 服务器,甚至是 gmail 等第三方系统。

像这样通过公认的电子邮件服务器发送很可能会解决您的问题,但只能使用 phpMailer(或类似的类)来完成,而不能使用 PHP 的内置mail()函数。

同样,使用 phpMailer 配置所有这些都非常容易。

你可以花一个星期把头撞在墙上,再花一个星期设置 SPF 和 DomainKeys,再花一两个月等待 Hotmail 和朋友开始将你的 PHP 服务器识别为合法的电子邮件源......或者你可以花十个分钟学习 phpMailer 和其他十或二十分钟重写您的代码以使用它,让它通过已知的合法邮件服务器发送邮件,并立即接受您的电子邮件。你的选择。

于 2013-02-12T14:39:18.177 回答
1

避免垃圾邮件过滤器远远超出了您随电子邮件发送的标题。如果您的努力停止上面的代码,您将发现您在避免垃圾邮件过滤器方面的成功程度充其量是马马虎虎。

您应该记住一些提示,以帮助您的邮件避免被标记为 sapam:

  1. 为您的域设置DomainKeys

  2. 为您的域设置SPF

  3. 在您的电子邮件中添加退订链接

  4. 为您的邮件服务器的 IP 地址设置反向 PTR

于 2013-02-12T14:17:26.787 回答
-1

$headers .= "内容类型: text/html; charset=utf-8\r\n";

将在 MSN 或 HOTMAIL 上工作

于 2013-08-13T14:37:03.590 回答