【问题标题】:Sending Mail using PHP Mail function - Local mail server?使用 PHP 邮件功能发送邮件 - 本地邮件服务器?
【发布时间】:2011-08-19 16:46:25
【问题描述】:

我正在尝试从 localhost 发送电子邮件,但收到错误消息:

无法在“localhost”端口 25 连接到邮件服务器,请验证 php.ini 中的“SMTP”和“smtp_port”设置或使用 ini_set()。

这是否意味着我需要设置本地邮件服务器?如果是这样,如何以及哪一个最简单。

提前致谢

保罗

【问题讨论】:

  • 是的,你需要在windows上设置一个邮件服务器

标签: php email


【解决方案1】:

是的,确实如此,如果您想将邮件发送到外部电子邮件地址(而不是系统本地用户,这非常困难)。

大多数托管公司(例如 GoDaddy)都为您提供了此设置,因此 PHP 的 mail() 函数无需您执行任何操作即可工作。

如果您在自己的系统上配置它,您可能需要考虑 (a) 将 sendmail 配置为使用备用 SMTP 网关(我经常使用 Gmail)或 (b) sendmail 的完整替代方案(Zend Mail 看起来很有希望。)

【讨论】:

  • 我也尝试过使用我的主机 smtp 服务器,但收到此错误:SMTP 服务器响应:501 Syntactically invalid HELO argument(s) 有什么想法吗??
【解决方案2】:

如果你使用的是Linux,通常不需要设置邮件服务器,

如果您使用的是 Windows,是的,您确实需要设置邮件服务器

【讨论】:

    【解决方案3】:

    这是我使用的,但仅用于测试目的:

    http://www.toolheap.com/test-mail-server-tool/

    几乎没有配置,在其他几个邮件服务器出现故障后,我让它开箱即用(在 Win7 上)。它不发送实际邮件,而是将其存储为 .eml 文件。这对于测试邮件列表非常有用,例如,您并不想发送 2000 封电子邮件,但希望从您的应用程序中获得真实的结果。

    它可能看起来像垃圾,但对我来说效果很好。

    【讨论】:

    • 谢谢,这对测试很有帮助。谢谢大家1
    【解决方案4】:

    如果您只对发送邮件感兴趣,您可以通过 SMTP 协议使用任何 SMTP 服务器。这是一个tutorial,用于设置 PHP 以使用远程 SMTP 服务器。

    【讨论】:

      【解决方案5】:

      是的,您需要一个邮件服务器才能发送邮件,但即使您这样做了,您也无法发送到本地网络以外的地址,因为来自您计算机的邮件将被所有收件人阻止出于垃圾邮件的原因。

      您可以使用pear mail function 连接到外部 smtp 提供商(如 gmail)为您发送邮件。更多信息herehere

      【讨论】:

        【解决方案6】:

        smtp4dev 在我看来是在 Windows 上捕获本地 SMTP 流量的最佳工具。

        它在 localhost 端口 25 上侦听 SMTP,并在每次发布新邮件时弹出通知(它实际上并不将邮件转发给其收件人)。然后,您可以在您喜欢的邮件代理中打开邮件或将其保存到文件中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-25
          • 1970-01-01
          • 2015-03-16
          相关资源
          最近更新 更多