我想使用php代码发送电子邮件,我正在使用wampserver。
出现错误:
mail() [function.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 C:\wamp\www\Newsletter1\index.php on line 29
我的文件php.ini
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = myEmail@gmail.com
还有其他配置吗?
更新
我正在使用mail函数向订阅者发送简报,我现在正在本地测试然后我将测试生产环境中的代码
答案 0 :(得分:1)
您需要在localhost上运行SMTP邮件服务器守护程序。如果您使用的是unix主机而又不想设置完整的SMTP代理,请尝试删除SMTP配置部分,从而直接使用sendmail。来自文档:
mail()的Windows实现在很多方面与Unix实现有所不同。首先,它不使用本地二进制文件来编写消息,而只是在直接套接字上运行,这意味着需要在网络套接字(可以在本地主机或远程机器上)上侦听MTA。
答案 1 :(得分:0)
如果您正在使用测试环境,请查看以下链接:http://www.toolheap.com/test-mail-server-tool/
这个小应用程序将模拟您计算机上的SMTP服务器。
它为您提供了有关如何测试和调试php应用程序的邮件功能的一些提示。
答案 2 :(得分:0)
检查你的防火墙可能是php被阻止连接服务器。或者尝试将localhost更改为127.0.0.1。
答案 3 :(得分:0)
您需要在服务器上安装smtp服务器,或者需要连接外部smtp服务器才能发送电子邮件。
通过外部smtp连接,你可以使用
http://pear.php.net/package/Mail
这里是你的问题的答案以及如何使用它的例子。