FairEmail
FairEmail - Fully featured, open source, privacy oriented email app for Android
AppID: | eu.faircode.email |
Author: | Marcel Bokhorst |
License: | GPL-3.0-or-later |
Donation: | Webpage |
InRepoSince: | 2018-08-02 |
LastRepoUpdate: | 2022-06-25 |
LastAppUpdate: | 2022-06-25 |
LastVersion: | 1.1927 |
Categories: | Internet |
Google Play: | Check if it's there |

This email app might be for you if your current email app:
- takes long to receive or show messages
- can manage only one email address
- cannot show conversations
- cannot work offline
- looks outdated
- is not maintained
- stores your email on their servers
- is closed source, potentially violating your privacy
This app is minimalistic by design, so you can concentrate on reading and writing messages.
This app starts a foreground service with a low priority status bar notification to make sure you’ll never miss new email.
Main features
- 100 % open source
- Privacy friendly
- Multiple accounts (inboxes)
- Multiple identities (outboxes)
- Unified inbox
- Flat conversation threading
- Two way synchronization
- Offline storage and operations
- Battery friendly
- Low data usage
- Material design
Pro features
- Signatures
- Notification settings (sounds) per account/folder/sender (requires Android 8 Oreo)
- Dark/black theme
- Account/identity colors
- Multiple select
- Reply templates
- Sort on time, unread or starred
- Search on server
- Preview sender/subject/photo in new message notifications
- Encryption/decryption (OpenPGP)
- Export settings
- and more (see the app’s Github presence)
Simple
- Quick setup
- Easy navigation
- No unnecessary settings
- No bells and whistles
Secure
- Allow encrypted connections only
- Accept valid security certificates only
- Authentication required
- Safe message view (styling, scripting and unsafe HTML removed)
- Confirm opening links, images and attachments
- No special permissions required
- No advertisements
- No analytics and no tracking
- No Google backup
Efficient
- IMAP IDLE (push messages) supported
- Built with latest development tools and libraries
- Android 6 Marshmallow or later required
- FairEmail will work properly on devices without any Google service installed.
See here for a list of often asked questions.
AntiFeatures:
- NonFreeDep: Google Billing Client
- NonFreeNet: Google Billing Client
- Tracking: BugSnag (disabled by default, hence not applied).

NonFreeDep
: The application depends on a non-free application (e.g. Google Maps) - i.e. it requires it to be installed on the device, but does not include it.NonFreeNet
: This application promotes or entirely depends a non-Free network service.
Packages
Version 1.1927 (2022-06-25)
Android Versions:
- Target:
- MinVer: 5.0
Permissions:
- ACCESS_NETWORK_STATE
- FOREGROUND_SERVICE
- GET_ACCOUNTS
- INTERNET
- android.permission.POST_NOTIFICATIONS
- android.permission.READ_APP_BADGE
- READ_CONTACTS
- READ_EXTERNAL_STORAGE
- READ_PROFILE
- RECEIVE_BOOT_COMPLETED
- REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
- SCHEDULE_EXACT_ALARM
- USE_BIOMETRIC
- USE_CREDENTIALS
- USE_FINGERPRINT
- WAKE_LOCK
- launcher.permission.UPDATE_COUNT
- vending.BILLING
- com.htc.launcher.permission.READ_SETTINGS
- com.htc.launcher.permission.UPDATE_SHORTCUT
- com.huawei.android.launcher.permission.CHANGE_BADGE
- com.huawei.android.launcher.permission.READ_SETTINGS
- com.huawei.android.launcher.permission.WRITE_SETTINGS
- com.majeur.launcher.permission.UPDATE_BADGE
- com.oppo.launcher.permission.READ_SETTINGS
- com.oppo.launcher.permission.WRITE_SETTINGS
- badge.permission.READ
- badge.permission.WRITE
- com.sonyericsson.home.permission.BROADCAST_BADGE
- com.sonymobile.home.permission.PROVIDER_INSERT_BADGE
- com.vivo.notification.permission.BADGE_ICON
- eu.faircode.email.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
- me.everything.badger.permission.BADGE_COUNT_READ
- me.everything.badger.permission.BADGE_COUNT_WRITE
Features:
- None
70 Libraries detected:
Libraries:
- Android Support v4 (Development Framework) The Android Support Library is not actually a single library, but rather a collection of libraries that can roughly be divided into two groups: compatibility and component libraries. For details, please see Understanding the Android Support Library.
- AndroidX Activity (Utility) provides the base Activity subclass and the relevant hooks to build a composable structure on top.
- Android Jetpack Annotations (Utility) library that contains the annotations for Android Jetpack.
- Arch (Utility) helper for other arch dependencies, including JUnit test rules that can be used with LiveData.
- AppCompat (Utility) support newer Android features on older Android versions.
- Biometric (Utility) authenticate with biometrics or device credentials, and perform cryptographic operations.
- Browser (Utility) display webpages in the user's default browser.
- Cardview (UI Component) AndroidX library to implement the Material Design card pattern with round corners and drop shadows.
- Android Support Library collections (Utility) standalone efficient collections.
- Constraint Layout Library (Utility) library to reduce the number of nested views needed.
- Coordinatorlayout (UI Component) AndroidX library to position top-level application widgets, such as AppBarLayout and FloatingActionButton.
- Androidx Core (Utility) a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs.
- AndroidX Cursor Adapter (Utility) static library support version of the framework's CursorAdapter.
- Android Support Library Custom View (UI Component) a module to implement custom views. Part of the Android Support Library.
- Documentfile (UI Component) a library to view a file document.
- Drawerlayout (UI Component) AndroidX library to implement a Material Design drawer widget.
- Android Emoji2 Compat (UI Component) core library to enable emoji compatibility in Kitkat and newer devices to avoid the empty emoji characters.
- Exifinterface (Utility) a library to read and write image file EXIF tags.
- AndroidX Fragment (UI Component) AndroidX library to encapsulate part of the user interface or behavior into reusable components.
- Interpolator (UI Component) AndroidX library to use animation interpolators on older platforms.
- Lifecycle (Utility) perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
- Loader (Utility) library to load data for your UI that survives configuration changes.
- AndroidX Local Broadcast Manager (Utility) an application-wide event bus and embraces layer violations in your app: any component may listen events from any other.
- Paging (UI Component) AndroidX library to make it easier to load data gradually and gracefully within an app's RecyclerView.
- Preference (Utility) a library to build interactive settings screens without needing to interact with device storage or manage the UI.
- Room (Utility) a persistence library that provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
- Recyclerview (Utility) display large sets of data in your UI while minimizing memory usage.
- Android Activity Saved State (Utility) provides the base Activity subclass and the relevant hooks to build a composable structure on top.
- Sqlite (Utility) library that contains abstract interfaces along with basic implementations which can be used to build your own libraries that access SQLite.
- Startup (Utility) AndroidX library to implement a straightforward, performant way to initialize components at app startup.
- Swiperefreshlayout (UI Component) implemtation of the swipe-to-refresh UI pattern.
- Tracing (Utility) AndroidX library to write trace events to the system trace buffer.
- Transition (UI Component) animates motion in the UI with starting and ending layouts.
- Vectordrawable (UI Component) AndroidX library to render vector graphics.
- Android Jetpack VersionedParcelable (Utility) Provides a stable but relatively compact binary serialization format that can be passed across processes or persisted safely.
- Viewpager (UI Component) AndroidX library to display Views or Fragments in a swipeable format.
- AndroidX Widget ViewPager2 (UI Component) replaces AndroidX ViewPager, addressing most of its predecessor’s pain-points, including right-to-left layout support, vertical orientation, modifiable Fragment collections, etc.
- Webkit (Utility) a static library to use android.webkit APIs that are not available for older platform versions.
- Jetpack WindowManager Library (Utility) enables application developers to support new device form factors and multi-window environments. The library provides a common API surface for API versions 14 and later. Especially provides additional functionality on foldable devices.
- WorkManager (Utility) an API that makes it easy to schedule deferrable, asynchronous tasks that must be run reliably .
- biweekly (Utility) an iCalendar library written in Java.
- Bugsnag exception reporter for AndroidⓉ (Utility) library that automatically detects crashes in apps, collects diagnostic information and immediately notifies the development team.
- Color Picker (UI Component) color picker with color wheel and lightness bar.
- Google Material Design (Utility) library to help with material design guidelines.
- CSS Parser (Utility) a package of Java classes that inputs Cascading Style Sheets source text and outputs a Document Object Model Level 2 Style tree.
- JavaBeans(TM) Activation Framework (Development Framework) services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and to instantiate the appropriate bean to perform said operation(s).
- Sun Mail (Utility) part of the JavaMail™ API provides classes that model a mail system.
- ez-vcard (Utility) vCard parser library.
- IPAddress (Utility) library for handling IP addresses and subnets, both IPv4 and IPv6.
- Markwon (Utility) Markdown library.
- Android SQLite support library (Utility) an Android specific distribution of the latest versions of SQLite. It contains the latest SQLite version and the Android specific database APIs derived from AOSP.
- requery (Utility) object mapping and SQL generator.
- JavaBeans Activation Framework (JAF) (Utility) a standard extension to the Java platform that lets a developer take advantage of standard services to: determine the type of an arbitrary piece of data; encapsulate access to it; discover the operations available on it; and instantiate the appropriate bean to perform the operation(s).
- JavaMail API (Utility) provides a platform-independent and protocol-independent framework to build mail and messaging applications.
- kotlinx.coroutines (Utility) library support for Kotlin coroutines.
- overscroll-decor (UI Component) iOS-like over-scrolling effect applicable over almost all scrollable Android views.
- ShortcutBadger (UI Component) library supporting badge notification like iOS in Samsung, LG, Sony and HTC launchers.
- JCharset (Utility) implementation of character sets that were missing from the standard Java platform.
- AppAuth for Android (Utility) client SDK for communicating with OAuth 2.0 and OpenID Connect providers.
- Apache Commons (Development Framework) an Apache project focused on all aspects of reusable Java components.
- Apache POI (Utility) Java API for Microsoft Documents
- Bouncy Castle (Utility) a collection of APIs used in cryptography. Also see Wikipedia.
- Webkit Boundary Interfaces (Utility) Chromium WebView helpers
- commonmark-java (Utility) Java implementation of CommonMark, a specification of the Markdown format.
- jsoup (Utility) a Java library for working with real-world HTML. It provides an API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods.
- OpenPGP API library (Utility) an API that provides methods to execute OpenPGP operations, such as sign, encrypt, decrypt, verify, and more without user interaction from background threads.
- Simple API for CSS (Utility) a standard interface for CSS parser and supposed to work with CSS1, CSS2, CSS3 (currently under development) and other CSS derived languages.
- org.w3c.dom (Utility) interfaces for the Document Object Model (DOM) which is a component API of the Java API for XML Processing
- dnsjava (Utility) an implementation of DNS in Java. It supports all defined record types (including the DNSSEC types), and unknown types. It can be used for queries, zone transfers, and dynamic updates.
Payment Modules:
- BillingClientⒹⓃ (Payment) Google Play Billing Library
Ads & Analytics:
- None found Google Play Billing Library
Download (25.4 M)
Version 1.1926 (2022-06-23)
Android Versions:
- Target:
- MinVer: 5.0
Permissions:
- ACCESS_NETWORK_STATE
- FOREGROUND_SERVICE
- GET_ACCOUNTS
- INTERNET
- android.permission.POST_NOTIFICATIONS
- android.permission.READ_APP_BADGE
- READ_CONTACTS
- READ_EXTERNAL_STORAGE
- READ_PROFILE
- RECEIVE_BOOT_COMPLETED
- REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
- SCHEDULE_EXACT_ALARM
- USE_BIOMETRIC
- USE_CREDENTIALS
- USE_FINGERPRINT
- WAKE_LOCK
- launcher.permission.UPDATE_COUNT
- vending.BILLING
- com.htc.launcher.permission.READ_SETTINGS
- com.htc.launcher.permission.UPDATE_SHORTCUT
- com.huawei.android.launcher.permission.CHANGE_BADGE
- com.huawei.android.launcher.permission.READ_SETTINGS
- com.huawei.android.launcher.permission.WRITE_SETTINGS
- com.majeur.launcher.permission.UPDATE_BADGE
- com.oppo.launcher.permission.READ_SETTINGS
- com.oppo.launcher.permission.WRITE_SETTINGS
- badge.permission.READ
- badge.permission.WRITE
- com.sonyericsson.home.permission.BROADCAST_BADGE
- com.sonymobile.home.permission.PROVIDER_INSERT_BADGE
- com.vivo.notification.permission.BADGE_ICON
- eu.faircode.email.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
- me.everything.badger.permission.BADGE_COUNT_READ
- me.everything.badger.permission.BADGE_COUNT_WRITE
Features:
- None
70 Libraries detected:
Libraries:
- Android Support v4 (Development Framework) The Android Support Library is not actually a single library, but rather a collection of libraries that can roughly be divided into two groups: compatibility and component libraries. For details, please see Understanding the Android Support Library.
- AndroidX Activity (Utility) provides the base Activity subclass and the relevant hooks to build a composable structure on top.
- Android Jetpack Annotations (Utility) library that contains the annotations for Android Jetpack.
- Arch (Utility) helper for other arch dependencies, including JUnit test rules that can be used with LiveData.
- AppCompat (Utility) support newer Android features on older Android versions.
- Biometric (Utility) authenticate with biometrics or device credentials, and perform cryptographic operations.
- Browser (Utility) display webpages in the user's default browser.
- Cardview (UI Component) AndroidX library to implement the Material Design card pattern with round corners and drop shadows.
- Android Support Library collections (Utility) standalone efficient collections.
- Constraint Layout Library (Utility) library to reduce the number of nested views needed.
- Coordinatorlayout (UI Component) AndroidX library to position top-level application widgets, such as AppBarLayout and FloatingActionButton.
- Androidx Core (Utility) a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs.
- AndroidX Cursor Adapter (Utility) static library support version of the framework's CursorAdapter.
- Android Support Library Custom View (UI Component) a module to implement custom views. Part of the Android Support Library.
- Documentfile (UI Component) a library to view a file document.
- Drawerlayout (UI Component) AndroidX library to implement a Material Design drawer widget.
- Android Emoji2 Compat (UI Component) core library to enable emoji compatibility in Kitkat and newer devices to avoid the empty emoji characters.
- Exifinterface (Utility) a library to read and write image file EXIF tags.
- AndroidX Fragment (UI Component) AndroidX library to encapsulate part of the user interface or behavior into reusable components.
- Interpolator (UI Component) AndroidX library to use animation interpolators on older platforms.
- Lifecycle (Utility) perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
- Loader (Utility) library to load data for your UI that survives configuration changes.
- AndroidX Local Broadcast Manager (Utility) an application-wide event bus and embraces layer violations in your app: any component may listen events from any other.
- Paging (UI Component) AndroidX library to make it easier to load data gradually and gracefully within an app's RecyclerView.
- Preference (Utility) a library to build interactive settings screens without needing to interact with device storage or manage the UI.
- Room (Utility) a persistence library that provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
- Recyclerview (Utility) display large sets of data in your UI while minimizing memory usage.
- Android Activity Saved State (Utility) provides the base Activity subclass and the relevant hooks to build a composable structure on top.
- Sqlite (Utility) library that contains abstract interfaces along with basic implementations which can be used to build your own libraries that access SQLite.
- Startup (Utility) AndroidX library to implement a straightforward, performant way to initialize components at app startup.
- Swiperefreshlayout (UI Component) implemtation of the swipe-to-refresh UI pattern.
- Tracing (Utility) AndroidX library to write trace events to the system trace buffer.
- Transition (UI Component) animates motion in the UI with starting and ending layouts.
- Vectordrawable (UI Component) AndroidX library to render vector graphics.
- Android Jetpack VersionedParcelable (Utility) Provides a stable but relatively compact binary serialization format that can be passed across processes or persisted safely.
- Viewpager (UI Component) AndroidX library to display Views or Fragments in a swipeable format.
- AndroidX Widget ViewPager2 (UI Component) replaces AndroidX ViewPager, addressing most of its predecessor’s pain-points, including right-to-left layout support, vertical orientation, modifiable Fragment collections, etc.
- Webkit (Utility) a static library to use android.webkit APIs that are not available for older platform versions.
- Jetpack WindowManager Library (Utility) enables application developers to support new device form factors and multi-window environments. The library provides a common API surface for API versions 14 and later. Especially provides additional functionality on foldable devices.
- WorkManager (Utility) an API that makes it easy to schedule deferrable, asynchronous tasks that must be run reliably .
- biweekly (Utility) an iCalendar library written in Java.
- Bugsnag exception reporter for AndroidⓉ (Utility) library that automatically detects crashes in apps, collects diagnostic information and immediately notifies the development team.
- Color Picker (UI Component) color picker with color wheel and lightness bar.
- Google Material Design (Utility) library to help with material design guidelines.
- CSS Parser (Utility) a package of Java classes that inputs Cascading Style Sheets source text and outputs a Document Object Model Level 2 Style tree.
- JavaBeans(TM) Activation Framework (Development Framework) services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and to instantiate the appropriate bean to perform said operation(s).
- Sun Mail (Utility) part of the JavaMail™ API provides classes that model a mail system.
- ez-vcard (Utility) vCard parser library.
- IPAddress (Utility) library for handling IP addresses and subnets, both IPv4 and IPv6.
- Markwon (Utility) Markdown library.
- Android SQLite support library (Utility) an Android specific distribution of the latest versions of SQLite. It contains the latest SQLite version and the Android specific database APIs derived from AOSP.
- requery (Utility) object mapping and SQL generator.
- JavaBeans Activation Framework (JAF) (Utility) a standard extension to the Java platform that lets a developer take advantage of standard services to: determine the type of an arbitrary piece of data; encapsulate access to it; discover the operations available on it; and instantiate the appropriate bean to perform the operation(s).
- JavaMail API (Utility) provides a platform-independent and protocol-independent framework to build mail and messaging applications.
- kotlinx.coroutines (Utility) library support for Kotlin coroutines.
- overscroll-decor (UI Component) iOS-like over-scrolling effect applicable over almost all scrollable Android views.
- ShortcutBadger (UI Component) library supporting badge notification like iOS in Samsung, LG, Sony and HTC launchers.
- JCharset (Utility) implementation of character sets that were missing from the standard Java platform.
- AppAuth for Android (Utility) client SDK for communicating with OAuth 2.0 and OpenID Connect providers.
- Apache Commons (Development Framework) an Apache project focused on all aspects of reusable Java components.
- Apache POI (Utility) Java API for Microsoft Documents
- Bouncy Castle (Utility) a collection of APIs used in cryptography. Also see Wikipedia.
- Webkit Boundary Interfaces (Utility) Chromium WebView helpers
- commonmark-java (Utility) Java implementation of CommonMark, a specification of the Markdown format.
- jsoup (Utility) a Java library for working with real-world HTML. It provides an API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods.
- OpenPGP API library (Utility) an API that provides methods to execute OpenPGP operations, such as sign, encrypt, decrypt, verify, and more without user interaction from background threads.
- Simple API for CSS (Utility) a standard interface for CSS parser and supposed to work with CSS1, CSS2, CSS3 (currently under development) and other CSS derived languages.
- org.w3c.dom (Utility) interfaces for the Document Object Model (DOM) which is a component API of the Java API for XML Processing
- dnsjava (Utility) an implementation of DNS in Java. It supports all defined record types (including the DNSSEC types), and unknown types. It can be used for queries, zone transfers, and dynamic updates.
Payment Modules:
- BillingClientⒹⓃ (Payment) Google Play Billing Library
Ads & Analytics:
- None found Google Play Billing Library
Download (25.4 M)