HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

FastMail 开源多个 JMAP 项目,助力邮件服务器和客户端开发

  • 2015-08-13
  • 本文字数:1247 字

    阅读完需:约 4 分钟

去年 12 月, FastMail 宣布了JMAP 项目,旨在开发一种新协议取代IMAP,用于同步邮件、日历和联系人,并减少数据使用,提高同步效率。 JMAP 提供了一种传输层无关的、基于 JSON 的无状态 API,兼容 IMAP 数据模型,很容易在支持 IMAP 的服务器上实现。

据 FastMail 介绍,JMAP 有许多优点,包括:

  • JMAP 是移动设备友好的:JMAP 可以在一个 HTTP 请求中处理多个命令,并且拥有一种高效的更新机制,减少了无线通信,延长了电池使用时间。
  • JMAP 是服务器友好的:JMAP 是无状态协议,服务器无需像 IMAP 那样维护一个与当前状态不同步的邮箱视图版本。
  • JMAP 是网络友好的:IMAP 可以发送的主动更新数量不受限制,但在 JMAP 中,更新包含限制,如果更新过多,就会返回错误,客户端将需要重新加载视图。
  • JMAP 是多客户端友好的:在 IMAP 中,如果用户重命名一个文件夹或者移动消息,那么做出动作的客户端能够更新其本地缓存,但其它客户端需要重新获取所有数据。而 JMAP 使用唯一 ID 标识消息,没有变化的数据可以一直缓存。

从发布以来,FastMail 就一直不断地修订 JMAP 规范,也有其他公司加入进来与 FastMail 一起构建电子邮件的未来。例如, Atmail 使用JMAP 助力下一代移动应用开发;世界上最流行的开源Webmail Roundcube 的下一个版本也将基于 JMAP 构建。现在,FastMail 已经到了客户端和服务器开发阶段。为此,他们遵循 MIT 协议开源了几个新的 JMAP 项目:

  • JMAP 代理:该代理可以置于任何 IMAP 服务器(最适合于支持 CONDSTORE 的服务器)、CardDAV 和 CalDAV 服务器之前,向它们提供一个基本完整的 JMAP 接口。该代理已相当稳定,可以用于测试新的 JMAP 客户端实现。感兴趣的读者可以试用该代理的托管版本,或者下载源代码
  • JMAP JavaScript 客户端库 JS 客户端库以下一代 FastMail 接口为基础,依赖于 Overture 库的一个子集,是 JMAP 邮箱、日历和联系人模型的一个完整实现。它支持本地异步修改和多级 Undo/Redo,允许网络故障,可以在网络恢复时将修改同步回服务器。
  • JMAP Webmail 演示程序:FastMail 提供了一个基于 JS 客户端库和 JMAP 代理的 Webmail 演示程序,提供了如下功能:通过拖放在文件夹之间移动、即时动作、多级 Undo/Redo、无需分页实现全邮箱访问、对话主题、简单的快捷键和一个简单的日历视图。按照 FastMail 的说法,他们后续不会继续增加更多功能,但欢迎他人创建分支,开发出更成熟的客户端。

除了这些项目外,他们正努力使 JMAP 成为开源 Cyrus IMAP 服务器的一部分。那将是第一个完全适用于生产环境的实现。而在 FastMail 内部,他们已经有一个 Web UI 版本运行在 JMAP 上。如果读者想要实现自己的客户端,那么可以从客户端开发指南入手,并参考 JMAP 规范实现建议。如果想参与JMAP 项目,则可以加入 JMAP 邮件列表


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-08-13 03:491950
用户头像

发布了 1008 篇内容, 共 389.8 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

macOS Big Sur 11安装包(macOS11系统下载) v11.7.10正式版

Rose

XMind for mac XMind思维导图 v24.01中文版

Rose

苹果证书过期有什么影响

用云手机打造tiktok账号需要注意些什么?

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版

十八张图带你入门实时监控系统HertzBeat

EquatorCoco

监控系统

低代码开发技术助力企业数字化管理的实践探究

EquatorCoco

低代码 数字化 企业转型

全世界 LoRA 训练脚本,联合起来!

不在线第一只蜗牛

Java 架构 前端开发

有奖讨论丨你能看出来哪些是 AI 写的代码么?

阿里巴巴云原生

阿里云 AI 云原生

AE如何导入LUTS呢 ?After Effects导入lut使用详细教程

Rose

一种高效解决12306第三方抢票不公平乱收费体验差的新技术

巨公摇号创始人钱庆照

12306 第三方付费抢票 随机信标 巨公摇号 抢火车票

为什么VPS比传统虚拟空间更受欢迎?深度解析!

一只扑棱蛾子

VPS

EndNote 21 for Mac(文献管理软件) v21.2激活版

iMac小白

1 月 NFT 市场动态:Polygon 增长,Mooar 崛起,TinFun 掀起文化浪潮

Footprint Analytics

加密货币 NFT 链游

VMware Fusion Pro 13(VM虚拟机)中文破解版安装教程

Rose

photoshop2024硬件要求

Rose

成品语聊平台源码快速搭建之部署系统环境

山东布谷科技胡月

语音社交平台搭建 语音直播平台开发 语音聊天室开发

一键部署,5秒开服!最强《幻兽帕鲁》服务器攻略来了!

YG科技

ACK One Argo工作流:实现动态 Fan-out/Fan-in 任务编排

阿里巴巴云原生

阿里云 云原生 argo

云计算 - 弹性计算技术全解与实践

快乐非自愿限量之名

云计算 物联网 弹性计算

ai全称是什么?好用的AI软件有哪些?这14款一定要知道。

彭宏豪95

AI 在线白板 AIGC AI绘画 效率软件

Tiktok云手机是什么,做tiktok养号有什么优势?

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版

运营商数智化缩影:一部哑资源的资源管理史

鲸品堂

网络 资源 运营商 企业号 2 月 PK 榜

海外云手机:入局海外市场的最佳利器

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机

从技术到管理:如何避免失去专业指导能力的陷阱?

码哥字节

程序员 架构师 职业发展

服务器操作卡,出现蓝屏、死机,该怎么解决

德迅云安全杨德俊

解密 ARMS 持续剖析:如何用一个全新视角洞察应用的性能瓶颈?

阿里巴巴云原生

阿里云 云原生

Final Cut Pro 中文基础教程:多机位剪辑

Rose

FastMail开源多个JMAP项目,助力邮件服务器和客户端开发_语言 & 开发_谢丽_InfoQ精选文章