unix - 如何知道smtp服务器是否支持ssl?

标签 unix ssl smtp

如何从终端知道 smtp 服务器是否支持 ssl?

最佳答案

您可以通过标准端口连接到邮件服务器,发送EHLO 命令并查看响应是否包含STARTTLS 功能。这告诉您邮件服务器将允许您通过标准 SMTP 连接运行加密 session 。例如:

$ telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost
220 localhost ESMTP
EHLO localhost
250-localhost
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS  <--- here it is
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
QUIT
221 2.0.0 Bye

或者,您可以尝试连接到默认的 SMTP-over-SSL 端口 465/tcp,如果您收到肯定的响应并且成功的 SSL 握手后跟一个 SMTP 问候,则假定邮件服务器支持 SSL。

关于unix - 如何知道smtp服务器是否支持ssl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5115887/

相关文章:

c - 当进程的控制 shell 被杀死时优雅地终止进程

c++ - 子进程收到父进程的 SIGINT

ssl - session 重新协商检查

SMTP 错误代码合规性

c - "Bus error: 10"尝试从 C 程序参数读取 IPv4 地址时

shell - 选择一个模式可能出现两次的标记模式之间的线

ssl - Libvirt 和 TLS 忽略 CA 文件设置

ssl - Heroku SSL 主机不工作(Heroku | 没有这样的应用程序)

android - 使用SMTP在没有 Intent 的情况下在android中发送邮件

c# - POP3 协议(protocol)是否必须在邮件服务器中实现?