【问题标题】:fsockopen returns 'bool(false)' from browser but 'resource(4) of type (stream)' from command linefsockopen 从浏览器返回 'bool(false)' 但从命令行返回 'resource(4) of type (stream)'
【发布时间】:2011-07-11 20:12:02
【问题描述】:

我无法在 sugarcrm 中发送邮件。 Suagrcrm 使用 SMTP 使用 phpmailer 发送邮件。我已经确定当尝试使用 fsockopen 打开套接字连接时会发生错误。对 fsockopen 的调用返回布尔值 (false)。
给 fsockopen 的参数是 5 个包含以下值的变量 'mail.example.com'(hostname), 25(port), ''(errno), ''(errstr), 10(timeout)

错误信息是
Code: 10107 Reply: A system call that should never fail has failed.

错误代码出现在微软网站的“Windows Sockets Error Codes”下,部分解释为:
Returned when a provider does not return SUCCESS and does not provide an extended error code. Can indicate a service provider implementation error.

当我从浏览器调用脚本时会出现此问题。如果我从命令行执行脚本,fsockopen 会返回一个资源。

节目信息:
Windows XP
Apache/2.0.63 (Win32) mod_ssl/2.0.63 OpenSSL/0.9.8i PHP/5.2.8 Server
PHP Version => 5.2.8

任何人都可以为这个问题提出任何可能的解决方案。提前感谢您的任何建议。

【问题讨论】:

    标签: php smtp phpmailer sugarcrm fsockopen


    【解决方案1】:

    windows下运行时,试试587端口而不是25端口!

    【讨论】:

    • smtp 服务器位于另一个系统,它使用端口 25
    • 那么您应该在该机器上也启用端口 587。 windows下25端口经常出问题..
    • 我已经尝试了端口 587,但它也无法正常工作。事实上,我已经在使用 telnet 命令以及通过命令行访问 php 的多个 ips 和端口上尝试了 fsockopen,但是当使用 php 作为 apache 处理程序时它不起作用。也许我错过了 apache 配置中的某些内容。
    【解决方案2】:

    该错误是由于用作 Web 服务器的系统中存在防火墙而引起的。当我卸载防火墙时它工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 2011-12-03
      • 1970-01-01
      • 2022-01-02
      • 2017-01-29
      • 1970-01-01
      相关资源
      最近更新 更多