Foundry376 / Mailspring

:love_letter: A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
https://getmailspring.com/
GNU General Public License v3.0
15.55k stars 907 forks source link

Can Mailspring be run as a web app in the browser? #1129

Closed cypriotxx closed 6 years ago

cypriotxx commented 6 years ago

Hi just a quick question , maybe a silly one too

could i set mailspring on our mailserver to let users use it via browsers ? like roundcube etc ?

thank you

baconbrad commented 6 years ago

No. While programmed in web technologies it requires Electron to operate. A normal web browser would not be able to allow the code to function or access native APIs. I would recommend something like RainLoop for this purpose.

bengotow commented 6 years ago

Thanks for chiming in @baconbrad, you're correct—Mailspring is really tightly coupled to Electron. No web version in the forseeable future. Hope that helps @cypriotxx!

miracle2k commented 6 years ago

I am also super interested in a browser version - so much so that I attempted to get it running in the browser back in February of this year. Back then, I didn't have enough time to spare, but I just worked on it some more (with the February version, not the current master). In my opinion, it is definitely feasible - a decent amount of work, to be sure, but doable.

I managed to get it to compile in webpack, and the sidebar to render some static accounts and folders. One challenge going forward is finding a better way to load the internal packages (I did the requires for account-sidebar manually). The other biggies are window management and the data backend.

We could either support directly communicating with a backend (JMAP, context.io or Nylas API), or we could do those backends plus having a local IndexedDB cache. The former would require a more expansive rework of the store data access, the latter might be reasonably straightforward. Unfortunately, if "Mailspring in the browser" requires all data to be locally stored, this would, I think, limit it's audience. Maybe both can be supported.

Anyhow, I am quite interested in this. Time permitting, I would like to work on it more; I am curious to what extent you guys might be interested in supporting this - eventually, down the road; if are are, I would make an effort to keep you in the loop and get your input about any architecture changes required.

My work in progress is here: https://github.com/Foundry376/Mailspring/compare/master...miracle2k:webapp?expand=1

daodol commented 4 years ago

I am also super interested in a browser version - so much so that I attempted to get it running in the browser back in February of this year. Back then, I didn't have enough time to spare, but I just worked on it some more (with the February version, not the current master). In my opinion, it is definitely feasible - a decent amount of work, to be sure, but doable.

I managed to get it to compile in webpack, and the sidebar to render some static accounts and folders. One challenge going forward is finding a better way to load the internal packages (I did the requires for account-sidebar manually). The other biggies are window management and the data backend.

We could either support directly communicating with a backend (JMAP, context.io or Nylas API), or we could do those backends plus having a local IndexedDB cache. The former would require a more expansive rework of the store data access, the latter might be reasonably straightforward. Unfortunately, if "Mailspring in the browser" requires all data to be locally stored, this would, I think, limit it's audience. Maybe both can be supported.

Anyhow, I am quite interested in this. Time permitting, I would like to work on it more; I am curious to what extent you guys might be interested in supporting this - eventually, down the road; if are are, I would make an effort to keep you in the loop and get your input about any architecture changes required.

My work in progress is here: https://github.com/Foundry376/Mailspring/compare/master...miracle2k:webapp?expand=1

Can there be an app with separate front and back ends