ProtonMail for macOS - Experimental email client for the ProtonMail service written in Swift

Last update: May 20, 2022

ProtonMail for macOS

Experimental email client for the ProtonMail service written in Swift.

Hero

About

A pet project, largely incomplete and missing major features. Could be used for reading emails at best at the moment.

What's working?

  1. User authentication (via ProtonMail's web service)
  2. Loading conversations and messages (including inline attachments or remote content)
  3. Loading custom folders and labels
  4. Navigating between folders and labels
  5. Applying labels, moving conversations and messages between folders
  6. Starring conversations and messages
  7. Paging, sort of

What's missing?

  1. Composer (sending emails)
  2. Search
  3. Downloading attachments
  4. Updating "read" status without opening the message
  5. Deleting messages
  6. Editing custom folders and labels
  7. App lock?
  8. Menu bar items
  9. User preferences
  10. Continuous mailbox scroll should be preferred over paging
  11. Support for macOS Catalina?
  12. Tests, tests, tests
  13. Loads of other QoL features

Architecture

Clean Swift (variation of VIPER) with three major scenes: sidebar, mailbox and details. Built using AppKit and Auto Layout. The app uses the standard NSSplitViewController with three items to build the common email client interface.

Arch

Contributions

ProtonMail has announced plans for releasing their own desktop client at some point in 2022 so it's unlikely this project is going to amount to anything. If you still feel like contributing to a project like this you are certainly welcome to do so!

License

The code and data files in this distribution are licensed under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See https://www.gnu.org/licenses/ for a copy of this license.

Uses software developed by ProtonMail.

GitHub

https://github.com/marpies/protonmail-macos
You might also like...

An experimental functional programming language with dependent types, inspired by Swift and Idris.

Kara An experimental functional programming language with dependent types, inspired by Swift and Idris. Motivation Development of Kara is motivated by

Apr 13, 2022

(Experimental libraries) Controls interrupt handling, such as alert views, and is compatible with UIKit and Swift UI.

(Experimental libraries) Controls interrupt handling, such as alert views, and is compatible with UIKit and Swift UI.

UIPresentCoordinator Controls interrupt handling, such as alert views, and is compatible with UIKit and Swift UI. This library manages items that are

Jan 22, 2022

An early experimental general-purpose pattern matching engine for Swift.

Declarative String Processing for Swift An early experimental general-purpose pattern matching engine for Swift. See Declarative String Processing Ove

May 11, 2022

Postal is a swift framework providing simple access to common email providers.

Postal is a swift framework providing simple access to common email providers.

Postal is a swift framework providing simple access to common email providers. Example Connect let postal = Postal(configuration: .icloud(login: "myem

May 11, 2022

Email Validation Example With Swift

EmailValidation Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements Installation Em

Dec 4, 2021

SwiftEmailValidator - A Swift implementation of an international email address syntax validator based on RFC5321 & RFC5322

SwiftEmailValidator A Swift implementation of an international email address syn

May 16, 2022

Send email to any SMTP server like a boss, in Swift and cross-platform

Send email to any SMTP server like a boss, in Swift and cross-platform

Hedwig is a Swift package which supplies a set of high level APIs to allow you sending email to an SMTP server easily. If you are planning to send ema

May 18, 2022

Experimental SwiftUI build of the iOS app switcher

SwiftUI - iOS App Switcher This project is an approximation of the iOS app switcher UI experience, built with SwiftUI. The following interactions are

Mar 3, 2022

Beers is a simple experimental app implemented using the new amazing SwiftUI.

Beers is a simple experimental app implemented using the new amazing SwiftUI.

Beers is a simple experimental app implemented using the new amazing SwiftUI. The app shows a list of beers fetched from Punk API

Apr 17, 2022

An experimental navigation router for SwiftUI

SwiftUIRouter 🔗 An ⚠️ experimental ⚠️ navigation router for SwiftUI Usage 💡 Check out ExampleApp for more. Define your routes: import SwiftUIRouter

May 11, 2022

Experimental iOS Arm64 hooking

ClownHook Experimental hooking on Arm64. Status Experimenting Setup Install xcodegen to generate an Xcode project. brew install xcodegen Create the X

Dec 7, 2021

An experimental clone of the new iOS 11 App Store app

An experimental clone of the new iOS 11 App Store app

appstore-clone An experimental clone of the new iOS 11 App Store app for this Medium Article Description Apple announced an entirely redesigned iOS Ap

Mar 31, 2022

An experimental prototype calculator.

What is NumberPad NumberPad is an experimental prototype to explore how we write, visualize, and manipulate math equations. This post highlights some

Apr 25, 2022

An experimental time traveling state store for SwiftUI

An experimental time traveling state store for SwiftUI

SwiftUI Time Travel A SwiftUI state store and view that allow you to scrub through an application's state. This is a super rough prototype: it's only

Mar 6, 2022

This is a tiny experimental application using SwiftUI with Flux architecture.

This is a tiny experimental application using SwiftUI with Flux architecture.

🚀 SwiftUI-Flux This is a tiny experimental application using SwiftUI with Flux architecture.

Feb 6, 2022

A light-weight server-side service framework written in the Swift programming language.

Smoke Framework The Smoke Framework is a light-weight server-side service framework written in Swift and using SwiftNIO for its networking layer by de

May 13, 2022

LoginKit is a quick and easy way to add Facebook and email Login/Signup UI to your app.

LoginKit is a quick and easy way to add Facebook and email Login/Signup UI to your app.

LoginKit About LoginKit is a quick and easy way to add Facebook and email Login/Signup UI to your app. If you need to quickly prototype an app, create

May 16, 2022

Email-based instant messaging for iOS.

Email-based instant messaging for iOS.

deltachat-ios Email-based instant messaging for iOS. Testing Betas are distributed via Testflight. Just scan this QR code with the camera app of your

May 16, 2022

UI-элемент Поле для ввода кода подтверждения из смс или email

UI-элемент Поле для ввода кода подтверждения из смс или email

SWCodeField SWCodeField - простое поле для ввода кода подтверждения из смс или email с возможность изменения количества элементов. UI-элемент основан

Jan 18, 2022
Comments
  • 1. write a Build guide for mac users

    hi, first of all i find your project very amazing and would like to test it out. sadly, i am not well versed in Swift, Xcode, and building programs and would need some help there.

    Maybe you could write up a guide for newbies how to build the project ourselves? or even publish a binary for it, if that is not to much overkill.

    Thanks a lot for your help :)

    Reviewed by skriptum at 2022-01-26 20:51
Cordova Email Plugin
Cordova Email Plugin

Forked to fix Android 11 problems – No future support! SAMPLE APP ?? Cordova Email Plugin The plugin provides access to the standard interface that ma

Oct 22, 2021
Tutanota is an email service with a strong focus on security and privacy that lets you encrypt emails, contacts and calendar entries on all your devices.
Tutanota is an email service with a strong focus on security and privacy that lets you encrypt emails, contacts and calendar entries on all your devices.

Tutanota makes encryption easy Tutanota is the secure email service with built-in end-to-end encryption that enables you to communicate securely with

May 22, 2022
iOS-mail — ProtonMail iOS client app

iOS-mail Introduction iOS-mail — ProtonMail iOS client app The app is intended for all users of the ProtonMail service. Whether they are paid or free,

May 20, 2022
Approov-service-ios-swift-grpc - Approov service layer for iOS clients using GRPC

Approov Service for GRPC A wrapper for the Approov SDK to enable easy integratio

Jan 21, 2022
CloudKit, Apple’s remote data storage service, provides a possibility to store app data using users’ iCloud accounts as a back-end storage service.
CloudKit, Apple’s remote data storage service, provides a possibility to store app data using users’ iCloud accounts as a back-end storage service.

CloudKit, Apple’s remote data storage service, provides a possibility to store app data using users’ iCloud accounts as a back-end storage service. He

Mar 26, 2022
NewsAPISwift is a Swift client for News API V2, a service that provides breaking news headlines, and search for articles from over 30,000 news sources and blogs.

NewsAPISwift NewsAPISwift is a Swift client for News API V2, a service that provides breaking news headlines, and search for articles from over 30,000

Feb 10, 2022
TheraForge's Client REST API framework to connect to TheraForge's secure CloudBox Backend-as-a-Service (BaaS)

OTFCloudClientAPI TheraForge's Client REST API Framework to Connect to TheraForg

Dec 23, 2021
Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
Keybase Go Library, Client, Service, OS X, iOS, Android, Electron

Keybase Hi, and welcome to the Keybase client repo. All our client apps (macOS, Windows, Linux, iOS, and Android) are being actively developed in this

May 17, 2022
Vapor-telemetrydeck - Vapor client for posting signals to TelemetryDeck, a privacy-conscious analytics service for apps and websites

Vapor-telemetrydeck - Vapor client for posting signals to TelemetryDeck, a privacy-conscious analytics service for apps and websites

Feb 16, 2022
Fancy Swift implementation of the Visual Format Language (experimental and doesn't work with the recent version of Swift)
Fancy Swift implementation of the Visual Format Language (experimental and doesn't work with the recent version of Swift)

VFLToolbox Autolayout is awesome! VFL a.k.a Visual Format Language is even more awesome because it allows you to shorten constraints setting code. The

May 1, 2022