【问题标题】:PHP mail() and hotmailPHP mail() 和 hotmail
【发布时间】:2013-09-14 10:41:36
【问题描述】:

我今天要推出一个产品,但我的 php mail() 脚本完全无法接收 hotmail 帐户的电子邮件。

我四处搜索,发现其他人有类似的问题,但没有找到真正的解决方案

$Email = "my@email.com";
$Name = "My name";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= "From: ". $Name . " <" . $Email . ">\r\n";
$body = "bleh";

mail($recipient, "My email", $body, $headers);

它可以很好地发送到 GMail 等而不是 hotmail。

有人解决过类似的问题吗?它也不会进入垃圾邮件

【问题讨论】:

  • 您检查过垃圾邮件文件夹吗?我并不是说您的邮件是垃圾邮件......但有时电子邮件提供商可能会过度热衷于垃圾邮件检测。
  • 它可能被垃圾邮件过滤器阻止了。克服这些并不容易,但请参阅 stackoverflow.com/a/7101416/1027148 了解一些提示。
  • 使用PHPMailer或SwiftMailer可以避免这些问题。
  • 它不会成为垃圾邮件/垃圾邮件
  • 嗯,有时“大”电子邮件服务提供商甚至不会费心将电子邮件放入垃圾邮件文件夹,但如果他们认为它们是,则立即删除/拒绝它们垃圾邮件或恶意邮件。正如@AmalMurali 所说,尝试使用 PHPMailer 或 SwiftMailer - 与通过 PHP 的 mail 发送的简单电子邮件相比,它们更适合添加额外的标头和与发送电子邮件相关的 RFC 的整体一致性。如果这没有帮助,请考虑正确实施 SPF。

标签: php email


【解决方案1】:

尝试改用 SMTP。来自 mail() 的邮件通常会进入垃圾邮件文件夹,因为服务器无法验证消息来源。

【讨论】:

    【解决方案2】:

    这是您使用的确切代码吗?

    很长一段时间,但您的电子邮件验证是否存在冲突(如果有的话)?不久前,我遇到了一个问题,即 regex 无法捕获 hotmail 帐户,我花了很长时间才弄清楚。

    另外,我同意其他响应者的观点,即某些邮件服务只是删除他们认为是垃圾邮件的内容,我认为有一个“垃圾邮件级别”的东西,您可以设置垃圾邮件机器人的攻击性。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-13
      • 1970-01-01
      • 2013-04-06
      • 2017-03-30
      • 2011-07-07
      • 2011-09-26
      • 2012-05-14
      • 1970-01-01
      相关资源
      最近更新 更多