nylas-mail README

The project's README from github.com/nylas/nylas-mail. As one markdown file: README.md.

[!CAUTION] 🛑 This repository is archived and no longer maintained.

Nylas Mail (originally N1) was open-sourced in 2015 and maintained by Nylas until 2017. It is preserved here for historical reference. Nylas is now an API platform — see developer.nylas.com. For an actively maintained desktop client, see the community forks listed at the bottom of this README.


Nylas Mail - the open-source, extensible mail client

N1 Screenshot

Nylas Mail was an open-source mail client built on the modern web with Electron, React, and Flux. It was designed to be easy to extend, and many third-party plugins are available that add functionality to the client.

⚠️ Nylas Mail was initially released and open-sourced in early 2015 and was maintained by Nylas until Spring 2017. While Nylas no longer supports Nylas Mail, you can download the latest release or build it from source. There are also several forks that are being actively developed and maintained.

Getting Started

Setup your Environment (Mac):

  1. Install Homebrew
  2. Install NVM & Redis brew install nvm redis
  3. Install Node 6 via NVM: nvm install 6
  4. npm install

Setup your Environment (Linux - Debian/Ubuntu):

  1. Install Node 6+ via NodeSource (trusted):
  2. curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
  3. sudo apt-get install -y nodejs
  4. Install Redis locally sudo apt-get install -y redis-server redis-tools benefit of letting us use subdomains.
  5. npm install

Running Nylas Mail

  1. npm run client: Starts the app
  2. npm run test-client: Run the tests
  3. npm run lint-client: Lint the source (ESLint + Coffeelint + LESSLint)

Exploring the Source

This repository contains the full source code to the Nylas Mail client and it's backend services. It is divided into the following packages:

  1. Isomorphic Core: Shared code across local client and cloud servers
  2. Client App: The main Electron app for Nylas Mail mirrored to open source repo.
  3. Client Sync: The local mailsync engine integreated in Nylas Mail
  4. Client Private Plugins: Private Nylas Mail plugins (like SFDC)
  5. Cloud API: The cloud-based auth and metadata APIs for N1
  6. Cloud Core: Shared code used in all remote cloud services
  7. Cloud Workers: Cloud workers for services like send later

See /packages for the separate pieces. Each folder in /packages is designed to be its own stand-alone repository. They are all bundled here for the ease of source control management.

Digging Deeper

In early 2016, the Nylas Mail team wrote extensive documentation for the app that was intended for plugin developers. This documentation lives on GitHub Pages and offers a great overview of the app's architecture and important classes. Here are some good places to get started:

The team has also given conference talks and published blog posts about the client:

Running the Cloud

When you download and build Nylas Mail from source it runs without its cloud components. The concept of a "Nylas ID" / subscription has been removed, and plugins that require server-side processing are disabled by default. (Plugins like Snooze, Send Later, etc.)

In order to use these plugins and get the full Nylas Mail experience, you need to deploy the backend infrastructure located in the cloud-* packages. Deploying these services is challenging because they are implemented as microservices and designed to be run at enterprise scale with Redis, Postgres, etc. Because these backend services must access your email account, it is also important to use security best-practices (at the very least, SSL, encryption at rest, and a partitioned VPC). For more information about building and deploying this part of the stack, check out the cloud-core README.

Themes

The Nylas Mail user interface is styled using CSS, which means it's easy to modify and extend. Nylas Mail comes stock with a few beautiful themes, and there are many more which have been built by community developers

N1 Themes

Bundled Themes

Community Themes

ToogaBooga Material Monokai (no longer available)
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 (no longer available)
Sublime Dark (no longer available) Firefox Gmail

To install community themes:

  1. Download and unzip the repo
  2. In Nylas Mail, select Developer > Install a Package Manually...
  3. Navigate to where you downloaded the theme and select the root folder. The theme is copied into the ~/.nylas-mail folder for your convinence
  4. Select Change Theme... from the top level menu, and you'll see the newly installed theme. That's it!

Want to dive in more? Try creating your own theme!

Plugins

Some plugins come pre-installed, and are a great starting points for creating your own:

Community Plugins

Note these are not tested or officially supported by Nylas, but we still think they are really cool! If you find bugs with them, please open GitHub issues on their individual project pages, not the Nylas Mail (N1) repo page. Thanks!

Jiffy (no longer available)—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) (no longer available) Evernote Wunderlist
Participants Display GitHub

When you install packages, they're moved to ~/.nylas-mail/packages, and Nylas Mail runs apm install on the command line to fetch dependencies listed in the package's package.json

Forks

There are several forks of Nylas Mail that you should check out. If you're just learning about Nylas Mail, it is highly recommended you use one of these instead.

nylas-mail (nylas/nylas-mail)

Searching Database…

24.7K ·GitHub
archived
这是什么?一个开源、可扩展的桌面邮件客户端,基于现代 Web 技术构建——Electron、React 和 Flux。2015 年 Nylas 将其开源时,它叫 N1。
这是需要安装的桌面应用,还是网页版邮箱服务?它是一个基于 Electron 的桌面应用,支持 macOS、Windows 和 Linux。仓库里还包含其可选功能背后云服务的源代码。
Nylas Mail 还在维护吗?不维护了。这个仓库已经归档——Nylas 只维护到 2017 年春天,保留下来仅作历史参考。README 会把新用户指向仍在活跃维护的分支 Mailspring 和 Nylas Mail Lives。
支持那些额外功能的云后端,我能自己搭建吗?可以,但很难:这些云服务包是面向企业级规模的微服务,依赖 Redis 和 Postgres;而且由于它们要访问你的邮件,所以要求 SSL、静态加密和分区隔离的 VPC。
我应该改用 Mailspring 吗?对于新用户,README 推荐使用它的分支:Mailspring 是原作者之一主导的大幅重写版,专注于性能和云端插件;Nylas Mail Lives 则是社区做的修 bug 项目。
我需要 Nylas 账号或订阅吗?不需要——从源码构建的版本里,Nylas ID 和订阅的概念已经被移除。代价是:像稍后提醒(Snooze)和定时发送(Send Later)这类服务器端插件默认是禁用的。
我自己怎么写插件?Nylas 在 GitHub Pages 上发布了非常详细的插件开发文档,涵盖了应用的架构和关键类。安装的插件包放在 ~/.nylas-mail/packages,依赖则用 apm install 来获取。
Nylas Mail 和 Nylas API 是同一个东西吗?不是。Nylas Mail 是 Nylas 一直维护到 2017 年的桌面客户端;Nylas 本身现在是一个邮件 API 平台(developer.nylas.com),已经不再支持这款应用。
Creator
nylas
Size
86.6 MB
Stars
24.7K
Age
12y
Commits · 90 Days