Windows上的PHP mail():没有错误,电子邮件没有发送

Ale*_*ian 6 php windows wamp configuration-files sendmail.exe

我目前正在尝试调试基于Elgg的网站(我没有开发它),我想直接从本地开发机器(WinXP)发送电子邮件.我正在使用Apache 2.2.11和PHP 5.3.0运行WAMP

经过一些搜索,我遇到的最简单的解决方案是使用假的sendmail通过SMTP将其转发到我的GMail/Google应用程序帐户并让它进行发送.问题是我没有任何错误,但电子邮件没有被发送.

这是我做的:

  • 将sendmail.exe和sendmail.ini复制到WAMP中的子文件夹
  • 通过sendmail.ini配置(配置设置正常)
  • 编辑php.ini添加sendmail.exe的路径
    sendmail_path = "C:\Program Files\wamp\bin\sendmail\sendmail.exe -t"
  • 注释掉了php.ini中的windows SMTP设置
    ; SMTP = localhost
    ; smtp_port = 25
    ; sendmail_from = xxx@domain.com
    ; mail.force_extra_parameters =

mail.log文件显示以下内容:

mail() on [C:\Program Files\wamp\www\mail.php:9]: To: xxx -- 
Headers: From: xxx  Reply-To: xxx  X-Mailer: PHP/5.3.0
Run Code Online (Sandbox Code Playgroud)

我的猜测是问题是默认的Windows选项(指定服务器而不是sendmail实用程序)不会被覆盖.在phpinfo()我仍然得到SMTP -> localhostsmtp_port -> 25选项,即使我评论他们.

如果有人设法让这个工作,我真的很感激一些帮助.在我看来,使用假的sendmail比在您的机器上安装邮件服务器要简单得多.

谢谢!

PS请不要建议PHPMailer之类的,因为我必须使用mail()函数.这就是Elgg的工作方式.

Ale*_*ian 5

我终于让它上班了.问题是PHP在解析带有路径空格的.ini文件时遇到了错误(对于sendmail).它已在5.3.0版中修复,但手册上没有相关信息.

所以,是的,可以在Windows上使用带有PHP的sendmail:D.

谢谢大家的时间!