我正在构建一个简单的Webmail,我想使用IMAP的CONDSTORE扩展名:它允许获取自日期以来发生更改的所有内容(消息,标志等),这对于将电子邮件客户端同步到IMAP服务器。

但是,我绝对不知道大多数IMAP服务器是否实际上支持此IMAP扩展。

那么,有没有什么资料可以告诉我该扩展的支持程度呢? 例如,GMail或Hotmail是否支持它?

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

===============>>#1 票数:5

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

结果如下,如果您需要更多帐户,请告诉我。

雅虎

没有CONDSTORE。

  • IMAP4REV1
  • ID
  • 名称空间
  • X-ID-ACLID
  • UIDPLUS
  • 文学+
  • XAPPLEPUSHSERVICE
  • XYMHIGHESTMODSEQ

gmail

支持CONDSTORE。

  • IMAP4REV1
  • 取消选择
  • 名称空间
  • 配额
  • ID
  • 列表
  • 儿童
  • X-GM-EXT-1
  • UIDPLUS
  • 压缩=放气
  • 启用
  • 移动
  • 储存
  • ESEARCH

outlook.com

没有CONDSTORE。

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

===============>>#2 票数:2 已采纳

不,它不受广泛支持。 您可以将其视为可使用的优化,但不能依赖它。 您还需要一种跟踪已删除邮件的方法,这是condstore无法告诉您的

但是,Gmail最近才推出了对它的支持。

===============>>#3 票数:0

Dovecot和gmail支持condstore,任何营销专家都会告诉您,仅它们一个就覆盖了70%的用户。 您是否相信营销数学是另一个问题,您是否认为70%的问题很多,这两个问题都不适合。

要检查任何特定的服务器,请先执行openssl s_client -connect asdf.example.org:993 -crlftelnet asdf.example.org 143进行连接,然后再a login asdf fdsa进行登录,最后使用b capability来获取扩展列表。 您将在回复中看到condstore 是否可以,视情况而定。

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

但是,您的地址组合与我的不同(碰巧是由一个特定的免费邮件提供商所主导),并且计数方式取决于您的目的。 您是否要计算拥有CONDSTORE,但其用户主要使用Web界面的大型提供商?

如果您想计算服务器而不是用户,Shodan可以提供帮助。 通常 ,对imap进行搜索,并搜索最受欢迎的服务器 ,其中75%的服务器具有condstore,而其余25%的可能有也可能没有。 但这当然是一种误导性的计算方式:大多数用户使用的是几种免费邮件服务,而其余大多数仅使用了数千种其他提供商。

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

===============>>#4 票数:0

那么,有没有什么资料可以告诉我该扩展的支持程度呢? 例如,GMail或Hotmail是否支持它?

对于gmail:

$ openssl s_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服务器的练习。

  ask by Matthieu Napoli translate from so

未解决问题?本站智能推荐: