【发布时间】:2015-09-18 09:15:35
【问题描述】:
如何查看服务器是使用 POP 还是 IMAP 协议? mail.domain.com 中没有提到它,但它是可以访问的。 当我知道该邮件服务器的用户名和密码时,我想检查邮件服务器使用的协议而不从中下载任何数据。
【问题讨论】:
-
只需尝试使用任一协议连接?
-
尝试的唯一方法是连接到各自的端口(110 和 143)。
如何查看服务器是使用 POP 还是 IMAP 协议? mail.domain.com 中没有提到它,但它是可以访问的。 当我知道该邮件服务器的用户名和密码时,我想检查邮件服务器使用的协议而不从中下载任何数据。
【问题讨论】:
某些服务器使用 DNS SRV 记录提供此信息,如 RFC 6186 - Use of SRV Records for Locating Email Submission/Access Services 中所述。您可以查找 _imap._tcp.domain.com、_imaps._tcp.domain.com、_pop3._tcp.domain.com 和 _pop3s._tcp.domain.com 的 SRV 记录,并查看哪些存在。
您可以使用dig 实用程序从命令行尝试此操作。例如,查看 Gmail 提供的服务:
$ dig +short -t SRV _imap._tcp.gmail.com
0 0 0 .
$ dig +short -t SRV _imaps._tcp.gmail.com
5 0 993 imap.gmail.com.
$ dig +short -t SRV _pop3._tcp.gmail.com
0 0 0 .
$ dig +short -t SRV _pop3s._tcp.gmail.com
20 0 995 pop.gmail.com.
结果中的前两个数字是优先级和权重,如果只有一个答案,我们可以忽略它们。第三个数字是端口号,最后一个是域名。 0 . 是一个特殊的值,表示不提供服务,所以从上面的结果我们可以看出:
imap.gmail.com 的端口 993 上提供加密的 IMAP 访问。pop.gmail.com 的端口 995 上提供加密的 POP3 访问。但是,大多数服务器不会费心为电子邮件设置 DNS SRV 记录,因此大多数时候您唯一的机会就是尝试连接并查看服务器是否响应。
【讨论】: