gpt4 book ai didi

php - 无法通过 fsockopen 在 PHP 中建立 TLS 连接

转载 作者:太空宇宙 更新时间:2023-11-03 12:56:00 25 4
gpt4 key购买 nike

几天以来,我一直在尝试在我新安装的 Ubuntu 服务器上通过 fsockopen() 在 PHP 中建立到 SMTP 服务器的 TLS 连接。我几乎尝试了所有方法并在谷歌上搜索了几个小时,但我仍然无法正常工作。

PHP 代码如下所示:

$fp = fsockopen("tls://smtp.xxxx.com", 25, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
// some other stuff
}

输出只是 (0),即 $errstr = null 和 $errno = 0。

OpenSSL 已安装并启用:

OpenSSL support: enabled
OpenSSL Library Version: OpenSSL 0.9.8o 01 Jun 2010
OpenSSL Header Version: OpenSSL 0.9.8o 01 Jun 2010

并且注册了以下流套接字传输:tcp、udp、unix、udg、ssl、sslv3、sslv2、tls。

该端口作为控制台的 telnet 打开。

知道哪里出了问题,或者我至少可以如何获得更多调试输出?

谢谢,马库斯

最佳答案

你的联系没有多大意义。通过使用 TLS 处理程序,您希望在传输任何数据之前建立 TLS。但是端口 25 是标准的 SMTP,它只能在您最初通过未加密的常规连接建立连接后之后建立 TLS。建立初始连接后,您可以使用 STARTTLS 命令启用 TLS,以告知 SMTP 服务器进行切换。

如果您一开始就想要 TLS,请使用端口 465,从一开始就是 ssl/tls。

关于php - 无法通过 fsockopen 在 PHP 中建立 TLS 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6708187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com