curl:(1)libcurl 不支持或禁用协议“'smtps” - 我已经尝试了常见的解决方案

curl:(1)libcurl 不支持或禁用协议“'smtps” - 我已经尝试了常见的解决方案

使用 curl 连接 SMTP 服务器时出现问题。我运行的脚本在其他主机上运行正常,所以这是 curl 的问题。Ubuntu 版本 16.04 (xenial)。预安装的 curl 版本是 7.47。每次我运行类似这样的命令时都会curl --url \'smtps://smtp.gmail.com:465\' ...the rest of the args出现错误

curl:(1)libcurl 不支持或禁用协议“'smtps”

非常奇怪,因为我以前安装的 ubuntu 预先安装了 curl 并且支持 smtp。

curl --version

输出这个

curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3 协议:dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 功能:AsynchDNS IDN IPv6 大文件 GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets

如您所见, smtp 和 smtps 被列为协议,但我不确定它们是否被启用或受支持?

以下是我按照类似帖子的建议所做的

卸载 curlsudo apt-get remove curl然后按照答案这里

每当运行配置脚本时,我都会给它以下选项

./configure --with-ssl --enable-smtp --enable-smtps

完成后,我得到了同样的错误...然后我尝试使用 apt-get install curl 重新安装。但仍然得到同样的错误。发生了什么?如果没有办法优雅地解决这个问题,我可以用 wget 完成同样的事情吗?

答案1

您有一个前导撇号 ( '),因为您使用反斜杠 ( \) 对其进行了转义 - 输出有点难以阅读,但curl它试图告诉您这一点,但由于它位于一些双引号 ( ") 旁边,因此并不突出:

curl: (1) Protocol "'smtps" not supported or disabled in libcurl
--------------------^

相关内容