![IIS6 上的 php mail() 无法发送](https://linux22.com/image/530493/IIS6%20%E4%B8%8A%E7%9A%84%20php%20mail()%20%E6%97%A0%E6%B3%95%E5%8F%91%E9%80%81.png)
这与 IIS 服务器问题或 PHP 配置有关,不是 php 代码。
我正在运行安装了 PHP 的 IIS6 服务器,以下 php 代码永远不会发送电子邮件:
mail("[email protected]", "hi", "thanks");
//...邮件(地址,主题,消息)
运行该服务的服务器有一个有效的 SMTP 服务器,我知道,因为我可以 telnet 到本地主机:25并通过直接与协议对话来发送电子邮件,所以这不是问题。
但是,这个代码无法发送。我查看了我的php.ini文件,而且在我看来这一切都是正确的:
[mail function]
SMTP = localhost
smtp_port = 25
编辑: 我可以确认使用 SMTP 协议与套接字通信的编程也可以工作,但是 mail() 函数仍然拒绝。
答案1
如果您在 php.ini 文件中使用身份验证,那么您需要使用 SMTP 身份验证脚本从服务器发送邮件。
答案2
检查您的 smtp 服务是否正在服务器上运行。
最简单的方法是打开命令窗口,开始->运行->cmd
telnet localhost 25
看看您是否收到任何回应,如果没有,您需要启动您的 smtp 服务。