0

我想使用 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

有没有更多的配置要做?

更新

我正在使用邮件功能向订阅者发送时事通讯,我现在正在本地测试,然后我将在生产环境中测试代码

4

4 回答 4

1

您需要一个在 localhost 上运行的 SMTP 邮件服务器守护进程。如果您使用的是 unix 主机并且不想设置完整的 SMTP 代理,请尝试删除 SMTP 配置部分,从而直接使用 sendmail。从文档:

mail() 的 Windows 实现在许多方面与 Unix 实现不同。首先,它不使用本地二进制文件来编写消息,而仅在直接套接字上运行,这意味着需要 MTA 侦听网络套接字(可以在 localhost 或远程计算机上)。

于 2013-05-06T11:13:29.757 回答
0

如果您正在开发测试环境,请查看以下链接:http ://www.toolheap.com/test-mail-server-tool/

这个小应用程序将在您的计算机上模拟 SMTP 服务器。

它为您提供了一些关于如何为您的 php 应用程序测试和调试邮件功能的提示。

于 2013-05-06T11:16:17.137 回答
0

检查您的防火墙可能阻止 php 连接服务器。或者尝试将 localhost 更改为 127.0.0.1 。

于 2013-05-06T11:17:48.293 回答
0

您需要服务器上的 smtp 服务器,或者您需要连接到外部 smtp 服务器以发送电子邮件。

通过外部 smtp 连接,您可以使用

http://pear.php.net/package/Mail

这是对您问题的回答以及如何使用它的示例。

php邮件的smtp配置

于 2013-05-06T11:19:08.707 回答