💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Find a file
Ben Gotow 5a0615afb3 Fix occasional flickering when marking as read + archiving in rapid succession
Caused by mailsync’s performRemote overwriting labels/folder of local data with cached data even if the task did not modify the labels/folders.
2019-02-24 00:13:14 -08:00
.snapcraft Update Travis Snapcraft login information 2018-10-09 14:30:27 -07:00
.vscode Bring back the Thread Sharing plugin 🎉 2018-03-30 01:36:23 -07:00
app Use ResizeObserver to monitor email content size for better performance 2019-02-24 00:12:14 -08:00
mailsync@d08af643fc Fix occasional flickering when marking as read + archiving in rapid succession 2019-02-24 00:13:14 -08:00
screenshots Add screenshot back to README 2017-08-02 12:46:04 -07:00
scripts Fix regression on some linux distros - need to set curl CURLOPT_CAINFO 2019-02-11 08:51:17 -08:00
snap Add canberra-gtk-module to Snap stage-packages 2018-07-16 16:47:18 -07:00
.appveyor.yml Build native modules with VS 2015 because V8 now requires it 2018-01-28 23:17:37 -08:00
.babelrc Upgrade to Electron 4.0.0-beta.11, fix printing issues 2018-12-19 17:56:07 -07:00
.eslintrc Disable the “no-cond-assign” eslint rule 2018-01-26 10:57:22 -08:00
.gitignore Send IDs to Sentry so issues can be sorted by number of impacted users 2018-11-05 10:13:30 -08:00
.gitmodules Fix rename of mailsync module 2017-09-05 14:13:02 -07:00
.prettierrc Adopt prettier , upgrade ESLint 2017-09-26 11:33:08 -07:00
.travis.yml Build native node modules with gcc 4.8, without libraries needed for mailsync 2019-01-02 22:31:48 -08:00
book.json Switch product name to “Mailspring” 2017-09-05 13:40:25 -07:00
CHANGELOG.md Update CHANGELOG 2019-02-10 17:12:14 -08:00
CONTRIBUTING.md Add a note about testing localizations 2018-10-07 01:30:50 -07:00
ISSUE_TEMPLATE.md Add a note to the ISSUE_TEMPLATE asking for mailsync logs 2018-08-02 12:46:52 -07:00
LICENSE-mailsync.md Add a “View License” menu item similar to Atom’s 2019-01-03 01:11:20 -08:00
LICENSE.md fix(license): Swap ref to GPLv3 with the whole thing so GitHub picks it up 2016-10-15 10:48:44 -07:00
LOCALIZATION.md Fill gaps in translations using Google NLT API [hope contributors can improve these!] 2018-10-09 13:31:07 -07:00
package-lock.json Add explicit deep-extend dependency to workaround bug in npm dedupe 2019-02-04 22:37:14 -08:00
package.json Upgrade packages with the help of npm audit fix 2019-02-04 21:54:38 -08:00
README.md Fix a typo in README (#1342) 2019-02-06 22:18:19 -08:00
ROADMAP.md Update changelog, cut v1.5.4 release 2018-12-29 08:26:29 -05:00
yarn.lock Bump to Electron 1.8.2-beta5 2018-02-04 19:58:42 -08:00

💌 Mailspring

Travis Status AppVeyor Status Mailspring Slack

Mailspring is a new version of Nylas Mail maintained by one of the original authors. It's faster, leaner, and shipping today! It replaces the JavaScript sync code in Nylas Mail with a new C++ sync engine based on Mailcore2. It uses roughly half the RAM and CPU of Nylas Mail and idles with almost zero "CPU Wakes", which translates to great battery life. It also has an entirely revamped composer and other great new features.

Mailspring's UI is open source (GPLv3) and written in JavaScript with Electron and React - it's built on a plugin architecture and was designed to be easy to extend. Check out CONTRIBUTING.md to get started!

Mailspring's sync engine is spawned by the Electron application and runs locally on your computer. It will be open-sourced in the future but is currently closed source. When you set up your development environment, Mailspring uses the latest version of the sync process we've shipped for your platform so you don't need to pull sources or install its compile-time dependencies.

Mailspring Screenshot

Features

Mailspring comes packed with powerful features like Unified Inbox, Snooze, Send Later, Mail Rules, Templates and more. Mailspring Pro, which you can unlock with a monthly subscription, adds even more features for people who send a ton of email: link tracking, read receipts, mailbox analytics, contact and company profiles. All of these features run in the client - Mailspring does not send your email credentials to the cloud. For a full list of features, check out getmailspring.com.

Download Mailspring

You can download compiled versions of Mailspring for Windows, Mac OS X, and Linux (deb, rpm and snap) from https://getmailspring.com/download.

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. When you're getting started, you may want to join our public slack so you can ask questions and learn from other people doing development.

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 to write your first plugin in five minutes. To create your own theme, go to our Theme Starter guide.

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!

If you are updating an existing Nylas theme for Mailspring here is a step by step tutorial. Notice: as part of the update process you will probably need to import mailspring base variables.

Localizing / Translating

Mailspring 1.5.0 and above support localization. If you're a fluent speaker of another language, we'd love your help improving translations. Check out the LOCALIZATION guide for more information.

Contributing to Mailspring Core

Pull requests are always welcome - check out CONTRIBUTING for more information about setting up the development environment, running tests locally, and submitting pull requests.