从php代码发送电子邮件

时间:2013-05-06 11:11:47

标签: php email smtp wampserver

我想使用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函数向订阅者发送简报,我现在正在本地测试然后我将测试生产环境中的代码

4 个答案:

答案 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

这里是你的问题的答案以及如何使用它的例子。

smtp configuration for php mail