我最近在客户端遇到了这个问题。代码如下:PHP邮件功能中的奇怪行为,地址不存在
ini_set("sendmail_from", "[email protected]<current-domain>.com");
// $target_email has been validated as a value username.
// $subject is a simple String.
// $message is an HTML message.
mail($target_email, $subject, $message);
当我在我的机器上测试了它,它工作正常。当我在家中,工作中,Windows 2000(IE6),XP(四台不同的机器和一个VirtualBox实例)(IE6 & 7,Opera 9,Firefox 3)和Vista(IE 7)上测试它时,以及通过Ubuntu上的Konquerer和Firefox(在两台不同的机器上),它工作正常(我没有Mac)。我曾在四个不同的网络和三个不同的县尝试过这个网站。我竭尽所能地打破这个网站,并且我没有收到任何错误,并且电子邮件立即从noreply @ <当前域名> .com发送到预期地址。
当我的客户在他的办公室进行测试时,他得到了一个SMTP错误,说名字noreply @ <当前域>.com不存在,他没有收到电子邮件。但在我的服务器上运行时,同样的线路运行正常(基本LAMP设置运行PHP 5.3,它们具有Windows 5.2.6)。
究竟发生了什么?我最好的猜测是,这是一些奇怪的Windows服务器问题,我不知道它会是什么。不幸的是,我无法看到他们如何配置他们的本地机器来测试这个理论。
会导致网站显示“用户不存在”,当他们查看网站?即使他们的电子邮件系统拒绝服务器发送的任何内容,PHP的行为也不应该相同吗? – cwallenpoole 2009-09-16 13:47:52