本地主机的Php电子邮件问题

时间:2013-01-18 10:40:12

标签: php

我正在尝试使用PHP mail功能在我的本地发送电子邮件,但不发送电子邮件。它还显示如下警告信息。

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" 
  port 25, verify your "SMTP" and "smtp_port" setting in php.ini

5 个答案:

答案 0 :(得分:1)

如果您尚未配置SMTP,基本上您无法从本地主机发送邮件。因此,对于配置,您可以执行以下操作:

如果你打开php.ini文件,你会发现这两行:

smtp_server
smtp_port

添加主机的服务器和端口号(您可能需要与他们联系以获取详细信息)

因此,您需要添加它们才能从需要身份验证的服务器发送邮件。所以一个例子可能是:

smtp_server = mail.example.com or any IP address(where SMTP is configured)
smtp_port = 25

如果需要,则添加以下两行不存在:

auth_username = username
auth_password = pw

认为这会有所帮助。

答案 1 :(得分:0)

错误消息是自我解释的。 mail()功能无法连接到您的邮件服务器。检查邮件服务器设置。

尝试telnet到端口25以查看是否可以连接到邮件服务器。

答案 2 :(得分:0)

听起来您的计算机上没有运行SMTP服务器,看看您是否可以telnet到本地计算机上的端口25以查看它是否正在运行。或者也许您的邮件服务器配置为侦听另一个端口,PHP配置为尝试默认端口25。

答案 3 :(得分:0)

看起来您的服务器没有运行smtp邮件服务器。您可以使用这些函数来设置不同的smtp服务器:

ini_set('SMTP', "server.com");
ini_set('smtp_port', "25");
ini_set('sendmail_from', "email@domain.com");

您可能没有在本地主机上运行SMTP服务器。

如果您只需要一台SMTP服务器用于开发目的,并且您正在运行Windows,请安装smtp4dev,可在此处找到:http://smtp4dev.codeplex.com/

答案 4 :(得分:-1)

使用PHPMailer代替。它对所有邮件问题都有很好的支持。

在这里你可以找到几十个Examples