【问题标题】:php mail() function detected as spamphp mail() 函数检测为垃圾邮件
【发布时间】:2012-12-30 16:20:24
【问题描述】:

我在我的网站中使用简单的邮件功能作为联系表格。

$name = stripslashes($_POST['name']);
$email = trim($_POST['email']);
$text = stripslashes($_POST['message']);

$message = '<html><body>'.nl2br($text)."</body></html>";
$mail = mail("info@domain.com", "Contact Form", $message,
     "From: ".$name." <".$email.">\r\n"
    ."Reply-To: ".$email."\r\n"
    ."X-Mailer: PHP/" . phpversion()
    ."MIME-Version: 1.0\r\n"
    ."Content-Type: text/html; charset=utf-8");

电子邮件已发送,但始终被检测为垃圾邮件,这是不好的。 可能是因为“FROM”是访问者在表单中给出的电子邮件。

如何解决?

【问题讨论】:

    标签: php


    【解决方案1】:

    不要将用户的电子邮件地址用作From 标头。它会给您与垃圾邮件过滤器不一致的结果,并且在您的情况下,它会引入标头注入漏洞。而是使用有效的静态邮箱(实际存在 - 最好与您发送邮件的域相同)。

    您错过了某些标题上的\r\n 后缀,即X-MailerContent-type

    我建议检查您服务器的 IP 地址,它可能会被列入黑名单或列为垃圾邮件,这会导致某些垃圾邮件过滤器自动拒绝或转储垃圾文件夹中的所有内容。在共享主机上可能会出现这种情况,即使您从未从自己的包裹中发送过垃圾邮件,服务器上的其他主机帐户也可能有。

    【讨论】:

      【解决方案2】:

      查看 StackOverflow 上帖子的链接:https://stackoverflow.com/a/2573286/1983368 垃圾邮件主要是从接收端检测到的。

      【讨论】:

        猜你喜欢
        • 2011-06-05
        • 1970-01-01
        • 1970-01-01
        • 2012-11-10
        • 2023-03-17
        • 2021-01-09
        • 1970-01-01
        • 2018-04-25
        • 2016-04-12
        相关资源
        最近更新 更多