【问题标题】:Failed to connect to mailserver at "localhost" port 25无法在“localhost”端口 25 连接到邮件服务器
【发布时间】:2021-12-24 04:01:20
【问题描述】:

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

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

【问题讨论】:

  • 您有 SMTP 服务器设置吗?
  • 一些问题,1.您是否重新启动了服务器,2.您的笔记本电脑上是否运行了邮件服务器,3.我们的 SMTP 侦听? cmd > netstat -aon ?
  • 不,我没有运行邮件服务器,我在 Windows 7 上,必须找到一个邮件服务器并尝试.. 谢谢。

标签: php email smtp


【解决方案1】:

您需要在本地运行邮件服务器。 如果这是 Unix,请启用 sendmail 如果这是 Windows,请安装 II 的 Simple Mail Transfer Server(不确定名称是否正确)组件。例如。对于 Windows 2003,请遵循以下内容:http://msdn.microsoft.com/en-us/library/8b83ac7t.aspx

【讨论】:

【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    Imo 最好和最简单的工具就是这个:http://smtp4dev.codeplex.com/

    SMTP4Dev 是一个简单的单文件邮件服务器工具,它确实收集它发送的邮件(因此它并不真正发送邮件,它只是将它们保留用于开发)。完美的工具。

    【讨论】:

    • 我很想知道如何配置这个工具来收听我的真实电子邮件服务器
    【解决方案4】:

    如果你只是在 localhost 上运行你的应用程序并且它还没有上线,我相信使用它来发送邮件是非常困难的。

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

    【讨论】:

      【解决方案5】:

      首先,您不必在本地主机上使用 SMTP,如果您将本地主机条目更改为您的 ISP 提供商(他们将允许您中继邮件)的 MTA 的 DNS 名称,它将立即工作,所以不要乱用您自己的电子邮件服务。只需尝试使用您的提供商 SMTP 服务器,它就会立即工作。

      【讨论】:

        【解决方案6】:

        PHP邮件功能可以在2种场景下发送邮件:

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

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

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

        【讨论】:

          【解决方案7】:

          将 SMTP=localhost 更改为 SMTP=smtp.gmail.com

          【讨论】:

            猜你喜欢
            • 2011-01-21
            • 1970-01-01
            • 2012-02-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多