使用 Linux 或 OSx,按照 Sorin 的建议进行操作,但改用端口 465。25 是通用 SMTP 端口,但不是 GMail 使用的端口。另外,我不相信你想使用 -starttls smtp
openssl s_client -connect smtp.gmail.com:465
您应该获得有关 SSL 会话和响应的大量信息:
220 mx.google.com ...
输入
HELO smtp.gmail.com
你会收到:
250 mx.google.com at your service
从那里开始,它并不像发送 SMTP 邮件那么简单,因为 Gmail 有适当的保护措施,以确保您只发送看似来自实际属于您的帐户的电子邮件。不要输入“Helo”,而是使用“Ehlo”。我对 SMTP 了解不多,所以我无法解释其中的区别,也没有时间研究太多。也许有更多知识的人可以解释一下。
然后,输入“auth login”,您将收到以下信息:
334 VXNlcm5hbWU6
这本质上是用 Base 64 编码的单词“用户名”。使用像这样的 Base 64 编码器,对您的用户名进行编码并输入。对您的密码执行相同的操作,这是接下来需要的。你应该看到:
235 2.7.0 Accepted
就是这样,您已登录。
如果您使用的是 OSx 或 Linux 终端,还有一个奇怪的问题需要克服。仅按“ENTER”键显然不会导致 SMTP 需要结束消息的 CRLF。您必须使用“CTRL+V+ENTER”。因此,这应该如下所示:
^M
.^M
250 2.0.0 OK