gpt4 book ai didi

Windows : no errors, 上的 PHP mail() 未发送电子邮件

转载 作者:可可西里 更新时间:2023-11-01 13:26:28 24 4
gpt4 key购买 nike

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

经过一些搜索,我遇到的最简单的解决方案是使用 fake 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 = 本地主机
    ; 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 -> localhostsmtp_port -> 25 选项,即使我对它们进行了评论。

如果有人设法使这项工作正常进行,我将不胜感激。在我看来,使用伪造的 sendmail 比在您的机器上安装邮件服务器要简单得多。

谢谢!

附言请不要推荐 PHPMailer 之类的,因为我必须使用 mail() 函数。这就是 Elgg 的工作方式。

最佳答案

我终于让它工作了。问题是 PHP had a bug在解析路径中带有空格的 .ini 文件时(对于 sendmail)。它在 5.3.0 版本中已修复,但手册中没有这方面的信息。

所以,是的,可以在 Windows 上将 sendmail 与 PHP 一起使用 :D。

谢谢大家的宝贵时间!

关于Windows : no errors, 上的 PHP mail() 未发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1606086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com