我正在尝试在本地使用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
我正在尝试在本地使用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
基本上你不能从你的本地主机发送邮件,如果你没有配置 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
认为它会有所帮助。
错误消息是不言自明的。该mail()
功能无法连接到您的邮件服务器。检查您的邮件服务器设置。
尝试 telnet 到 25 端口,看看是否可以连接到邮件服务器。
听起来你的机器上没有运行 SMTP 服务器,看看你是否可以 telnet 到本地机器上的 25 端口,看看它是否正在运行。或者您的邮件服务器可能配置为侦听另一个端口,而 PHP 配置为尝试默认端口 25。
看起来您的服务器没有运行 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/