我目前正在尝试调试基于Elgg的网站(我没有开发它),我想直接从本地开发机器(WinXP)发送电子邮件。我正在使用Apache 2.2.11和PHP 5.3.0运行WAMP
经过一些搜索,我遇到的最简单的解决方案是使用fake sendmail通过SMTP将其转发到我的GMail / Google应用帐户并让它进行发送。问题是我没有得到任何错误,但是没有发送电子邮件。
这就是我的所作所为:
sendmail_path = "C:\Program Files\wamp\bin\sendmail\sendmail.exe -t"
; 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
和smtp_port -> 25
选项,即使我对它们进行了评论。
如果有人设法让这个工作,我真的很感激一些帮助。在我看来,使用虚假的sendmail比在你的机器上安装邮件服务器简单得多。
谢谢!
P.S。请不要建议PHPMailer等,因为我必须使用mail()函数。这就是Elgg的工作方式。
答案 0 :(得分:5)
我最终得到了它。问题是PHP had a bug解析.ini文件时路径中有空格(对于sendmail)。它已在5.3.0版本中修复,但手册中没有相关信息。
所以,是的,可以在Windows上使用带有PHP的sendmail:D。
谢谢大家的时间!
答案 1 :(得分:0)
确保您的本地计算机上运行了SMTP服务,并且打开了SMTP端口(25)。
检查服务(Run-> services.msc)并查找发送邮件传输
如果在服务列表中找不到SMTP,则必须安装它: 加上, 运行 - > appwiz.cpl->添加删除Windows组件 - > IIS->详细信息 - > SMTP
答案 2 :(得分:0)
我不确定这是否有帮助,我以前在这些场景中做的是设置,我的机器上的Outlook并设置为每5分钟左右从流行音箱收到电子邮件,这样我的ip /如果我只是设置了:
,则机器已经过pop验证SMTP = localhost
smtp_port = 25
在php.ini中,邮件功能正常。因此,在您的情况下,只需将您的Outlook设置为使用pop并在php.ini中使用该smtp,并希望它应该工作。我没有测试过这将是GMail。
答案 3 :(得分:0)
P.S。请不要建议PHPMailer等,因为我必须使用mail()函数。这就是Elgg的工作方式。
...除非你使用的插件改变了这种行为:
http://community.elgg.org/pg/plugins/costelloc/read/16498/phpmailer