使用 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
--------------------^