在正常工作的生产服务器上,某个时候(6月24日13:18),fsockopen开始失败,原因不明。
$sock = fsockopen("ssl://mail.dupcheck.org",993, $errno, $errstr, 300);
它返回:$ sock = false,errno = 0,errstr =“”非常快。
它会打开其他服务器。
重要的是要提到,
它在Linux Web服务器和Windows(WAMP)开发服务器上均不起作用
MS Outlook和其他邮件客户端可以完美连接到该服务器并提取邮件。
那天(6月24日),GoDaddy SSL证书出现了一些问题-它开始显示不正确的日期!然后我们打电话给GoDaddy的支持,他们说问题已解决。
从那时起,近一个月以来,SOMETIMES fsockopen正常工作,我们收到了电子邮件,没有人注意,没有人检查过特定的邮件发送日志...直到今天达到300M!
====
PHP 7.3.3-1,ubuntu16.04.1
是的,我阅读了手册,在Google上搜索了几个小时,没有任何帮助。没有人知道这是什么,包括系统管理员。
最佳答案
从评论:
... openssl s_client完美运行...
它的工作原理是连接并执行TLS握手。但是它不能完美地工作,因为它清楚地表明证书验证失败:
$ openssl s_client -connect mail.dupcheck.org:993
...
Certificate chain
0 s:/OU=Domain Control Validated/CN=mail.dupcheck.org
i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
...
Verify return code: 10 (certificate has expired)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
仔细查看证书:
Serial Number:
92:a0:2d:2a:2f:28:6a:d5
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certs.godaddy.com/repository/, CN=Go Daddy Secure Certificate Authority - G2
Validity
Not Before: Jun 24 10:16:38 2016 GMT
Not After : Jun 24 10:16:38 2019 GMT
因此,该证书已在几周前过期。这可能是连接失败的原因。
...
tls.imirhil.fr/tls/mail.dupcheck.org:993似乎没有显示任何异常。
看来该网站根本没有检查证书的有效性。