💌 Mailspring ==== [![Travis Status](https://travis-ci.org/Foundry376/Mailspring.svg?branch=master)](https://travis-ci.org/Foundry376/Mailspring) [![AppVeyor Status](https://ci.appveyor.com/api/projects/status/iuuuy6d65u3x6bj6?svg=true)](https://ci.appveyor.com/project/Foundry376/Mailspring) **Leaving Nylas Mail? Mailspring is a new version by one of the original authors. It's faster, leaner, and shipping today!** Mailspring is an open-source mail client built on the modern web with [Electron](https://github.com/atom/electron), [React](https://facebook.github.io/react/), and [Flux](https://facebook.github.io/flux/).** It is designed to be extensible, so it's easy to create new experiences and workflows around email. Want to learn more? Check out the [full documentation](https://Foundry376.github.io/Mailspring/). ![Mailspring Screenshot](https://github.com/Foundry376/Mailspring/raw/master/screenshots/hero_graphic_mac%402x.png) ## Features Mailspring comes packed with powerful features like Unified Inbox, Snooze, Send Later, Read Receipts, Link Tracking, Templates and more. For more information, check out [getmailspring.com](https://getmailspring.com/) ## Download Mailspring You can download compiled versions of Mailspring for Windows, Mac OS X, and Linux (Snap coming soon) from [https://getmailspring.com/download](https://getmailspring.com/download). ## Differences from Nylas Mail - Mailspring replaces the Nylas Mail JavaScript mail sync (client-sync package) and the Electron "worker window" with a new, high performance codebase written in C++ and based on Mailcore2. Make the Electron application just the UI layer. + One C++ process per email account. + C++ and JS communicate via the child process stdin/stdout streams. + JS application queues tasks *but has read-only access to the database.* + JS application should not install timers or wake /at all/ when idle. 0% battery impact when idle. - Improve performance of the thread list and composer contenteditable. - Make windows open faster by just having less code. - Bring back mail rules. ## Contributing Mailspring's UI is entirely open-source and pull requests and contributions are welcome! There are three ways to contribute: building a plugin, building a theme, and submitting pull requests to the project itself. ### Building A Plugin Plugins lie at the heart of Mailspring and give it its powerful features. Building your own plugins allows you to integrate the app with other tools, experiment with new workflows, and more. Follow the [Getting Started guide](https://Foundry376.github.io/Mailspring/) to write your first plugin in five minutes. To create your own theme, go to our [Theme Starter guide](https://github.com/nylas/N1-theme-starter). A plugin "store" like the Chrome Web Store is coming soon, and will make it easy for other users to discover plugins you create. ### Building a Theme The Mailspring user interface is styled using CSS, which means it's easy to modify and extend. Mailspring comes stock with a few beautiful themes, and there are many more which have been built by community developers. To start creating a theme, [clone the theme starter](https://github.com/nylas/nylas-mail-theme-starter)! ### Contributing to Mailspring Core Pull requests are always welcome - check out [CONTRIBUTING](https://github.com/Foundry376/Mailspring/blob/master/CONTRIBUTING.md) for more information about setting up the development environment, running tests locally, and submitting pull requests.