通过 curl 发送电子邮件,错误“curl:(35)错误:1408F10B:SSL 例程:ssl3_get_record:错误版本号”

通过 curl 发送电子邮件,错误“curl:(35)错误:1408F10B:SSL 例程:ssl3_get_record:错误版本号”

我有一台 Ubuntu Server v18.10。我只被允许安装 openssh、openvpn 和 curl。我有需要发送电子邮件的脚本。我有 Windows 背景,并且我是 Linux 的初学者\中级。我在下面展示了我可以让 curl 与 gmail 一起工作,我可以让 office365 与 powershell 一起工作。但是,我使用 office365 的 curl 得到了以下代码。我尝试在谷歌上搜索错误,但没有看到任何相关文章。任何帮助更好地理解错误代码和/或修复我正在使用的命令的帮助都将不胜感激。此外,如果 Ubuntu 服务器内置了发送电子邮件的方式,那么这种方式是什么?

我可以使用 gmail 通过 curl 发送电子邮件。但是,使用 office365 时,我收到以下错误。如何让 curl 与 office365 配合使用?

curl:(35)错误:1408F10B:SSL 例程:ssl3_get_record:版本号错误

这可以正常工作: curl --url 'smtps://smtp.gmail.com:465' --ssl-reqd --mail-from '[电子邮件保护]' --mail-rcpt 'myreceiveemail' --upload-file '/消息' -K /cred

这不起作用:curl --url 'smtps://smtp.office365.com:587' --ssl-reqd --mail-from 'mysendemail' --mail-rcpt 'myreceiveemail' --upload-file '/Message' -K /cred 或 curl --url 'smtps://smtp.office365.com:587' --tlsv1.2 --mail-from 'mysendemail' --mail-rcpt 'myreceiveemail' --upload-file '/Message' -K /cred

cred 文件包含:--用户电子邮件:密码

我可以使用 Office365 在 Windows 中通过 PowerShell 发送电子邮件,因此我知道 url、端口和凭据是正确的。

发送邮件消息-smtpServer smtp.office365.com-port 587-UseSsl-from $from-to“$emailaddress”,“$AlternateEmailAddresses”-subject $subject-body $body-bodyasHTML-Credential $CredObject

要使用 Office365 服务器发送电子邮件: SMTP 主机:smtp.office365.com SMTP 端口:587 SSL 协议:关闭 TLS 协议:打开 SMTP 用户名:(您的 Office365 用户名) SMTP 密码:(您的 Office365 密码)

curl --version curl 7.61.0 (x86_64-pc-linux-gnu) libcurl/7.61.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.4) nghttp2/1.32.1 librtmp/2.3 发布日期:2018-07-11 协议:dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 功能:AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL

相关内容