0

为了尝试从 php 脚本发送邮件,我正在使用以下代码测试 mail() 函数:

<?php  
ini_set("display_errors", "1");
error_reporting(E_ALL);
$to = 'example@gmail.com';
$message = 'test';
$from = 'test@gmail.com';
$subject = 'Test';
$headers = "From: $from\n";
mail($to, $subject, $message, $headers) or die ("Message not sent");
?>  

这不是我尝试过的唯一代码,但似乎没有任何效果。我在这里询问的原因之一是因为它没有返回任何错误。我根本没有收到任何错误的迹象,除了邮件永远不会到达它的目的地。我为尝试解决问题所做的事情:

  1. 将 php.ini 中的 SMTP 从 localhost 更改为 gmail 的 smtp
  2. 检查两端的垃圾邮件过滤器和发件箱
  3. 尝试了各种报错方法
  4. 尝试了几种不同的发送邮件功能
  5. 在 phpinfo() 中检查了看似相关的东西,但没有用

我认为这可能是我终端中的 sendmail 功能的问题,但我无法测试或修复与 sendmail 功能相关的任何问题。

我在装有 OS X 10.4 Tiger 和 PHP 5.3.12 的 PPC Mac 上运行 apache 2.0。

4

1 回答 1

1

php.ini 中的 SMTP 设置仅适用于 Windows。在其他系统上,始终使用本地 MTA(Sendmail),并且您提供的 SMTP 设置会被忽略。如果您想使用 Gmail,请确保在 MTA 中对其进行配置。

检查发送系统上 Sendmail 的邮件日志。您应该能够在其中找到有关消息传递的提示。

于 2012-05-26T16:41:46.357 回答