电子邮件客户端-IMAP CONDTORE是否得到广泛支持



我正在构建一个简单的网络邮件,我想为IMAP使用CONDTORE扩展:它允许获取自某个日期以来更改的所有内容(消息、标志…),这对于将电子邮件客户端同步到IMAP服务器非常实用。

然而,我完全不知道这个IMAP扩展是否真的受到大多数IMAP服务器的支持。

那么,有什么来源可以告诉我这个扩展的支持程度吗?例如,GMail或Hotmail支持它吗?

(这背后隐藏的问题很明显:CONDTORE是将我的电子邮件客户端同步到IMAP服务器的最合适的方式吗?我在本地存储电子邮件副本,这就是我需要同步的原因)

由于需要更精确的答案,我编写了一个小的node.js脚本,并使用了一些测试帐户。

以下是结果,如果你需要更多的账户,请告诉我。

雅虎

没有CONDTORE。

  • IMAP4REV1
  • ID
  • 命名空间
  • X-ID账户
  • UIDPLUS
  • 文字+
  • XAPPLEPUSHSERVICE
  • xym最高模式

gmail

支持CONDTORE。

  • IMAP4REV1
  • 取消选择
  • 空闲
  • 命名空间
  • 定额
  • ID
  • XLIST
  • 儿童
  • X-GM-EXT-1
  • UIDPLUS
  • 压缩=放气
  • 启用
  • 移动
  • CONDTORE
  • ESEARCH

outlook.com

没有CONDTORE。

  • IMAP4REV1
  • 儿童
  • ID
  • 命名空间
  • UIDPLUS
  • 取消选择

否,它没有得到广泛支持。你可以将其视为一种优化,以便在可用时使用,但你不能依赖它。你还需要一种跟踪删除消息的方法,这不是condstore可以告诉你的

然而,Gmail最近刚刚推出了对它的支持。

Dovecot和gmail支持condstore,任何营销专业人士都会告诉你,仅他们就覆盖了70%的用户。你是否相信营销数学是另一个问题,70%在你眼中是否是一个很大的问题是第三个问题,这两个问题都不适合SO。

要检查任何特定的服务器,请执行openssl s_client -connect asdf.example.org:993 -crlftelnet asdf.example.org 143连接,然后执行a login asdf fdsa登录,最后执行b capability获取扩展列表。您将看到答复中列出的condstore。或者不,视情况而定。

编辑:由于@guettli的请求,我现在取了一组方便的电子邮件地址,对于每个地址,我试探性地确定了一些可能的IMAP服务器名称,并尝试连接到993端口。如果我只计算我可以连接的地址,并做一些猜测,比如假设所有Dovecot服务器都是新的,足以支持CONDTORE,我现在看到>80%的CONDTORE。

然而,你的地址组合与我的不同(恰好由一家特定的免费邮件提供商主导),计数方式取决于你的目的。你想统计那些拥有CONDTORE,但用户主要使用网络界面的大型提供商吗?

如果你想计算服务器而不是用户,Shodan可以提供帮助。搜索imap和最受欢迎的服务器时,75%的服务器有condstore,其余25%的服务器可能有也可能没有。但当然,这是一种误导性的统计方式:大多数用户使用的是一些免费邮件服务,其余大部分用户只使用数千家其他提供商。

如果您想自己运行调查,请连接到端口143和993,然后发送a capability和CRLF。如果响应包括Condstore、qresync、与modseq有关的任何内容,或者服务器横幅名称为Dovecot或Cyrus,则支持Condstore。(有些服务器在您登录之前不会告诉您它们是否支持condstore,所以查看服务器名称是一个很好的代理。)

那么,有什么来源可以告诉我这个扩展的支持程度吗?例如,GMail或Hotmail支持它吗?

对于gmail:

$openssls_client-connect imap.gmail.com:993-crlf

t login chetsteadman787@gmail.com ******** 
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH

作为其他IMAP服务器的练习。

最新更新