0

我正在尝试在本地使用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
4

5 回答 5

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

认为它会有所帮助。

于 2013-01-18T10:48:35.947 回答
0

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

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

于 2013-01-18T10:41:25.707 回答
0

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

于 2013-01-18T10:41:55.780 回答
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/

于 2013-01-18T10:44:50.923 回答
-1

改用PHPMailer。它对所有邮寄问题都有很好的支持。

在这里你可以找到几十个例子

于 2013-01-18T10:44:56.783 回答