我正在尝试使用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
答案 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)