Nylas Mail -- 开源、可扩展的邮件客户端
NNylas Mail 是一个基于现代 web 的开源邮件客户端,采用 Electron 、React 和 Flux 。它被设计为易于扩展,并且有许多第三方插件可以为客户端添加功能。
Nylas Mail 最初于2015年初发布并开源,并且由 Nylas 维护到2017年春季。虽然 Nylas 不再支持 Nylas 邮件,但您可以下载最新版本或从源代码构建它。还有 一些分支 正在积极地开发和维护。
入门
设置您的环境(Mac):
设置您的环境(Linux -- Debian/Ubuntu):
- 通过 NodeSource(受信任)安装 Node 6+:
- curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
- sudo apt-get install -y nodejs
- 在本地安装 Redis sudo apt-get install -y redis-server redis-tools 让我们使用子域的好处。
- npm install
运行 Nylas Mail
- npm run client :启动应用程序
- npm run test-client :运行测试
- npm run lint-client : Lint 源代码(ESLint + Coffeelint + LESSLint)
探索源代码
该存储库包含 Nylas Mail 客户端的完整源代码及其后端服务。它分为以下软件包:
- Isomorphic Core(同构核心) :跨代码共享本地客户端和云服务器
- Client App(客户端应用) :主要电子Nylas Mail的应用程序 镜像到开源 repo 。
- Client Sync(客户端同步) :本地邮件同步引擎整合在Nylas Mail中
- Client Private Plugins(客户端专用插件) : Private Nylas Mail插件(如SFDC)
- Cloud API(云端 API) :基于身份验证和N1的元数据API
- Cloud Core:(云端核心) :使用的共享代码在所有远程云服务中
- Cloud Workers(云端 Workers) :云端工作人员服务稍后发送
请参阅 /packages 以获取单独的部分。/packages 中的每个文件夹都被设计成自己的独立存储库。它们都捆绑在这里,以便于源代码控制管理。
深入挖掘
2016年初,Nylas Mail 团队为这款应用编写了大量文档,旨在为插件开发人员所用。该文档位于 GitHub Page 上,提供了应用程序架构和重要类的概述。以下是一些开始使用的好地方:
该团队还发表了关于客户的会议演讲和博客文章:
- ReactEurope:React 和 Flux 如何将应用程序转变为可扩展平台
- ForwardJS:Electron,React 和 Pixel 完美体验
- 博客:从 Atom 拆分
- 博客:为 React 应用程序构建插件
- 博客:Nylas Mail 构建流程
- 博客:低级别 Electron 调试
- 博客:新搜索解析器
- 博客:表情符号(Emoji)开发人员指南
- 博客:Nylas Pro
- 博客:Nylas Mail & PGP
- 博客:日历事件和 RRULE
运行云
当您从源代码下载并构建 Nylas Mail 时,它在没有云组件的情况下运行。 “Nylas ID”/订阅的概念已被删除,并且默认情况下禁用了需要服务器端处理的插件(如 Snooze, Send Later 等插件)。
为了使用这些插件并获得完整的 Nylas Mail 体验,您需要部署位于 cloud-* 包中的后端基础架构。部署这些服务具有挑战性,因为它们是作为微服务实现的,旨在通过 Redis、Postgres 等在企业级运行。因为这些后端服务必须访问您的电子邮件帐户,所以使用安全性最佳实践也很重要(起码:SSL、静态加密和分区 VPC)。 有关构建和部署此部分堆栈的更多信息,请查看云核心自述文件。
主题
Nylas Mail 用户界面使用 CSS 样式,这意味着它很容易修改和扩展。Nylas Mail 有一些漂亮的主题,还有更多由社区开发人员构建的主题。
捆绑的主题
- 黑暗
- Darkside (由杰米威尔逊)
- Taiga (由 Noah Buscher )
- Ubuntu (由 Ahmed Elhanafy )
- Less Is More (由 Alexander Adkins 设计)
社区主题
ToogaBooga | Material | Monokai |
Agapanthus—Inbox-inspired theme | Stripe | Kleinstein—Hides account sidebar |
Arc Dark | Solarized Dark | Darkish |
Predawn | Ido—Polymail-inspired theme | Berend |
ElementaryOS | LevelUp | Sunrise |
BoraBora | Honeyduke | Snow |
Hull | Express | DarkSoda |
Bemind | Dracula | MouseEatsCat |
Sublime Dark | Firefox | Gmail |
安装社区主题:
- 下载并解压缩 repo
- 在 Nylas Mail 中,选择 Developer>Install a Package Manually...
- 导航至您下载主题的位置并选择根文件夹。主题被复制到 〜/.nylas-mail 文件夹中以便于使用
- 从顶层菜单中选择更改 Theme... ,您将看到新安装的主题。就是这样!
想要更多潜水?尝试 创建自己的主题!
插件
有些插件是预先安装的,并且是创建您自己的一个很好的起点:
- Translate(翻译) -- Works with 10 languages
- Quick Replies(快速回复) -- 以更快的速度发送电子邮件模板
- Emoji Keyboard(表情符号键盘) -- 输入表情符号一个冒号(:)后跟一个表情符号的名称
- GitHub 边栏信息
- 在 GitHub 上查看
- 个人级别指标
- 网上诱骗检测
社区插件
注意这些没有经过 Nylas 测试或官方支持,但我们仍然认为它们非常酷!如果您发现错误,请在其单个项目页面上打开 GitHub 问题,而不是在 Nylas Mail(N1) repo 页面上。谢谢!
Jiffy—Insert animated GIFs | Weather | Todoist |
Unsubscribe | Squirt Speed Reader | Website Launcher—Opens a URL in separate window |
Cypher—PGP Encryption | Avatars | Events Calendar (WIP) |
Mail in Chat (WIP) | Evernote | Wunderlist |
Participants Display | GitHub |
安装软件包时,它们被移动到 〜/.nylas-mail/packages,Nylas Mail 在命令行上运行 apm install 以获取软件包 package.json 中列出的依赖项。
分支
Nylas Mail 有几个分支,值得你检出学习!如果您刚刚了解 Nylas Mail,强烈建议您使用其中之一。
- Mailspring -- 原始作者之一对性能和云插件进行了重要的重写
- Nylas Mail Lives -- 社区努力修复bug并改进客户端!(寻求维护人员)
(First edition: vz revised at 2019.08.16)