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.56k stars 908 forks source link

[Feature Request]: PGP Encryption / GPG Support / Keybase #25

Closed heywoodlh closed 3 years ago

heywoodlh commented 7 years ago

Can I use GPG to encrypt email in Mailspring yet? Couldn't find anything in the KB and I also couldn't use any plugins to add the functionality myself.

I would have checked out the roadmap to see if there was a plan to implement this but it doesn't seem to be public. #

bengotow commented 7 years ago

Hey @heywoodlh — thanks for reaching out! There used to be a Keybase plugin for Nylas Mail that added GPG encryption to the app, and theoretically it /should/ still mostly work. In a few months, Mailspring will have a plugin browser built into it and I think it'd be great to have an encryption plugin in there. If anyone has some time to dive in to this, it'd be great!

heywoodlh commented 7 years ago

In OS X I can't use the menu to install plugins. Is there any way for me to install the plugin manually in Mailspring? I would totally love to dig into it and report back.

bengotow commented 7 years ago

Oh wow - yeah, it just... doesn't work. I'll see if I can get that fixed.

In the meantime, if you want to install a plugin open ~/Library/Application Support/Mailspring in the Finder. Create a folder called packages there, and put your plugin folder inside it. If you relaunch Mailspring it should find it and attempt to load it!

heywoodlh commented 7 years ago

Perfect, thank you for the quick responses.

I'll work on getting that plugin installed and see how it goes.

heywoodlh commented 7 years ago

I found an open source N1 PGP plugin called Cypher and forked it here.

I placed it in ~/Library/Application Support/Mailspring/packages/ and when I run MailSpring I get an error in the developer's console stating that it cannot find the module 'nylas-export'.

Not sure where that module is, as I cannot seem to find it in the original Nylas Mail repository, in the Mailspring repo, or in the cypher repository that I forked.

Attached is a copy of the error log: nylas-error.txt

I am submitting this here to ask for additional help as I am not a developer and I think this would really be a great feature to add to Mailspring.

I opened an issue on the repository I forked here. Any help fixing this would be appreciated. :)

buildersbrewery commented 7 years ago

Probably due to config.json always being overridden with these?

    "disabledPackages": [
        "message-view-on-github",
        "personal-level-indicators",
        "phishing-detection",
        "nylas-private-salesforce",
        "github-contact-card",
        "keybase",
        "composer-markdown",
        "composer-scheduler",
        "composer-mail-merge",
        "send-and-archive",
        "main-calendar"
      ]
heywoodlh commented 7 years ago

@buildersbrewery I'll have to take a look at that tomorrow. Do you have a proposed solution?

buildersbrewery commented 7 years ago

Seems to be part of a planned paywall (#25, #28, #33)?

alxjsn commented 7 years ago

S/MIME support would also be a nice feature to add. :)

agsdot commented 7 years ago

👍 for re-adding keybase integration in the future again.

tim-hm commented 7 years ago

Would love to see keebase/gpg support!

deidyomega commented 7 years ago

Just as a note, once gpg support is working, I'll become a paying customer.

simotek commented 6 years ago

I also need this to fully migrate away from firefox.

JDsnyke commented 6 years ago

Any news on this feature?

TheChiefMeat commented 6 years ago

Would also love to see this feature. I know Keybase has an open source javascript implementation of PGP (https://github.com/keybase/kbpgp), I even helped implement some features (signing, signing and encryption) onto a website you can find here:

https://thechiefmeat.github.io/pgp/

Seeing as the client uses quite a bit of Javascript already, you should be able to implement kbpgp into the client, I'd even help out if that meant getting this feature done :)

SkyCrawl commented 6 years ago

Another +1. I could repeat many statements from the above comments. This is a very important feature for Mailspring to get more users/customers.

zaphbbrox commented 6 years ago

And another +1. Really looking forward to this feature, so I can use Mailspring as my only mail app.

daanpanis commented 6 years ago

+1. I've been looking for a good looking email client that supports PGP encryption. If Mailspring starts supporting this it would be the perfect mail client.

pirhoo commented 6 years ago

Me too! That said, it's a bad day for GPG: https://www.eff.org/deeplinks/2018/05/attention-pgp-users-new-vulnerabilities-require-you-take-action-now

thomwiggers commented 6 years ago

The EFF and the authors of that paper are doing PGP a disservice. There are some bugs in handling decryption failures in various email clients, PGP itself is mostly fine.

jramb commented 6 years ago

In this case it is related to the email encoding and HTML features (sadly Mailspring allows only HTML, no plain text only right now). That is a serious issue and not just a simple implementation glitch and has nothing to do with the PGP algorithm being good or not. EFF seems right to recommend to switch GPG / S/MIME off completely in the clients. Sadly.

samtuke commented 6 years ago

Another +1 for GPG.

Lacroze commented 6 years ago

+1

franktopel commented 6 years ago

+1

jorgedferreira commented 6 years ago

Any news on this? Doing a test drive of the email client and this is a must for me.

gdude2002 commented 6 years ago

@bengotow Has there been any movement on this? It's a very important thing to be able to do, given just how holey the global email infrastructure actually is.

I tried to load the old Nylas plugin, but nothing visible happens when I do. The disabled plugin plugin in this repo just throws errors.

EDIT: It does enable, though. No errors in the console.

image

michaelplews commented 6 years ago

+1

tcurdt commented 6 years ago

So why all the thumbs down, @DenisBY ?

DenisBY commented 6 years ago

https://github.com/isaacs/github/issues/967

tcurdt commented 6 years ago

@DenisBY while I agree, it probably is more productive to give that link instead just giving a thumbs down. Otherwise your thumbs down reaction is as much useful as those reaction only comments. Just saying.

phamhung77 commented 6 years ago

Just as a note, once gpg support is working, I'll become a paying customer.

Me too :)

cornfeedhobo commented 6 years ago

@pirhoo when using gpg, one should not be enabling html rendering, but I am very glad you mentioned it, given the nature of this client.

My $0.02, not having this feature prevents me from even considering Mailspring. I know simple folk like to laugh at GPG support, but I look at from the perspective of "new software I adopt needs to be better than what I am currently using, not just pretty". Thunderbird holds on because it works and has a bunch of features. Ever talked to someone that is used to Outlook? All new email clients should strive towards these targets.

thetribune commented 6 years ago

+1 . Would love to see PGP support.

Became a paying customer hoping to support its development.

josecanciani commented 6 years ago

Just to increase visibility for this feature, I'd like to comment what I suppose is a very common use case today: I almost don't use personal email anymore, most notifications are handled in it's own apps now, so email is becoming obsolete very quickly. Where it's still used heavily is at work, and for work it's indispensable that signing -must have- and encryption -nice to have- are present, since companies require these security measures today.

PS: I would also support the development if needed!

Regards, Jose

NgoHuy commented 6 years ago

If you try old Nylas plugin, you must convert all coffee and cjsx script to jsx then install request in your mailspring.

heywoodlh commented 6 years ago

@NgoHuy have you done this already?

NgoHuy commented 6 years ago

I stuck in build Mailprings on Archlinux when I run npm start, error is GLib-GObject: g_object_unref: assertion 'G_IS_OBJECT (object)' failed I will build and run on Debian tomorrow for double check.

heywoodlh commented 6 years ago

Awesome, thanks @NgoHuy! If you're able to get it to build successfully I think everyone would appreciate if you shared your modified code for the plugin.

NgoHuy commented 6 years ago

Sure, if I convert it successfully, I would like to share with others.

NgoHuy commented 6 years ago

I convert from cjsx to jsx, coffee to js, but got some error at runtime +_+ the tools I use is https://github.com/bugsnag/depercolator and https://github.com/decaffeinate/decaffeinate

NgoHuy commented 6 years ago

keybase.tar.gz I convert it successfully, please test it. I will clean up some code :D

NgoHuy commented 6 years ago

Some error on encrypt email, I will fix it

thetechnick commented 6 years ago

Hi @NgoHuy, good work!

Would you mind pushing your code into a git repository? This way it would be way easier to collaborate, than by sending tar's around.

NgoHuy commented 6 years ago

Yes, after clean some code, I will push to git repository at weekend.

NgoHuy commented 6 years ago

I push final code here, please test it https://github.com/NgoHuy/mailspring-keybase

fazlerabbi37 commented 6 years ago

@NgoHuy would you kindly update your readme with how to install and how to use it? I can help you with installation instruction for both Linux and Mac by sending a PR if it is ok.

valentt commented 6 years ago

@NgoHuy would you kindly update your readme with how to install and how to use it? I can help you with installation instruction for both Linux and Mac by sending a PR if it is ok.

I'm also willing to help out write documentation, I have started this issue so please join me there - https://github.com/NgoHuy/mailspring-keybase/issues/3

valentt commented 6 years ago

I push final code here, please test it https://github.com/NgoHuy/mailspring-keybase

I have tested it but I'm not seeing anything in Mailspring. How should this plugin work?

NgoHuy commented 6 years ago

PR is welcome, bro please see https://github.com/NgoHuy/mailspring-keybase/issues/2 for more info

mknapik commented 6 years ago

I stuck in build Mailprings on Archlinux when I run npm start, error is GLib-GObject: g_object_unref: assertion 'G_IS_OBJECT (object)' failed I will build and run on Debian tomorrow for double check.

I build the app with no problem on macos but I run into the same issue on Arch. Did you manage to figure this out?