我目前正在尝试调试基于 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
我的猜测是问题在于默认的 Windows 选项(指定服务器而不是 sendmail 实用程序)没有被覆盖。即使我评论了它们,我phpinfo()
仍然得到SMTP -> localhost
and选项。smtp_port -> 25
如果有人设法让这个工作,我真的很感激一些帮助。在我看来,使用伪造的 sendmail 比在您的机器上安装邮件服务器要简单得多。
谢谢!
PS请不要推荐PHPMailer之类的,因为我必须使用mail()函数。这就是埃尔格的工作方式。