我尝试使用 openssl 从终端发送邮件,方法是使用 ssl 连接到端口 465 上的 gmail 服务器。在我输入发件人地址并进行身份验证之前,一切正常。但是当我输入 RCPT TO 时,我收到以下错误。
RCPT TO: <[email protected]>
RENEGOTIATING
139815845389984:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:
我猜测问题可能是由于缺少安全证书。有人能帮我解决这个问题吗?
答案1
您使用的openssl s_client
程序仅用于测试目的。大写字母在(见)R
中具有特殊含义,如您所见,它会触发重新协商。openssl s_client
man s_client
解决方案:SMTP 也接受小写命令,因此使用小写字母,r
例如:
rcpt to: <[email protected]>
替代解决方案:使用 GnuTLS 而不是 OpenSSL 作为 SSL/TLS 客户端:
gnutls-cli -p 465 smtp.gmail.com