If you have a question, please check the frequently asked questions below first. At the bottom you can find how to ask other questions, request features and report bugs.
For support on authorizing an account you should consult the documentation of your provider. Searching for IMAP and the name of the provider is mostly sufficient to find the right documentation. To setup an account (to receive email) and an identity (to send email) you need the IMAP and SMTP server addresses and port numbers, whether STARTTLS should be used and your username (mostly, but not always, your email address) and your password. In some cases you'll need to enable external access to your account and/or to use a special (app) password, for instance when two factor authentication is enabled.
- Gmail / G suite: see question 6
- Outlook / Hotmail: see question 14
- Microsoft Exchange: see question 8
- Yahoo!: see question 88
A bug in Android 5.1 and 6 causes apps to sometimes show a wrong time format. Toggling the Android setting Use 24-hour format might temporarily solve the issue. A workaround was added. A bug in Google Drive causes files exported to Google Drive to be empty. Google has fixed this. Encryption with YubiKey results into an infinite loop. FairEmail follows the latest version of the OpenKeychain API, so this is likely being caused by an external bug. This seems not be happening anymore. A bug in AndroidX lets FairEmail occasionally crash on long pressing or swiping. Google has fixed this. A bug in AndroidX ROOM causes sometimes a crash with "... Exception while computing database live data ... Couldn't read row ...". A workaround was added.
- A bug in Android lets FairEmail crash with "... Bad notification posted ..." on some devices once after updating FairEmail and tapping on a notification.
- A bug in Android sometimes causes a crash with "... ActivityRecord not found for ..." after updating FairEmail. Reinstalling (source) might fix the problem.
- A bug in Nova Launcher on Android 5.x lets FairEmail crash with a java.lang.StackOverflowError when Nova Launcher has access to the accessibility service.
- The folder selector sometimes shows no folders for yet unknown reasons.
Synchronize on demand (manual) Semi-automatic encryption Copy message Colored stars Notification settings per folder Select local images for signatures(this will not be added because it requires image file management and because images are not shown by default in most email clients anyway) Show messages matched by a rule ManageSieve(there are no maintained Java libraries with a suitable license and without dependencies and besides that, FairEmail has its own filter rules) Search for messages with/without attachments(this cannot be added because IMAP doesn't support searching for attachments) Search for a folder(filtering a hierarchical folder list is problematic) Search suggestions Autocrypt Setup Message (section 4.4)(IMO it is not a good idea to let an email client handle sensitive encryption keys for an exceptional use case while OpenKeychain can export keys too) Generic unified folders New message notification schedules per account(implemented by added a time condition to rules, so messages can be snoozed in selected periods) Copy accounts and identities Pinch zoom(not reliably possible in a scrolling list; the full message view can be zoomed instead) More compact folder view Compose lists and tables(this requires a rich text editor, see this FAQ)
- Send as attachment
- Search for settings
- Select any day for time conditions
Anything on this list is in random order and might be added in the near future.
Frequently requested features
- Design: the design is based on many discussions and if you like you can discuss about it in this forum too. See below for the design goals.
- ActiveSync: using the Exchange ActiveSync protocol requires a license, so this cannot be added.
The goal of the design is to be minimalistic (no unnecessary menus, buttons, etc) and non distracting (no fancy colors, animations, etc). All displayed things should be useful in one or another way and should be carefully positioned for easy usage. Fonts, sizes, colors, etc should be material design wherever possible.
Since FairEmail is meant to be privacy friendly, the following will not be added:
- Opening links without confirmation
- Showing original messages without confirmation, see also this FAQ
- Direct file/folder access: for security/privacy reasons (other) apps should use the Storage Access Framework, see also this FAQ
Confirmation is just one tap, which is just a small price for better privacy. Note that your contacts could unknowingly send malicious messages if they got infected with malware.
Stripped and reformatted messages are often better readable than original messages because the margins are removed, and font colors and sizes are standardized.
FairEmail does not allow other apps access to your messages and attachments without your approval.
FairEmail follows all the best practices for an email client as decribed in this EFF article.
Frequently Asked Questions
- (1) Which permissions are needed and why?
- (2) Why is there a permanent notification shown?
- (3) What are operations and why are they pending?
- (4) How can I use an invalid security certificate / IMAP STARTTLS / an empty password?
- (5) How can I customize the message view?
- (6) How can I login to Gmail / G suite?
- (7) Why are sent messages not appearing (directly) in the sent folder?
- (8) Can I use a Microsoft Exchange account?
- (9) What are identities / how do I add an alias?
- (11) Why is POP not supported?
(10) What does 'UIDPLUS not supported' mean?
- (12) How does encryption/decryption work?
- (13) How does search on device/server work?
- (14) How can I setup Outlook / Hotmail with 2FA?
- (15) Why does the message text keep loading?
- (16) Why are messages not being synchronized?
(17) Why does manual synchronize not work?
- (18) Why is the message preview not always shown?
- (19) Why are the pro features so expensive?
- (20) Can I get a refund?
- (21) How do I enable the notification light?
- (22) What do 'Couldn't connect to host', 'Connection refused', 'Network unreachable', 'Software caused connection abort', 'Connection closed/reset by peer', 'Read timed out' and 'Broken pipe' mean?
- (23) Why do I get 'Too many simultaneous connections' or 'Maximum number of connections ... exceeded' ?
- (24) What is browse messages on the server?
- (25) Why can't I select/open/save an image, attachment or a file?
- (26) Can I help to translate FairEmail in my own language?
- (27) How can I differentiate external and embedded images?
- (28) How can I manage status bar notifications?
- (29) How can I get new message notifications for other folders?
- (30) How can I use the provided quick settings?
- (31) How can I use the provided shortcuts?
- (32) How can I check if reading email is really safe?
- (33) Why are edited sender addresses not working?
- (34) How are identities matched?
- (35) Why should I be careful with viewing images, attachments and the original message?
- (36) How are settings files encrypted?
- (37) How are passwords stored?
- (38) Can you help me restore my Play store purchase?
- (39) How can I reduce the battery usage of FairEmail?
- (40) How can I reduce the network usage of FairEmail?
- (41) How can I fix the error 'Handshake failed' ?
- (42) Can you add a new provider to the list of providers?
- (43) Can you show the original ... ?
- (44) Can you show contact photos / identicons in the sent folder?
- (45) How can I fix 'This key is not available. To use it, you must import it as one of your own!' ?
- (46) Why does the message list keep refreshing?
- (47) How can I solve 'No primary account or no drafts folder' ?
(48) How can I solve 'No primary account or no archive folder' ?
- (49) How can I fix 'An outdated app sent a file path instead of a file stream' ?
- (50) Can you add an option to synchronize all messages?
- (51) How are folders sorted?
- (52) Why does it take some time to reconnect to an account?
- (53) Can you stick the message action bar to the top/bottom?
(54) How do I use a namespace prefix?
- (55) How can I mark all messages as read / move or delete all messages?
- (56) Can you add support for JMAP?
- (57) Can I use HTML in signatures?
- (58) What does an open/closed email icon mean?
- (59) Can original messages be opened in the browser?
- (60) Did you known ...?
- (61) Why are some messages shown dimmed?
- (62) Which authentication methods are supported?
- (63) How are images resized for displaying on screens?
(64) Can you add custom actions for swipe left/right?
- (65) Why are some attachments shown dimmed?
- (66) Is FairEmail available in the Google Play Family Library?
- (67) How can I snooze conversations?
(68) Why can Adobe Acrobat reader not open PDF attachments / Microsoft apps not open attached documents?
- (69) Can you add auto scroll up on new message?
- (70) When will messages be auto expanded?
- (71) How do I use filter rules?
- (72) What are primary accounts/identities?
- (73) Is moving messages across accounts safe/efficient?
- (74) Why do I see duplicate messages?
- (75) Can you make an iOS, Windows, Linux, etc version?
- (76) What does 'Clear local messages' ?
- (77) Why are messages sometimes shown with a small delay?
- (78) How do I use schedules?
- (79) How do I use synchronize on demand (manual)?
- (80) How can I fix 'Unable to load BODYSTRUCTURE'?
(81) Can you make the background of the original message dark in the dark theme?
- (82) What is a tracking image?
- (83) What does 'User is authenticated but not connected' mean?
- (84) What are local contacts for?
- (85) Why is an identity not available?
(86) What are 'extra privacy features'?
- (87) What does 'invalid credentials' mean?
- (88) How can I use a Yahoo! account?
- (89) How can I send plain text only messages?
- (90) Why are some texts linked while not being a link?
(91) Can you add periodical synchronization to save battery power?
- (92) Can you add spam filtering, verification of the DKIM signature and SPF authorization?
- (93) Can you allow installation on external storage?
- (94) What does the red/orange stripe at the end of the header mean?
- (95) Why are not all apps shown when selecting an attachment or image?
- (96) Where can I find the IMAP and SMTP settings?
- (97) What is 'cleanup' ?
- (98) Why can I still pick contacts after revoking contacts permissions?
- (99) Can you add a rich text or markdown editor?
- (100) How can I synchronize Gmail categories?
- (101) What does the blue/orange dot at the bottom of the conversations mean?
- (102) How can I enable auto rotation of images?
- (103) How can I record audio?
- (104) What do I need to know about error reporting?
- (105) How does the roam-like-at-home option work?
- (106) Which launchers can show the number of new messages?
- (107) How do I used colored stars?
- (108) Can you add permanently delete messages from any folder?
(109) Why is 'select account' available in official versions only?
- (110) Why are (some) messages empty and/or attachments corrupted?
- (111) Can you add OAuth authentication?
- (112) Which email provider do you recommend?
- (113) How does biometric authentication work?
- (114) Can you add an import for the settings of other email apps?
- (115) Can you add email address chips?
- (116) How can I show images in messages from trusted senders by default?
- (117) Can you help me restore my purchase?
- (118) What does 'Remove tracking parameters' exactly?
- (119) Can you add colors to the unified inbox widget?
- (120) Why are new message notifications not removed on opening the app?
- (121) How are messages grouped into a conversation?
(122) Why is the recipient name/email address show with a warning color?
- (123) What does 'force sync'?
The following Android permissions are needed:
- have full network access (INTERNET): to send and receive email
- view network connections (ACCESS_NETWORK_STATE): to monitor internet connectivity changes
- run at startup (RECEIVE_BOOT_COMPLETED): to start monitoring on device start
- foreground service (FOREGROUND_SERVICE): to run a foreground service on Android 9 Pie and later, see also the next question
- prevent device from sleeping (WAKE_LOCK): to keep the device awake while synchronizing messages
- in-app billing (BILLING): to allow in-app purchases
- Optional: read your contacts (READ_CONTACTS): to autocomplete addresses and to show photos
- Optional: read the contents of your SD card (READ_EXTERNAL_STORAGE): to accept files from other, outdated apps, see also this FAQ
- Optional: use fingerprint hardware (USE_FINGERPRINT) and use biometric hardware (USE_BIOMETRIC): to use biometric authentication
The following permissions are needed to show the count of unread messages as a badge (see also this FAQ):
FairEmail will keep a list of addresses you receive messages from and send messages to and will use this list for contact suggestions when no contacts permissions is granted to FairEmail. This means you can use FairEmail without the Android contacts provider (address book). Note that you can still pick contacts without granting contacts permissions to FairEmail, only suggesting contacts won't work without contacts permissions.
A low priority permanent status bar notification with the number of accounts being synchronized and the number of operations pending (see next question) is shown to prevent Android from killing the service that takes care of receiving and sending email.
Android shows icons of high priority status bar notifications first and will hide the icon of FairEmail's notification if there is no space to show icons anymore.
Most, if not all, other email apps don't show a notification with the "side effect" that new messages are often not or late being reported and that messages are not or late being sent.
Background: this is necessary because of the introduction of doze mode in Android 6 Marshmallow.
Some people suggested to use Firebase Cloud Messaging (FCM) instead of an Android service with a status bar notification, but this would require email providers to send FCM messages or a central server where all messages are collected sending FCM messages. The first is not going to happen and the last would have significant privacy implications.
If you came here by clicking on the notification, you should known that the next click will open the unified inbox.
The low priority status bar notification shows the number of pending operations, which can be:
- add: add message to remote folder
- move: move message to another remote folder
- copy: copy message to another remote folder
- delete: delete message from remote folder
- send: send message
- seen: mark message as read/unread in remote folder
- answered: mark message as answered in remote folder
- flag: add/remove star in remote folder
- keyword: add/remove IMAP flag in remote folder
- headers: download message headers
- raw: download raw message
- body: download message text
- attachment: download attachment
- sync: synchronize local and remote messages
- subscribe: subscribe to remote folder
Operations are processed only when there is a connection to the email server or when manually synchronizing. See also this FAQ.
Invalid security certificate (Can't verify identity of server): you should try to fix this by contacting your provider or by getting a valid security certificate because invalid security certificates are insecure and allow man-in-the-middle attacks. If money is an obstacle, you can get free security certificates from Let’s Encrypt.
Note that older Android versions might not recognize newer certification authorities like Let’s Encrypt causing connections to be considered insecure, see also here.
IMAP STARTTLS: the EFF writes: "Additionally, even if you configure STARTTLS perfectly and use a valid certificate, there’s still no guarantee your communication will be encrypted."
Empty password: your username is likely easily guessed, so this is very insecure.
If you still want to use an invalid security certificate, IMAP STARTTLS or an empty password, you'll need to enable insecure connections in the account and/or identity settings.
Connections without encryption (either SSL or STARTTLS) are not supported because this is very insecure.
In the three dot overflow menu you can enable or disable or select:
- text size: for three different font sizes
- compact view: for more condensed message items and a smaller message text font
In the display section of the settings you can enable or disable:
- Unified inbox: to disable the unified inbox and to list the folders selected for the unified inbox instead
- Group by date: show date header above messages with the same date
- Conversation threading: to disable conversation threading and to show individual messages instead
- Show contact photos: to hide contact photos
- Show identicons: to show generated contact avatars
- Show names and email addresses: to show names or to show names and email addresses
- Show subject italic: to show the message subject as normal text
- Show stars: to hide stars (favorites)
- Show message preview: to show two lines of the message text
- Show address details by default: to expand the addresses section by default
- Use monospaced font for message text: to use a fixed width typeface for message texts
- Automatically show original message for known contacts: to automatically show original messages for contacts on your device, please read this FAQ
- Automatically show images for known contacts: to automatically show images for contacts on your device, please read this FAQ
- Conversation action bar: to disable the bottom navigation bar
Note that messages can be previewed only when the message text was downloaded. Larger message texts are not downloaded by default on metered (generally mobile) networks. You can change this in the settings.
If the list of addresses is long, you can collapse the addresses section with the less icon at the top of the addresses section.
Some people ask:
- to show the subject bold, but bold is already being used to highlight unread messages
- to show the address or subject larger/smaller, but this would interfere with the text size option
- to move the star to the left, but it is much easier to operate the star on the right side
Unfortunately, it is impossible to make everybody happy and adding lots of settings would not only be confusing, but also never be sufficient.
To use a Gmail/G suite account, you can either enable access for "less secure apps" and use your account password or enable two factor authentication and use an app specific password.
Note that an app specific password is required when two factor authentication is enabled.
Enable "Less secure apps"
If you use multiple Gmail accounts, make sure you change the "less secure apps" setting of the right account(s).
Be aware that you need to leave the "less secure apps" settings screen by using the back arrow to apply the setting.
If you use this method, you should use a strong password for your Gmail account.
When "less secure apps" is not enabled, you'll get the error Authentication failed - invalid credentials for accounts (IMAP) and Username and Password not accepted for identities (SMTP).
App specific password
See here about how to generate an app specific password.
You might get the alert "Please log in via your web browser". This happens when Google considers the network that connects you to the internet (this could be a VPN) to to be unsafe. This can be prevented by using an app specific password.
See this FAQ about why OAuth is not being used.
Sent messages are normally moved from the outbox to the sent folder as soon as your provider adds sent messages to the sent folder. This requires a sent folder to be selected in the account settings and the sent folder to be set to synchronizing.
Some providers do not keep track of sent messages or the used SMTP server might not be related to the provider. In these cases FairEmail will automatically add sent messages to the sent folder on synchronizing the sent folder, which will happen after a message have been sent. Note that this will result in extra internet traffic.
If this doesn't happen, your provider might not keep track of sent messages or you might be using an SMTP server not related to the provider.
In these cases you can enable the advanced identity setting Store sent messages to let FairEmail add sent messages to the sent folder right after sending a message.
Note that enabling this setting might result in duplicate messages if your provider adds sent messages to the sent folder too.
Also beware that enabling this setting will result in extra data usage, especially when when sending messages with large attachments. If sent messages in the outbox are not found in the sent folder on a full synchronize, they will be moved from the outbox to the sent folder too.
A full synchronize happens when reconnecting to the server or when synchronizing periodically or manually.
You'll likely want to enable the advanced setting Store sent messages instead to move messages to the sent folder sooner.
You can use a Microsoft Exchange account if it is accessible via IMAP. See here for more information.
Please see here about ActiveSync support.
Identities represent email addresses you are sending from.
Some providers allow you to have multiple email aliases. You can configure these by setting the email address field to the alias address and setting the user name field to your main email address.
The error message UIDPLUS not supported means that your email provider does not provide the IMAP UIDPLUS extension.
This IMAP extension is required to implement two way synchronization, which is not an optional feature.
So, unless your provider can enable this extension, you cannot use FairEmail for this provider.
Besides that any decent email provider supports IMAP these days, using POP will result in unnecessary extra battery usage and delayed new message notifications. Moreover, POP is unsuitable for two way synchronization and more often than not people read and write messages on different devices these days.
Basically, POP supports only downloading and deleting messages from the inbox. So, common operations like setting message attributes (read, starred, answered, etc), adding (backing up) and moving messages is not possible.
See also what Google writes about it.
For example Gmail can import messages from another POP account, which can be used as a workaround for when your provider doesn't support IMAP.
tl;dr; consider to switch to IMAP.
First of all you need to install and configure OpenKeychain. To encrypt and send a message just check the menu Encrypt and the message will be encrypted on sending. Similarly, to decrypt a received message, just select the menu Decrypt in the expanded message view.
The first time you send an encrypted message you might be asked for a sign key. FairEmail will automatically store the sign key ID in the selected identity for the next time. If you need to reset the sign key, just save the identity to clear the sign key ID again.
You can enable Encrypt by default in the identity settings, which replaces Send by Encrypt and send.
FairEmail will send the Autocrypt headers for other email clients. Received messages are not decrypted automatically because of security reasons and because often manual interaction is required.
The decrypted message text and decrypted attachments are stored. If you want to undo this, you can use the resync message 'more' menu.
Inline PGP in received messages is supported, but inline PGP in outgoing messages is not supported, see here about why not.
S/MIME is not supported because it is not used much and because key management is complex. There are also security concerns.
Note that signed only or encrypted only messages are not supported, see here about why not:
- OpenPGP Considerations Part I
- OpenPGP Considerations Part II
- OpenPGP Considerations Part III Autocrypt
If you want, you can verify a signature by opening the signature.asc attachment.
Encryption/decryption is a pro feature.
Please see the known problems about YubiKey.
You can start searching for messages on sender, recipient, subject, keyword or message text by using the magnify glass in the action bar of a folder. You can also search from any app by select Search email in the copy/paste popup menu.
Messages will be searched on the device first (all accounts, all folders). There will be an action button with a search again icon at the bottom to search on the server. When the search was started in a specific folder, the same folder will be searched in on the server, else you can select which folder to search in on the server.
The IMAP protocol doesn't support searching in more than one folder at the same time. Searching on the server is an expensive operation, therefore it is not possible to select multiple folders.
Searching local messages is case insensitive and on partial text. The message text of local messages will not be searched if the message text was not downloaded yet. Searching on the server might be case sensitive or case insensitive and might be on partial text or whole words, depending on the provider.
Searching messages on the device is a free feature, searching messages on the server is a pro feature.
To use Outlook or Hotmail with two factor authentication enabled, you need to create an app password. See here for the details.
See here for Microsoft's instructions.
The message header and message body are fetched separately from the server. The message text of larger messages is not being pre-fetched on metered connections and need to be fetched on opening the message. The message text will keep loading if there is no connection to the account, see also the next question.
You can check the account and folder list for the account and folder state (see the legend for the meaning of the icons) and the operation list accessible via the main navigation menu for pending operations (see this FAQ for the meaning of the operations).
In the advanced settings you can set the maximum size for automatically downloading of messages on metered connections.
Mobile connections are almost always metered and some (paid) Wi-Fi hotspots are too.
Possible causes of messages not being synchronized (sent or received) are:
- The account or folder(s) are not set to synchronize
- The number of days to synchronize is set to low
- There is no usable internet connection
- The email server is temporarily not available
- Android stopped the synchronization service
So, check your account and folder settings and check if the accounts/folders are connected (see the legend menu for the meaning of the icons).
On some devices, where there are lots of applications competing for memory, Android may stop the synchronization service as a last resort. Some Android versions, in particular of Huawei (see here for a fix) or Xiaomi (see here for a fix) stop apps and services too aggressively. See also this dedicated website.
If the Synchronize now menu is dimmed, there is no connection to the account. See the previous question for more information.
The preview of the message text cannot be shown if the message body has not been downloaded yet. See also this FAQ.
The right question is "why are there so many taxes and fees?":
- VAT: 25 % (depending on your country)
- Google fee: 30 %
- Income tax: 50 %
- Paypal fee: 5-10 % depending on the country/amount
So, what is left for the developer is just a fraction of what you pay.
Note that only some convenience and advanced features need to be purchased which means that FairEmail is basically free to use.
Also note that most free apps will appear not to be sustainable in the end, whereas FairEmail is properly maintained and supported, and that free apps may have a catch, like sending privacy sensitive information to the internet.
I have been working on FairEmail almost every day for about a year, so I think the price is more than reasonable. For this reason there won't be discounts either.
If a purchased pro feature doesn't work as intended and this isn't caused by a problem in the free features and I cannot fix the problem in a timely manner, you can get a refund. In all other cases there is no refund possible. In no circumstances there is a refund possible for any problem related to the free features, since there wasn't paid anything for them and because they can be evaluated without any limitation. I take my responsibility as seller to deliver what has been promised and I expect that you take responsibility for informing yourself of what you are buying.
Before Android 8 Oreo: there is an advanced option in the setup for this.
Android 8 Oreo and later: see here about how to configure notification channels. You can use the button Manage notifications in the setup to directly go to the Android notification settings. Note that apps cannot change notification settings, including the notification light setting, on Android 8 Oreo and later anymore. Apps designed and targeting older Android versions might still be able to control the contents of notifications, but such apps cannot be updated anymore and recent Android versions will show a warning such apps are outdated.
The messages ... Couldn't connect to host ..., ... Connection refused ... or ... Network unreachable ... mean that FairEmail was not able to connect to the email server.
The message ... Software caused connection abort ... means that the email server or something between FairEmail and the email server actively terminated an existing connection. This can for example happen when connectivity was abruptly lost. A typical example is turning on flight mode.
The message ... Connection reset by peer ... or ... Broken pipe ... means that the email server actively terminated an existing connection.
The message ... Connection closed by peer ... might be caused by a not updated Exchange server, see here for more information.
The message ... Read timed out ... means that the email server is not responding anymore or that the internet connection is bad.
See here for what error codes like EHOSTUNREACH and ETIMEDOUT mean.
Possible causes are:
- A firewall or router is blocking connections to the server
- The host name or port number is invalid
- The are problems with the internet connection
- The email server is refusing to accept connections
- The email server is refusing to accept a message, for example because it is too large or contains unacceptable links
- There are too many connections to the server, see also the next question
If you are using a VPN, the VPN provider might block the connection because it is too aggressively trying to prevent spam.
FairEmail will automatically try to connect again after a delay. This delay will be doubled after each failed attempt to prevent draining the battery and to prevent from being locked out permanently.
The message Too many simultaneous connections is sent by the email server when there are too many folder connections for the same email account at the same time.
Possible causes are:
- There are multiple email clients connected to the same account
- The same email client is connected multiple times to the same account
- The previous connection was terminated abruptly for example by abruptly losing internet connectivity, for example when turning on flight mode
If only FairEmail is connecting to the email server, first try to wait half an hour to see if the problem resolves itself, else enable the folder setting 'Poll instead of synchronize' for some folders. The poll interval can be configured in the account settings.
The maximum number of simultaneous folder connections for Gmail is 15, so you can synchronize at most 15 folders simultaneously on all your devices at the same time. See here for details.
Browse messages on the server will fetch messages from the email server in real time when you reach the end of the list of synchronized messages, even when the folder is set to not synchronize. You can disable this feature in the advanced account settings.
If a menu item to select/open/save a file is disabled (dimmed) or not available, the storage access framework, a standard Android component, is probably not present, for example because your custom ROM does not include it or because it was removed. FairEmail does not request storage permissions, so this framework is required to select files and folders. No app, except maybe file managers, targeting Android 4.4 KitKat or later should ask for storage permissions because it would allow access to all files.
Yes, you can translate the texts of FairEmail in your own language here. Registration is free.
Note that downloading external images from a remote server can be used to record you did see a message, which you likely don't want if the message is spam or malicious.
In the setup you'll find a button Manage notifications to directly navigate to the Android notifications settings for FairEmail.
On Android 8.0 Oreo and later you can manage the properties of the individual notification channels, for example to set a specific notification sound or to show notifications on the lock screen.
FairEmail has the following notification channels:
- Service: used for the notification of the synchronize service, see also this FAQ
- Send: used for the notification of the send service
- Notifications: used for new message notifications
- Warning: used for warning notifications
- Error: used for error notifications
See here for details on notification channels. In short: tap on the notification channel name to access the channel settings.
On Android before Android 8 Oreo you can set the notification sound in the settings.
See this FAQ if your device has a notification light.
Just long press a folder, select Edit properties, and enable either Show in unified inbox or Notify new messages (available on Android 7 Nougat and later only) and tap Save.
There are quick settings (settings tiles) available to:
- globally enable/disable synchronization
- show the number of new messages and marking them as seen (not read)
Quick settings require Android 7.0 Nougat or later. The usage of settings tiles is explained here.
There are shortcuts available to:
- compose a new message to a favorite contact
- setup accounts, identities, etc
Shortcuts require Android 7.1 Nougat or later. The usage of shortcuts is explained here.
You can use the Email Privacy Tester for this.
Most providers accept validated addresses only when sending messages to prevent spam.
For example Google modifies the message headers like this:
From: Somebody <firstname.lastname@example.org> X-Google-Original-From: Somebody <email@example.com>
This means that the edited sender address was automatically replaced by a validated address before sending the message.
Note that this is independent of receiving messages.
Identities are as expected matched by account. For incoming messages the to and cc address will be checked and for outgoing messages the from addresses will be checked. Archived messages will be considered as incoming messages, but additionally the from address will be checked.
The matched address will be shown as via in the addresses section.
Matched identities can be used to color code messages. The identity color takes precedence over the account color. Setting identity colors is a pro feature.
Viewing remotely stored images (see also this FAQ) might not only tell the sender that you have seen the message, but will also leak your IP address.
Opening attachments or viewing an original message might load remote content and execute scripts, that might not only cause privacy sensitive information to leak, but can also be a security risk.
Note that your contacts could unknowingly send malicious messages if they got infected with malware.
FairEmail formats messages again causing messages to look different from the original, but also uncovering phishing links.
The Gmail app shows images by default by downloading the images through a Google proxy server. Since the images are downloaded from the source server in real-time, this is even less secure because Google is involved too without providing much benefit.
Short version: AES 256 bit
- The 256 bit key is generated with PBKDF2WithHmacSHA1 using a 128 bit secure random salt and 65536 iterations
- The cipher is AES/CBC/PKCS5Padding
All supported Android versions encrypt all user data, so all data, including usernames, passwords, messages, etc, is stored encrypted.
Google manages all purchases, so as developer I have no control over purchases. So, the only thing I can do, is give some advice:
- Make sure you have an active, working internet connection
- Make sure the Google Play store / Play services are not blocked in any way, for example by a firewall
- Make sure you are logged in with the right Google account and that there is nothing wrong with your Google account
- Open the Play store application and wait at least a minute to give it time to synchronize with the Google servers
- Open FairEmail to check the purchase again
- Purchases are stored in the Google cloud and cannot get lost
- There is no time limit on purchases, so they cannot expire
- Google does not expose details (name, e-mail, etc) about buyers to developers
- An application like FairEmail cannot select which Google account to use
If you cannot solve the problem with the purchase, you will have to contact Google about it.
Recent Android versions by default report app usage as a percentage in the Android battery settings screen. Confusingly, app usage is not the same as battery usage. The app usage will be very high because FairEmail is using a foreground service which is considered as constant app usage by Android. However, this doesn't mean that FairEmail is constantly using battery power. The real battery usage can be seen by using the three dot overflow menu Show full device usage. As a rule of thumb the battery usage should be below or in any case not be much higher than Mobile network standby. If this isn't the case, please let me know.
It is inevitable that synchronizing messages will use battery power because it requires network access and accessing the messages database.
Reconnecting to an email server will use extra battery power, so an unstable internet connection will result in extra battery usage. In this case you might want to synchronize periodically, for example each hour, instead of continuously. Note that polling frequently (more than every 30-60 minutes) will likely use more battery power than synchronizing always because connection to the server and comparing the local and remotes messages are expensive operations.
Most of the battery usage, not considering viewing messages, is due to synchronization (receiving and sending) of messages. So, to reduce the battery usage, set the number of days to synchronize message for to a lower value, especially if there are a lot of recent messages in a folder. Long press a folder name in the folders list and select Edit properties to access this setting.
If you have at least once a day internet connectivity, it is sufficient to synchronize messages just for one day.
Note that you can set the number of days to keep messages for to a higher number than to synchronize messages for. You could for example initially synchronize messages for a large number of days and after this has been completed reduce the number of days to synchronize messages for, but leave the number of days to keep messages for.
In the receive settings you can enable to always synchronize starred messages, which will allow you to keep older messages around while synchronizing messages for a limited number of days.
Disabling the folder option Automatically download message texts and attachments will result in less network traffic and thus less battery usage. You could disable this option for example for the sent folder and the archive.
Synchronizing messages at night is mostly not useful, so you can save on battery usage by not synchronizing at night. In the settings you can select a schedule for message synchronization (this is a pro feature). See also this FAQ.
FairEmail will by default synchronize the folder list on each connection. Since folders are mostly not created, renamed and deleted very often, you can save some network and battery usage by disabling this in the receive settings.
FairEmail will by default check if old messages were deleted from the server on each connection. If you don't mind that old messages that were delete from the server are still visible in FairEmail, you can save some network and battery usage by disabling this in the receive settings.
Some providers don't follow the IMAP standard and don't keep connections open long enough, forcing FairEmail to reconnect often, causing extra battery usage. You can inspect the Log via the main navigation menu to check if there are frequent reconnects. You can workaround this by lowering the keep-alive interval in the advanced account settings to for example 9 or 15 minutes.
Some providers send every two minutes something like 'Still there' resulting in network traffic and your device to wake up and causing unnecessary extra battery usage. You can inspect the Log via the main navigation menu to check if your provider is doing this. If your provider is using Dovecot as IMAP server, you could ask your provider to change the imap_idle_notify_interval setting to a higher value or better yet, to disable this. If your provider is not able or willing to change/disable this, you should consider to switch to periodically instead of continuous synchronization. You can change this in the receive settings.
If you got the message This provider does not support push messages while configuring an account, consider switching to a modern provider which supports push messages (IMAP IDLE) to reduce battery usage.
If your device has an AMOLED screen, you can save battery usage while viewing messages by switching to the black theme.
Finally, make sure you are using the latest version.
You can reduce the network usage basically in the same way as reducing battery usage, see the previous question for suggestions.
By default FairEmail does not download message texts and attachments larger than 256 KiB when there is a metered (mobile or paid Wi-Fi) internet connection. You can change this in the connection settings.
There are several possible causes, so please read to the end of this answer.
The error 'Handshake failed ... WRONG_VERSION_NUMBER' might mean that you are trying to connect to an IMAP or SMTP server without an encrypted connection, typically using port 143 (IMAP) and port 25 (SMTP).
Most providers provide encrypted connections using different ports, typically port 993 (IMAP) and port 465/587 (SMTP).
If your provider doesn't support encrypted connections, you should ask to make this possible. If this isn't an option, you could enable Allow insecure connections both in the advanced settings AND the account/identity settings.
See also this FAQ.
The error 'Handshake failed ... SSLV3_ALERT_ILLEGAL_PARAMETER' is either caused by a bug in the SSL protocol implementation or by a too short DH key on the email server and can unfortunately not be fixed by FairEmail.
If the provider is used by more than a few people, yes, with pleasure.
The following information is needed:
<provider name="Gmail" link="https://support.google.com/mail/answer/7126229" // setup instructions type="com.google"> // this is not needed <imap host="imap.gmail.com" port="993" starttls="false" /> <smtp host="smtp.gmail.com" port="465" starttls="false" />
The EFF writes: "Additionally, even if you configure STARTTLS perfectly and use a valid certificate, there’s still no guarantee your communication will be encrypted."
So, pure SSL connections are safer than using STARTTLS and therefore preferred.
Please make sure receiving and sending messages works properly before contacting me to add a provider.
See below about how to contact me.
Show original, shows the original message as the sender has sent it, including original fonts, colors, margins, etc. FairEmail does and will not alter this in any way, except for requesting TEXT_AUTOSIZING, which will attempt to make small text more readable.
Contact photos and identicons are always shown for the sender because this is necessary for conversation threads.
Getting contact photos for both the sender and receiver is not really an option because getting contact photo is an expensive operation.
You'll get the message This key is not available. To use it, you must import it as one of your own! when trying to decrypt a message with a public key. To fix this you'll need to import the private key.
If you see a 'spinner' at the top of the message list, the folder is still being synchronized with the remote server. You can see the progress of the synchronization in the folder list. See the legend about what the icons and numbers mean.
The speed of your device and internet connection and the number of days to synchronize messages for determine how long synchronization will take. Note that you shouldn't set the number of days to synchronize messages for to more than one day in most cases, see also this FAQ.
You'll get the error message No primary account or no drafts folder when trying to compose a message while there is no account set to be the primary account or when there is no drafts folder selected for the primary account. This can happen for example when you start FairEmail to compose a message from another app. FairEmail needs to know where to store the draft, so you'll need to select one account to be the primary account and/or you'll need to select a drafts folder for the primary account.
This can also happen when you try to reply to a message or to forward a message from an account with no drafts folder while there is no primary account or when the primary account does not have a drafts folder.
You'll get the error message No primary account or no archive folder when searching for messages from another app.
FairEmail needs to know where to search,
so you'll need to select one account to be the primary account and/or you'll need to select a archive folder for the primary account.
You likely selected or sent an attachment or image with an outdated file manager or an outdated app which assumes all apps still have storage permissions. For security and privacy reasons modern apps like FairEmail have no full access to all files anymore. This can result into the error message An outdated app sent a file path instead of a file stream if a file name instead of a file stream is being shared with FairEmail because FairEmail cannot randomly open files.
You can fix this by switching to an up-to-date file manager or an app designed for recent Android versions. Alternatively, you can grant FairEmail read access to the storage space on your device in the Android app settings. Note that this workaround won't work on Android Q anymore.
A synchronize all (download all) messages will not be added because it can easily result in out of memory errors and the available storage space filling up. It can also easily result in a lot of battery and data usage. Mobile devices are just not very suitable to download and store years of messages. You can better use the search on server function (see question 13), which is faster and more efficient. Note that searching through a lot of messages stored locally would only delay searching and use extra battery power.
Folders are first sorted on account order (by default on account name) and within an account with special, system folders on top, followed by folders set to synchronize. Within each category the folders are sorted on (display) name. You can set the display name by long pressing a folder in the folder list and selecting Edit properties.
The navigation (hamburger) menu item Order folders in the setup can be used to manually order the folders.
There is no reliable way to know if an account connection was terminated gracefully or forcefully. Trying to reconnect to an account while the account connection was terminated forcefully too often can result in problems like too many simultaneous connections or even the account being blocked. To prevent such problems, FairEmail waits 90 seconds until trying to reconnect again.
You can long press Settings in the navigation menu to reconnect immediately.
The message action bar works on a single message and the bottom action bar works on all the messages in the conversation. Since there is often more than one message in a conversation, this is not possible. Moreover, there are quite some message specific actions, like forwarding.
Moving the message action bar to the bottom of the message is visually not appealing because there is already a conversation action bar at the bottom of the screen.
Note that there are not many, if any, email apps that display a conversation as a list of expandable messages. This has a lot of advantages, but the also causes the need for message specific actions.
A namespace prefix is used to automatically remove the prefix providers sometimes add to folder names. For example the Gmail spam folder is called:
By setting the namespace prefix to [Gmail] FairEmail will automatically remove [Gmail]/ from all folder names.
You can use multiple select for this. Long press the first message, don't lift your finger and slide down to the last message. Then use the three dot action button to execute the desired action.
There are almost no providers offering the JMAP protocol, so it is not worth a lot of effort to add support for this to FairEmail.
Yes, you can use HTML in signatures if you paste HTML formatted text into the signature field or use the Edit as HTML button.
See here for which HTML tags are supported.
You can for example paste this into the signature field:
This is italic, this is bold and this is a link.
Alternatively, you can use the button Edit as HTML.
The email icon in the folder list can be open (outlined) or closed (solid):
Message bodies and attachments are not downloaded by default.
Message bodies and attachments are downloaded by default.
For security reasons the files with the original message texts are not accessible to other apps, so this is not possible. In theory the Storage Access Framework could be used to share these files, but even Google's Chrome cannot handle this.
- Did you know that starred messages are by default synchronized/kept? (this can be changed in the receive settings)
- Did you know that you can long press the 'write message' icon to go to the drafts folder?
- Did you know that you can long press the account name in the navigation menu to go to the inbox of that account?
- Did you know there is an advanced option to mark messages read when they are moved? (archiving and trashing is also moving)
- Did you know that you can select text (or an email address) in any app on recent Android versions and let FairEmail search for it?
- Did you know that FairEmail has a tablet mode? Rotate your device in landscape mode and conversation threads will be opened in a second column if there is enough screen space.
- Did you know that you can long press a reply template to create a draft message from the template?
- Did you know that you can long press, hold and swipe to select a range of messages?
- Did you know that you can retry sending messages by using pull-down-to-refresh in the outbox?
- Did you know that you can swipe a conversation left or right to go to the next or previous conversation?
- Did you know that you can tap on an image to see where it will be downloaded from?
- Did you know that you can long press the folder icon in the action bar to select an account?
- Did you know that you can long press the star icon in a conversation thread to set a colored star?
- Did you know that you can open the navigation drawer by swiping from the left, even when viewing a conversation?
- Did you know that you can long press the floating reply button to reply to all?
Messages shown dimmed are locally moved messages for which the move is not confirmed by the server yet. This can happen when the folder is set to not synchronize, when there is no connection to the server or when the messages are too old to be synchronized. Eventually, these messages will be synchronized when the connection to the server is restored or will be deleted if they are too old to be synchronized.
You can view these messages, but you cannot move these messages again until the previous move has been confirmed by the server.
Some providers don't keep track of sent messages or you might be using an SMTP server not related to the provider. This will result in messages in the sent folder never to be synchronized. See this FAQ for more information on this.
The following authentication methods are supported and used in this order:
- NTLM (untested)
SASL authentication methods, like CRAM-MD5, are not supported because JavaMail for Android does not support SASL authentication. If using secure connections, a must today, there is little value in using CRAM-MD5 anyway.
If your provider requires an unsupported authentication method, you'll likely get the error message authentication failed.
Large inline or attached PNG and JPEG images will automatically be resized for displaying on screens. This is because email messages are limited in size, depending on the provider mostly between 10 and 50 MB. Images will by default be resized to a maximum width and height of about 1440 pixels and saved with a compression ratio of 90 %. Images are scaled down using whole number factors to reduce memory usage and to retain image quality. There is an advanced option to disable automatically resizing and to set the target image size.
The most natural thing to do when swiping a list entry left or right is to remove the entry from the list.
The most natural action in the context of an email app is moving the message out of the folder to another folder.
You can select the folder to move to in the account settings. Other actions, like marking messages read and snoozing messages are available via multiple selection.
You can long press a message to start multiple selection. See also this question. Swiping left or right to mark a message read or unread is unnatural because the message first goes away and later comes back in a different shape.
Note that there is an advanced option to mark messages automatically read on moving,
which is in most cases a perfect replacement for the sequence mark read and move to some folder.
You can also mark messages read from new message notifications. If you want to read a message later, you can hide it until a specific time by using the snooze menu.
Inline (image) attachments are shown dimmed. Inline attachments are supposed to be downloaded and shown automatically, but since FairEmail doesn't always download attachments automatically, see also this FAQ, FairEmail shows all attachment types. To distinguish inline and regular attachments, inline attachments are shown dimmed.
Multiple select one of more conversations (long press to start multiple selecting), tap the three dot button and select Snooze .... Alternatively, use the Snooze ... 'more' menu in the expanded message view. Select the time the conversation(s) should snooze and confirm by tapping OK. The conversations will be hidden for the selected time and shown again afterwards. You will receive a new message notification as reminder.
It is also possible to snooze messages with a rule.
You can show snoozed messages by using the Snoozed item in the three dot overflow menu.
You can tap on the small snooze icon to see until when a conversation is snoozed.
By selecting a zero snooze duration you can cancel snoozing.
Adobe Acrobat reader and Microsoft apps still expects full access to all stored files,
while apps should use the Storage Access Framework since Android KitKat (2013)
to have access to actively shared files only. This is for privacy and security reasons. You can workaround this by saving the attachment and opening it from the Adobe Acrobat reader / Microsoft app,
but you are advised to install an up-to-date and preferably open source PDF reader / document viewer,
for example one listed here.
The message list is automatically scrolled up when navigating from a new message notification or after a manual refresh. Always automatically scrolling up on arrival of new messages would interfere with your own scrolling, but if you like you can enable this in the settings.
When navigation to a conversation one message will be expanded if:
- There is just one message in the conversation
- There is exactly one unread message in the conversation
There is one exception: the message was not downloaded yet and the message is too large to download automatically on a metered (mobile) connection. You can set or disable the maximum message size on the 'connection' settings tab.
Duplicate (archived) messages, trashed messages and draft messages are not counted.
Messages will automatically be marked read on expanding.
You can edit filter rules by long pressing a folder in the folder list. The rules will be applied to new messages received in the folder, not to existing messages.
You'll need to give a rule a name and you'll need to define the order in which a rule should be executed relative to other rules.
You can disable a rule and you can stop processing other rules after a rule has been executed.
All the conditions of a rule need to be true for a filter rule to be executed. Conditions are optional, but there needs to be at least one condition. You can use multiple rules, possibly with a stop processing, for an or condition.
Matching is not case sensitive, unless you use regular expressions.
In the more message menu there is an item to create a rule for a received message with the most common conditions filled in.
You can select one of these actions to apply to matching messages:
- Mark as read
- Mark as unread
- Add star
- Reply template
Filter rules are applied direct after the message header has been fetched, before the message text has been downloaded, so it is not possible to apply filter conditions and actions to the message text. Note that large message texts are downloaded on demand on a metered connection to save data.
To debug rules you can long press Operations to see logging about the evaluation of rule conditions. Since message headers are not downloaded and stored by default to save on battery and data usage and to save storage space it is not possible to preview which messages would match the rule conditions.
Using filter rules is a pro feature.
The primary account is used when the account is ambiguous, for example when starting a new draft from the unified inbox.
Similarly, the primary identity of an account is used when the identity is ambiguous.
There can be just one primary account and there can be just one primary identity per account.
Moving messages across accounts is safe because the raw, original messages will be downloaded and moved and because the source messages will be deleted only after the target messages have been added
Batch moving messages across accounts is efficient if both the source folder and target folder are set to synchronize, else FairEmail needs to connect to the folder(s) for each message.
Some providers, notably Gmail, list all messages in all folders, except trashed messages, in the archive (all messages) folder too. FairEmail shows all these messages, except for one, dimmed, to indicate that these messages are in fact the same message.
Gmail allows one message to have multiple labels, which are presented to FairEmail as folders. This means that messages with multiple labels will be shown multiple times as well.
You can hide duplicate messages by disabling Show duplicates in the three dots overflow menu.
A lot of knowledge and experience is required to successfully develop an app for a specific platform, which is why I develop apps for Android only.
The folder menu Clear local messages removes messages from the device which are present on the server too. It does not delete messages from the server. This can be useful after changing the folder settings to not download the message content (text and attachments), for example to save space.
Depending on the speed of your device (processor speed and maybe even more memory speed) messages might be displayed with a small delay. FairEmail is designed to dynamically handle a large number of messages without running out of memory. This means that messages needs to be read from a database and that this database needs to be watched for changes, both of which might cause small delays.
Some convenience features, like grouping messages to display conversation threads and determining the previous/next message, take a little extra time. Note that there is no the next message because in the meantime a new message might have been arrived.
When comparing the speed of FairEmail with similar apps this should be part of the comparison. It is easy to write a similar, faster app which just displays a lineair list of messages while possible using too much memory, but it is not so easy to properly manage resource usage and to offer more advanced features like conversation threading.
FairEmail is based on the state-of-the-art Android architecture components, so there is little room for performance improvements.
In the settingss you can enable scheduling and set the time to turn synchronizing automatically on and off.
An end time equal to or earlier than the start time is considered to be 24 hours later.
Turning FairEmail on or off, for example by using a quick settings tile, will not turn scheduling off. This means that the next schedule event will still turn FairEmail on or off.
You can also automate turning synchronization on and off by sending these commands to FairEmail:
(adb shell) am startservice -a eu.faircode.email.ENABLE (adb shell) am startservice -a eu.faircode.email.DISABLE
Sending these commands will automatically turn scheduling off.
It is also possible to just enable/disable one account, for example the account with the name Gmail:
(adb shell) am startservice -a eu.faircode.email.ENABLE --es account Gmail (adb shell) am startservice -a eu.faircode.email.DISABLE --es account Gmail
You can automatically send commands with for example Tasker:
New task: Something recognizable Action Category: Misc/Send Intent Action: eu.faircode.email.ENABLE Target: Service
To enable/disable an account with the name Gmail:
Account names are case sensitive.
Automation can be used for more advanced schedules, like for example multiple synchronization periods per day or different synchronization periods for different days.
It is possible to install FairEmail in multiple user profiles, for example a personal and a work profile, and to configure FairEmail differently in each profile, which is another possibility to have different synchronization schedules and to synchronize a different set of accounts.
It is also possible to create rules with a time condition and to snooze messages until the end time of the time condition. This way it is possible to snooze business related messages until the start of the business hours.
Scheduling is a pro feature.
Normally, FairEmail maintains a connection to the configured email servers whenever possible to receive messages in real-time. If you don't want this, for example to not be disturbed or to save on battery usage, just disable synchronization in the advanced option (accessible via the button at the bottom of the setup screen). This will stop the background service which takes care of automatic synchronization and will remove the associated status bar notification. You can use pull-down-to-refresh in a folder or use the folder menu Synchronize now to manually synchronize messages. This will start the synchronization service for 60 seconds for all configured accounts.
The synchronization process will also be started to execute operations, for example to mark a message read, move a message or store a draft. This is to keep the local and remote message store synchronized.
If you want to synchronize some or all folders of an account manually, just disable synchronization for the folders (but not of the account).
You'll likely want to disabled browse on server too.
The error message Unable to load BODYSTRUCTURE is caused by bugs in the email server, see here for more details.
FairEmail already tries to workaround these bugs, but if this fail you'll need to ask for support from your provider.
The original message is shown as the sender has sent it, including all colors.
Changing the background color would not only make the original view not original anymore, it can also result in unreadable messages.
Please see here about what a tracking image exactly is. In short tracking images keep track if you opened a message.
FairEmail automatically recognizes images with a surface of less than or equal to 25 pixels as tracking images. FairEmail automatically removes the link of such images, which makes such images appear as broken, and adds a remark about this below the image.
This is likely a confusing Microsoft Exchange (Office365) message telling that the password is invalid.
Less likely is that you are synchronizing too many folders. This can also happen due to abruptly losing connectivity resulting in not properly closing connections.
So, double check the password or reduce the number of folders to synchronize.
The main use of the local contacts storage is to offer auto completion when no contacts permission has been granted to FairEmail.
Another use is to generate shortcuts on recent Android versions to quickly send a message to frequently contacted people. This is also why the number of times contacted and the last time contacted is being recorded and why you can make a contact a favorite or exclude it from favorites by long pressing it.
The list of contacts is sorted on number of times contacted and the last time contacted.
Local contacts will be used for auto completion only when no contacts permission has been granted to FairEmail. You can revoke contacts permission in the Android app settings.
An identity is available for sending a new message or replying or forwarding an existing message only if:
- the identity is set to synchronize (send messages)
- the associated account is set to synchronize (receive messages)
- the associated account has a drafts folder
FairEmail will try to select the best identity based on the to address of the message replied to / being forwarded.
The advanced option extra privacy features enables: Looking up the owner of the IP address of a link Detection and removal of tracking images
The error message invalid credentials means either that the user name and/or password is incorrect, for example because the password was changed or expired, or that the account authorization has expired.
If the password is incorrect/expired, you will have to update the password in the account and/or identity settings.
If the account authorization has expired, you will have to select the account again. You will likely need to save the associated identity again as well.
For the correct settings, see here.
Note that FairEmail is using the standard IMAP protocol, which is really not outdated.
By default FairEmail sends each message both as plain text and as HTML formatted text because almost every receiver expects formatted messages these days. If you want/need to send plain text messages only, you can enable this in the advanced identity options. You might want to create a new identity for this if you want/need to select sending plain text messages on a case-by-case basis.
FairEmail will automatically link not linked web IRIs for your convenience. However, texts and links are not easily distinguished, especially not with lots of top level domains being words. This is why texts with dots are sometimes incorrectly recognized as links, which is better than not recognizing some links.
Synchronizing messages is an expensive proces because the local and remote messages need to be compared,
so periodically synchronizing messages will not result in saving battery power, more likely the contrary. See this FAQ about optimizing battery usage.
Of course you can report messages as spam with FairEmail, which will move the reported messages to the spam folder and train the spam filter of the provider, which is how it is supposed to work.
FairEmail can show a warning flag too when the domain name of the (reply) email address of the sender does not define an MX record pointing to an email server. This can be enabled in the receive settings. Be aware that this will slow down synchronization of messages significantly.
If legitimate messages are failing authentication, you should notify the sender because this will result in a high risk of messages ending up in the spam folder. Moreover, without proper authentication there is a risk the sender will be impersonated. The sender might use this tool to check authentication and other things.
FairEmail uses services and alarms, provides widgets and listens for the boot completed event to be started on device start, so this is not possible. See also here.
The red/orange stripe at the left side of the header means that the DKIM, SPF or DMARC authentication failed. See also this FAQ.
For privacy and security reasons FairEmail does not have permissions to directly access files, instead the Storage Access Framework, available and recommended since Android 4.4 KitKat (released in 2013), is used to select files. If an app is listed depends on if the app implements a document provider.
The IMAP settings are part of the (custom) account settings and the SMTP settings are part of the identity settings.
About each four hours FairEmail runs a cleanup job that:
- Removes old message texts
- Removes old attachment files
- Removes old image files
- Removes old local contacts
- Removes old log entries
Note that the cleanup job will only run when the synchronize service is active.
After revoking contacts permissions Android does not allow FairEmail access to your contacts anymore. However, picking contacts is delegated to and done by Android and not by FairEmail, so this will still be possible without contacts permissions.
FairEmail provides common text formatting (bold, italic, underline, text size and color) via the Android text selection menu.
A Rich text or Markdown editor would not be used by many people on a small mobile device and, more important, Android doesn't support a rich text editor and most rich text editor open source projects are abandoned. See here for some more details about this.
You can synchronize Gmail categories by creating filters to label categorized messages:
- Create a new filter via Gmail > Settings (wheel) > Filters and Blocked Addresses > Create a new filter
- Enter a category search (see below) in the Has the words field and click Create filter
- Check Apply the label and select a label and click Create filter
category:social category:updates category:forums category:promotions
Pull down the folders list in FairEmail to refresh the folder list and long press the category folders to enable synchronization.
The dot shows the relative position of the conversation in the message list. The dot will be show orange when the conversation is the first or last in the message list, else it will be blue. The dot is meant as an aid when swiping left/right to go to the previous/next conversation.
Images will automatically be rotated when automatic resizing of images is enabled in the settings (enabled by default). However, automatic rotating depends on the Exif information to be present and to be correct, which is not always the case. Particularly not when taking a photo with a camara app from FairEmail.
You can record audio if you have a recording app installed which supports the RECORD_SOUND_ACTION intent. If no supported app is installed, FairEmail will not show a record audio action/icon.
Unfortunately and surprisingly, most recording apps do not seem to support this intent (they should).
- Error reports will help improve FairEmail
- Error reporting is optional and opt-in
- Error reporting can be enabled/disabled in the settings, section miscellaneous
- Error reports will automatically be sent anonymously to Bugsnag
- Bugsnag for Android is open source
- See here about what data will be sent in case of errors
- Error reports will be sent to sessions.bugsnag.com:443 and notify.bugsnag.com:443
FairEmail will check if the country code of the SIM card and the country code of the network are in the EU roam-like-at-home countries and assumes no roaming if the country codes are equal and the advanced roam-like-at-home option is enabled.
So, you don't have to disable this option if you don't have an EU SIM or are not connected to an EU network.
Please see here for a list of launchers which can show the number of new messages.
Note that this needs to be enabled in the advance options (default enabled).
You can set a colored star via the more message menu, via multiple selection (started by long pressing a message), by long pressing a star in a conversation or automatically by using rules.
You need to know that colored stars are not supported by the IMAP protocol and can therefore not be synchronized to an email server. This means that colored stars will not be visible in other email clients and will be lost on downloading messages again. However, the stars (without color) will be synchronized and will be visible in other email clients, when supported.
Some email clients use IMAP keywords for colors. However, not all servers support IMAP keywords and besides that there are no standard keywords for colors.
When you delete messages from a folder the messages will be moved to the trash folder, so you have a chance to restore the messages. You can permanently delete messages from the trash folder. Permanently delete messages from other folders would defeat the purpose of the trash folder, so this will not be added.
Using select account to select and authorize Google accounts require special permission from Google for security and privacy reasons.
This special permission can only be acquired for apps a developer manages and is responsible for.
Third party builds, like the F-Droid builds, are managed by third parties and are the responsibility of these third parties.
So, only these third parties can acquire the required permission from Google.
Since these third parties do not actually support FairEmail, they are most likely not going to request the required permission. You can solve this in two ways: Switch to the official version of FairEmail, see here for the options Use app specific passwords, see this FAQ Using select account in third party builds is not possible in recent versions anymore.
In older versions this was possible, but it will now result in the error UNREGISTERED_ON_API_CONSOLE.
Empty messages and/or corrupt attachments are probably being caused by a bug in the server software. Older Microsoft Exchange software is known to cause this problem. Mostly you can workaround this by disabling Partial fetch in the advanced account settings.
After disabling this setting, you can use the message 'more' (three dots) menu to 'resync' empty messages. Alternatively, you can Delete local messages by long pressing the folder(s) in the folder list and synchronize all messages again.
Disabling Partial fetch will result in more memory usage.
(X)OAuth authentication, formerly available as Select account for Google accounts, requires creating an online (Google, Microsoft, etc) app, which would make authentication for many people dependent on one (developer) account, which is a bad idea.
See also this related article.
Outlook and Hotmail do not properly support OAuth for IMAP/SMTP connections. MSAL is supported for business accounts only and requires embedding a client secret in the app, which is not a good idea for an open source app.
See also this FAQ.
Which email provider is best for you depends on your wishes/requirements. Please see the websites of Restore privacy or Privacy Tools for a list of privacy friendly email providers with advantages and disadvantages.
If your device has a biometric sensor, for example a fingerprint sensor, you can enable/disable biometric authentication in the navigation (hamburger) menu of the setup screen. When enabled FairEmail will require biometric authentication after a period of inactivity or after the screen has been turned off while FairEmail was running. Activity is navigation within FairEmail, for example opening a conversation thread. The inactivity period duration can be configured in the miscellaneous settings. When biometric authentication is enabled new message notifications will not show any content and FairEmail won't be visible on the Android recents screen.
Biometric authentication is meant to prevent others from seeing your messages only. FairEmail relies on device encryption for data encryption, see also this FAQ.
Biometric authentication is a pro feature.
The format of the settings files of most other email apps is not documented, so this is difficult. Sometimes it is possible to reverse engineer the format, but as soon as the settings format changes things will break. Also, settings are often incompatible. For example, FairEmail has unlike most other email apps settings for the number of days to synchronize messages for and for the number of days to keep messages for, mainly to save on battery usage. Moreover, setting up an account/identity with the quick setup is simple, so it is not really worth the effort.
Email address chips look nice, but cannot be edited, which is quite inconvenient when you made a typo in an email address.
Chips are not suitable for showing in a list and since the message header in a list should look similar to the message header of the message view it is not an option to use chips for viewing messages.
You can show images in messages from trusted senders by default by enabled the display setting Automatically show images for known contacts.
Contacts in the Android contacts list are considered to be known and trusted, unless the contact is in the group / has the label 'Untrusted' (case insensitive).
Google manages all purchases, so as developer I have little control over purchases. So, the only thing I can do, is give some advice:
- Make sure you have an active internet connection
- Make sure you are logged in with the right Google account and that there is nothing wrong with your Google account
- Open the Play store application and wait at least a minute to give it time to synchronize with the Google servers
- Open FairEmail and navigate to the pro features screen to let FairEmail check the purchases
You can also try to clear the cache of the Play store app via the Android apps settings.
- Purchases are stored in the Google cloud and cannot get lost
- There is no time limit on purchases, so they cannot expire
- Google does not expose details (name, e-mail, etc) about buyers to developers
- An application like FairEmail cannot select which Google account to use
Checking Remove tracking parameters will remove all UTM parameters from a link.
The widget is designed to look good on most home/launcher screens by making it monochrome and by using a half transparent background. This way the widget will nicely blend in, while still being properly readable.
Adding (account) colors will cause problems with some backgrounds and will cause readability problems, which is why this won't be added.
New message notifications will be removed on swiping notifications away or on marking the associated messages read. Opening the app will not remove new message notifications. This gives you a choice to leave new message notifications as a reminder that there are still unread messages.
On Android 7 Nougat and later new message notifications will be grouped. Tapping on the summary notification will open the unified inbox. The summary notification can be expanded to view individual new message notifications. Tapping on an individual new message notification will open the conversation the message it is part of. See this FAQ about when messages in a conversation will be auto expanded and marked read.
By default FairEmail groups messages in conversations. This can be turned of in the display settings.
FairEmail groups messages based on the standard Message-ID, In-Reply-To and References headers. FairEmail does not group on other criteria, like the subject, because this could result in grouping unrelated messages and would be at the expense of increased battery usage.
The recipient name and/or email address in the addresses section will be shown in a warning color
when the sender domain name and the domain name of the to address do not match.
Mostly this indicates that the message was received via an account with another email address.
FairEmail will wait a fixed time after connectivity changes and will use a logarithmic back-off time after failing to connect to an account to prevent from being locked out. Force sync will reset all timers and restart the synchronization service. This should not normally be used.
If you have another question, want to request a feature or report a bug, you can use this forum. Registration is free.
If you are a supporter of the project, you can get limited personal support by using this form.