2011-01-19 50 views
6

我无法通过php的邮件功能发送电子邮件。无法通过PHP邮件发送邮件()

这是我收到的错误。 警告:mail()[function.mail]:无法连接到“本地主机”端口25的邮件服务器,在php.ini中验证您的“SMTP”和“smtp_port”设置或在D:\ inetpub \ vhosts中使用ini_set \ southernbatteries.com \的httpdocs \包括第6行 阵\ utils.php中([0] => [1] =>无法发送邮件,请稍后再试...)

究竟是什么意思?这是否意味着我的网络服务器上没有安装邮件服务器?是否可以使用不同的邮件服务器。例如Gmail邮件服务器发送邮件?

+0

你运行你自己的web服务器吗? – 2011-01-19 08:31:43

+0

@皮卡不,我不知道。 – 2011-01-19 08:34:38

回答

4

如果您想使用内置的mail(),您需要与服务器管理员交谈。可以在Windows上使用外部SMTP服务器,但必须在php.ini设置中指定,而PHP的内置函数不支持SMTP验证。

的常用方法是要么使用又可以跟一个“真正的” SMTP服务器身份验证的本地邮件服务器,或使用邮包一样SwiftMailer可以连接诸如Gmail第三方SMTP服务器直。

0

您需要有一个邮件服务器来发送邮件。如果你只有apache,那么你不能,除非你让edit the php.ini file and set the smpt_server允许你这样做。请注意,这只会取决于您的ISP。

如果你有一个托管帐户,你可以上传文件并在线他们将工作。

+0

一些来自的phpinfo)行(是 SMTP \t本地主机\t本地主机 SMTP_PORT 内部的Sendmail支持Windows \t启用 sendmail_from \t [email protected] \t [email protected] 它看起来好吧?我应该寻找其他东西来确保邮件服务器正在运行吗? – 2011-01-19 08:59:25

0

你应该在你的服务器上运行你自己的邮件服务器。很可能它没有启动或没有安装。

正如我看到你正在Windows上运行它最有可能是后者。你可以尝试使用你的提供者邮件服务器。或Google。但你最需要的是用户名和密码。

+0

你不是指“[...]运行你自己的** mail **服务器[...]”吗? – oezi 2011-01-19 08:39:50

+0

是的,心智错乱现在已经修复。 – RJD22 2011-01-19 08:41:05

0

你应该避免使用php的mail()函数作为ist连接并断开连接到每个发送的邮件的邮件服务器。

取而代之的是,尝试使用类似phpMailer的东西,这样可以轻松进行配置并发送大量邮件而不会出现性能问题。

0

如果您想运行自己的邮件服务器(例如,如果这是一个开发环境),您可以使用mercury