【问题标题】:PHP Mail is Being Sent to Spam [duplicate]PHP邮件被发送到垃圾邮件[重复]
【发布时间】:2015-05-01 22:50:57
【问题描述】:

我知道这个网站上有很多类似的问题,但没有一个对我有帮助。

我有以下 PHP 代码:

<?php
$to = "mymail@inbox.com";
$from = "no-reply@heygee.com";
$subject = "Confirm your registration!";
$message = "Please follow this link to confirm your registration: www.bit.ly/32106";

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$headers .= "From: HeyGee! <no-reply@heygee.com>" . "\r\n" .
"Reply-To: mymail@inbox.com" . "\r\n" .
"X-Mailer: PHP/" . phpversion();

$ok = @mail($to, $subject, $message, $headers, "-f " . $from);   
?>

假设mymail@inbox.com 是我的测试电子邮件。每当我将邮件发送到我的地址时,我总是会在我的垃圾邮件文件夹中收到邮件。这是为什么?是否有任何更正或技巧可以防止邮件到达垃圾邮件?

谢谢。

【问题讨论】:

    标签: php email spam spam-prevention email-spam


    【解决方案1】:

    您的邮件被发送到垃圾邮件文件夹的原因要么是因为您的电子邮件内容,要么是接收方无法验证电子邮件是否确实来自from 地址中的指定域,即,如果发件人(您)被授权代表heygee.com发送电子邮件。

    内容部分很容易纠正。您需要避免语法错误、含糊不清的链接(例如,显示google.com 但指向example.com 的链接)等。您的信息应该措辞恰当(不包括那些在垃圾邮件中经常出现的词),最好包括@987654327 @ 以及(如果发送到邮件列表)。

    现在是第二个也是困难的部分。您在from 地址中写入的域应该与您从中执行此邮件脚本的域相同,或者应该由该域的 TXT 记录授权代表其发送邮件。解决此问题的最简单方法是(假设您有DNS 访问发送域名的权限)添加一个TXT SPF 记录,允许您的脚本所在服务器的IP 代表它发送邮件。 示例SPF记录:

    "v=spf1 ip6:1080::8:800:200C:417A/96 -all"
    

    以上记录表示Allow any IPv6 address between 1080::8:800:0000:0000 and 1080::8:800:FFFF:FFFF.

    结帐: SPF (Wikipedia)

    另外,你可以看看这里http://www.openspf.org/

    现在如果您没有 DNS 访问权限,那么只需将from 地址的域名更改为服务器的域名即可。

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      这与您的编程本身无关。将电子邮件过滤为垃圾邮件是在客户端完成的,您无法对此进行任何更改(如果是,数百万垃圾邮件发送者会这样做)

      您的问题是您的电子邮件看起来像垃圾邮件。尝试写一封更好的电子邮件,正文长度超过 1 行。我还会从主题中删除感叹号;这也是使它看起来像垃圾邮件的原因。

      如果您的垃圾邮件检测系统为您提供了有关为什么将其标记为垃圾邮件的详细信息(SpamAssassin 可以根据其配置方式做到这一点),那么请使用该信息来修复您发送的电子邮件。

      【讨论】:

      • 另一个问题可能是发送邮件服务器。发送邮件服务器应该是为发件人域配置的真实邮件服务器。发件人域的 nslookup 应返回邮件服务器 ip。并且发件人 ip 的反向查找应该返回发件人域。
      • OP 可能需要查看 DNS 中的 SPF 记录/DKIM,这与编程无关,这个问题可能会更好地重新表述,并在服务器故障或超级用户上提出
      • @steven 仅当您有 SPF 记录时;如果你不这样做不是问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 2012-08-24
      • 2018-04-26
      • 2020-09-17
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      相关资源
      最近更新 更多