无法通过“ localhost”端口25连接到邮件服务器


71

当我尝试使用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

我将笔记本电脑用作服务器。.我在做什么错?谢谢。


3
您有SMTP服务器设置吗?
Scrum Meister,2010年

1
一些问题,1.是否重新启动了服务器,2.便携式计算机上是否运行了邮件服务器,3. SMTP侦听?cmd> netstat -aon
罗伯特·皮特(RobertPitt)2010年

不,我没有运行邮件服务器,我在Windows 7上,必须找到一个邮件服务器并尝试..谢谢。
Loolooii 2010年

Answers:


31

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


在Windows 7上也可以吗?
Loolooii 2010年

是的,可以在某些版本的W7上使用:technet.microsoft.com/zh-cn/library/cc772058%28WS.10%29.aspx
MK。


22

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


20

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

Imo最好,最简单的工具包括:http : //smtp4dev.codeplex.com/

SMTP4Dev是一个简单的单文件邮件服务器工具,可以收集发送的邮件(因此,它实际上并不发送邮件,它只是保留邮件以供开发)。完美的工具。


请让我知道如何配置此工具以收听我的真实电子邮件服务器
Michael

13

如果您仅在localhost上运行应用程序,而该应用程序尚未启用,则我相信使用此方法发送邮件非常困难。

一旦您将应用程序联机,我相信应该自动解决此问题。但是我认为ini_set()可以帮助您php.ini在运行时更改值。


8

首先,如果您从ISP提供商(它将允许您中继邮件)将localhost条目更改为MTA的DNS名称,则不必强迫您在本地主机上使用SMTP,这样就可以立即使用,因此搞砸了自己的电子邮件服务。只需尝试使用您的提供商SMTP服务器,它将立即起作用。


3

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

一种。尝试通过unix sendmail程序发送电子邮件在linux上,它将执行程序“ sendmail”,将所有参数都放入sendmail中。

要么

b。连接到邮件服务器(使用smtp协议和php.ini中的主机/端口/用户名/密码)并尝试发送电子邮件。

如果php无法连接到电子邮件服务器,它将发出警告(并且您会在日志中看到此类工作)。要解决此问题,请在本地计算机上安装smtp服务器或使用任何可用的服务器。如何设置/配置SMTP。您可以在php.net上找到



-2

php不允许或认为从本地主机发送电子邮件非常困难,但是如果将项目上传到服务器,则可以解决此问题。如果要检查本地服务器上是否发送了电子邮件,则必须下载smtp4dev并安装并运行它。如果您的电子邮件发送成功或代码有问题,这会给您一条消息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.