无法连接到“本地主机”端口25的邮件服务器

当我尝试使用PHP发送电子邮件时,出现此错误:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\dressoholic\register.php on line 50 

我的php.ini如下所示:

 [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = you@yoursite.com 

我用我的笔记本电脑作为服务器..我做错了什么? 谢谢。

您需要在本地运行邮件服务器。 如果这是Unix,启用sendmail如果这是Windows安装IIs的简单邮件传输服务器(不知道名称是否正确)组件。 例如对于Windows 2003请按照下列步骤操作: http : //msdn.microsoft.com/en-us/library/8b83ac7t.aspx

使用php邮件功能发送邮件。 但是邮件功能需要SMTP服务器来发送邮件。 我们需要在php.ini文件中提到SMTP主机和SMTP端口。 成功配置SMTP服务器邮件后,将通过php脚本发送成功。

在Windows上,几乎所有的AMPP(Apache,MySQL,PHP,PHPmyAdmin)软件包都不包含邮件服务器(但几乎所有的裸机Linux都有!)。 所以,在windows下使用PHP时,你需要设置一个邮件服务器!

伊莫最好,最简单的工具是这样的: http : //smtp4dev.codeplex.com/

SMTP4Dev是一个简单的单文件邮件服务器工具,收集它发送的邮件(所以它不会真的发送邮件,它只是为了开发)。 完美的工具。

如果你正在本地主机上运行你的应用程序,而且它还没有运行,我相信用这个发送邮件是非常困难的。

一旦你把你的应用程序在线,我相信这个问题应该自动解决。 但是我认为ini_set()可以帮助你在运行时改变php.ini中的值。

首先,你不必在你的本地主机上使用SMTP,如果你从你的ISP提供商那里把这个本地主机条目改成MTA的DNS名称(它可以让你中继邮件),它就会马上工作,搞乱你自己的电子邮件服务。 只要尝试使用您的提供商SMTP服务器,它将立即工作。

PHP邮件功能可以在两种情况下发送电子邮件:

一个。 尝试通过unix sendmail程序发送电子邮件在Linux上,它将执行程序“sendmail”,把所有的参数发送到sendmail和所有。

要么

湾 连接到邮件服务器 (使用smtp协议和主机/端口/用户名/传递从php.ini),并尝试发送电子邮件。

如果PHP无法连接到电子邮件服务器,它会给出警告(你会看到在你的日志中这样的工作)要解决它,请在本地机器上安装SMTP服务器或使用任何可用的服务器。 如何设置/配置smtp你可以在php.net上找到

PHP确实允许从本地主机发送电子邮件,但如果你把项目放在服务器上,这个问题将得到解决。 或者如果你想检查我的电子邮件是否发送,那么你必须下载smtp4dev并安装它。 如果您的电子邮件发送成功,或者您的代码存在问题,这会给您一个信息。