我有一个安装了 PHP 的 Windows Webserver 2008。PHP 运行良好,但当我尝试使用 mail() 函数以编程方式通过 PHP 发送电子邮件时除外。然后我收到此错误:
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ...
那么,为了通过我的 PHP 脚本发送电子邮件,我必须安装什么?
我不太了解邮件配置,但我有一种即将遭受折磨的不好感觉……
答案1
另一种方法(仅适用于 Windows)是,您可以配置 PHP 使用远程 SMTP 服务器发送邮件。如果您只想转发到智能主机,则无需配置 IIS SMTP。
在 php.ini 中:
SMTP=smtp-server.example.com
查看php.net 上的 PHP 邮件配置参考您可以在 INI 文件中执行其他操作。
答案2
好吧,明白了,毕竟不是太难。
按照本指南安装 SMTP:http://www.jppinto.com/index.php/2009/02/installing-iis-70-with-smtp-on-windows-server-2008/(向下滚动,从安装 IIS 7 开始,第二部分是关于 SMTP)。
检查“简单邮件传输协议 (SMTP)”服务是否已启动并正在运行。
编辑:转到 IIS 7 管理器,转到您需要 SMTP 的网站。转到 SMTP 设置,确保选中“localhost”复选框并保存。
转到开始、管理工具、Internet 信息服务 (iis) 6.0。
检查 SMTP 服务器是否已启动并正在运行。
右键单击 SMTP 服务器,选择属性。
转到“访问”选项卡。
有一个选项可以定义哪些主机被允许连接到SMTP 服务器。将“127.0.0.1”添加到允许主機。
编辑 2:还有一个选项,您可以在其中定义主机发给。例如,如果您有接收电子邮件的主机的 IP(范围),请在此处输入。否则,选择“除此以外”,不要添加任何 IP 地址。
然后你就可以出发了。