[APP][5.0+] FairEmail - Fully featured, open source, privacy oriented email app

Search This thread

M66B

Recognized Developer
Aug 1, 2010
26,029
56,099
ic_launcher.png

FairEmail
Open source, privacy friendly email app for Android

banner7_long.png


See here for a description:
https://github.com/M66B/open-source-email/

See here for screenshots:
https://email.faircode.eu/#screenshots

Downloads:
https://github.com/M66B/open-source-email#user-content-downloads

Frequently asked questions:
https://github.com/M66B/open-source-email/blob/master/FAQ.md

Please read this before requesting a new feature:
https://github.com/M66B/FairEmail/blob/master/FAQ.md#user-content-get-support

This XDA thread is about using the latest version of FairEmail.

For support on authorizing an account you should consult the documentation of your provider, see also here.

Off topic comments are allowed as long they are related to FairEmail and are in the general interest of the followers of this thread.

Discussion of purchases is not allowed here, please contact me via here instead.
 
Last edited:

M66B

Recognized Developer
Aug 1, 2010
26,029
56,099
  • Undo trash/archive?
  • Swipe left/right for previous/next message?
  • View headers
  • Show what to do with a link, with the option to edit/sanitize (pro feature?)
  • Sort on date, recipient/sender, subject, size (pro feature?)
  • https://github.com/commonsguy/cwac-saferoom ?

See also here:
https://github.com/M66B/open-source-email/issues

I will keep this list up to date.

Suggested names:
https://docs.google.com/document/d/1Pjj12FMeveDvtAgEFhOizdrj-EfJH6VmbXAxzXw-W5Q/edit

Thanks @Primokorn for making this list of names!
 
Last edited:

M66B

Recognized Developer
Aug 1, 2010
26,029
56,099
It is time for a new, modern, open source, privacy friendly email client for Android.

I have just released a first alpha version for feedback on the design and features.

Not for production use yet!

Most of the stuff basically works, but be prepared for crashes and error notifications.


Safe email is a working name, but it is for several reasons not a convenient name, so suggestions for a name are welcome.
 
Last edited:

Primokorn

Senior Member
Nov 17, 2012
11,471
7,718
As I always say with your new projects: "Downloading..." Feedbacks will come later.
I finally left K9 mail after using it for several years.

Thanks again for your work for the Android community!
 
  • Like
Reactions: roclahy and ROO3VER

M66B

Recognized Developer
Aug 1, 2010
26,029
56,099
I have just released alpha version 0.2

Alpha versions are not for production use!

Changelog/download:
https://github.com/M66B/open-source-email/releases

In case of error notifications you can now send me a logcat via the navigation drawer menu, but please check this XDA thread first to prevent me from looking into the same problem over and over again.

Feedback about the design, structure, navigation, features, etc is very welcome.
 

beeshyams

Senior Member
Dec 29, 2014
1,647
585
Bangalore
I have just released alpha version 0.2

Alpha versions are not for production use!

Changelog/download:
https://github.com/M66B/open-source-email/releases

In case of error notifications you can now send me a logcat via the navigation drawer menu, but please check this XDA thread first to prevent me from looking into the same problem over and over again.

Feedback about the design, structure, navigation, features, etc is very welcome.

Looks neat and hoping to make it my regular mail soon :)

Mailed you error log

Mail shield, secumail,... Will add possible names
 
Last edited:

M66B

Recognized Developer
Aug 1, 2010
26,029
56,099
If you were wondering why you occasionally need to refresh messages in most other email apps, including the Gmail app, to get new email: these apps don't start a foreground service like this app does. This means that especially recent Android versions will kill the background service(s) of these app after some time, which will results in not only missing emails, but also in polling/synchronizing again, which is a waste of battery power and of internet bandwidth.

The foreground service of this app will synchronize messages in real time with the disadvantage of showing a low priority status bar notification, although the notification is a reassuring sign that things still work and it even shows some useful information, like the number of operations pending (mark as read, messages to send, etc).
 

xXxGeek

Senior Member
Dec 3, 2012
90
91
Beer Capital
If you were wondering why you occasionally need to refresh messages in most other email apps, including the Gmail app, to get new email: these apps don't start a foreground service like this app does. This means that especially recent Android versions will kill the background service(s) of these app after some time, which will results in not only missing emails, but also in polling/synchronizing again, which is a waste of battery power and of internet bandwidth.

The foreground service of this app will synchronize messages in real time with the disadvantage of showing a low priority status bar notification, although the notification is a reassuring sign that things still work and it even shows some useful information, like the number of operations pending (mark as read, messages to send, etc).

Just set up several accounts and tested, synchronized messages are extremely fast. looking forward to further development. Thanks!
 
  • Like
Reactions: roclahy

geronimoge

Senior Member
Aug 4, 2016
516
128
If you use a well known email provider with this app and the provider is not listed in the account/identity screen, please provide the details of the provider (name, IMAP/SMTP host name/port number/STARTTLS) here.

The details of the current providers are here:

https://github.com/M66B/open-source-email/blob/master/app/src/main/res/xml/providers.xml

I don't know if it's a well known email provider but including mailbox.org would be great:

<provider name="mailbox.org">
<imap
host="imap.mailbox.org"
port="993" />
<smtp
host="smtp.mailbox.org"
port="465"
starttls="false" />

I'm really looking forward to test your app!
 

M66B

Recognized Developer
Aug 1, 2010
26,029
56,099
I don't know if it's a well known email provider but including mailbox.org would be great:

<provider name="mailbox.org">
<imap
host="imap.mailbox.org"
port="993" />
<smtp
host="smtp.mailbox.org"
port="465"
starttls="false" />

I'm really looking forward to test your app!
Did you test if this provider works with the app?
 
  • Like
Reactions: mailm

dorqus

Senior Member
Sep 2, 2010
1,077
274
NY
Been using K9 for years, haven't found anything else I've liked to replace it. Looking forward to this -I'm a big fan of your work!

For yahoo.com:
imap.mail.yahoo.com:993,SSL/TLS true

smtp.mail.yahoo.com:587, STARTTLS True

When I try and configure yahoo with imap.mail.yahoo.com, port 993, it says "IDLE Not Supported" when I click on the OK button.
I am able to configure the SMTP server however with no issues using port 587
 
Last edited:

Top Liked Posts

  • 2
    The challenge is to put this in CSS because modifying a message is not an option because there will be many edge cases because CSS/HTML is pretty complex. The reformatted messages view as it is now was months of work and it is still not perfect and will never be because that would mean developing a browser.

    At this moment I will keep everything as simple as possible having heard today that the average life expectancy of my mother is one month. Intensive chemo therapies might help (30% chance) and radio therapy is being investigated out of normal treatment strategies. I am feel pretty down right now.
    Of course, you should be with your mother. Me suggesting something doesn't mean I expect you to commit something the next hour. Your own life has a higher priority than your projects, and it's completely fine if you do not push any commits for the next month.

    But generally speaking, you do not need to implement the logic part through CSS. The conditions when to place the "fake dark" can be set via Java first, thus only inserting "fake Dark CSS" if the conditions are met.

    Of course, that comes with complexity as well as increasing the possibility of bugs. It also won't be 100 % correct. It is a "feasible estimate", or an heuristic approach if one wants to call it that way.

    That also means that there are valid reasons to not implement it at all. Especially taking in consideration the amount of time you have to put into implementing a near-complete "fake dark" which won't be used anymore if Google updates their Androidx library to include the original method back again (hopefully).

    In corporate language, we'd call it "it's not feasible to invest more time and resources in this, so it won't be implemented". Which is fine. As a "product owner", that's up to your judgement :)

    P.S.: I hope the chemo helps. With a family friend of mine, it helped her and she has gotten rid of cancer. So, it's not always as "useless" as the probability rate suggests. Stay strong!
    1
    The challenge is to put this in CSS because modifying a message is not an option because there will be many edge cases because CSS/HTML is pretty complex. The reformatted messages view as it is now was months of work and it is still not perfect and will never be because that would mean developing a browser.

    At this moment I will keep everything as simple as possible having heard today that the average life expectancy of my mother is one month. Intensive chemo therapies might help (30% chance) and radio therapy is being investigated out of normal treatment strategies. I am feel pretty down right now.
    Strength and prayers. We will all also pray. Best wishes
    1
    Of course, you should be with your mother. Me suggesting something doesn't mean I expect you to commit something the next hour. Your own life has a higher priority than your projects, and it's completely fine if you do not push any commits for the next month.

    But generally speaking, you do not need to implement the logic part through CSS. The conditions when to place the "fake dark" can be set via Java first, thus only inserting "fake Dark CSS" if the conditions are met.

    Of course, that comes with complexity as well as increasing the possibility of bugs. It also won't be 100 % correct. It is a "feasible estimate", or an heuristic approach if one wants to call it that way.

    That also means that there are valid reasons to not implement it at all. Especially taking in consideration the amount of time you have to put into implementing a near-complete "fake dark" which won't be used anymore if Google updates their Androidx library to include the original method back again (hopefully).

    In corporate language, we'd call it "it's not feasible to invest more time and resources in this, so it won't be implemented". Which is fine. As a "product owner", that's up to your judgement :)

    P.S.: I hope the chemo helps. With a family friend of mine, it helped her and she has gotten rid of cancer. So, it's not always as "useless" as the probability rate suggests. Stay strong!
    We still have some hope. The possibility of radio therapy was a positive surprise.

    I would like to implement a "fake dark" for Android before version 10, but I am afraid it will be hit and miss. Setting conditions in Java means parsing and evaluating both CCS and HTML, in other words this will be rather complex (like a browser).
    1
    We still have some hope. The possibility of radio therapy was a positive surprise.

    I would like to implement a "fake dark" for Android before version 10, but I am afraid it will be hit and miss. Setting conditions in Java means parsing and evaluating both CCS and HTML, in other words this will be rather complex (like a browser).
    True that. If the sender applied the background on the body Tag only, it'd be somewhat manageable to check the HTML and CSS for the background's value, but it's also quite possible that the sender used various div or span levels, and the background styling within the div or span or within the CSS for the div or span. Looking into the various levels of div and span to determine whether it virtually covers most parts of the message will be very complex.

    But without doing that, it'd be a solution that somewhat works sometimes, but won't work properly many other times. Or you'd have to parse the HTML and CSS similarly to how a browser does, as you rightly describe.

    You coded a great mobile alternative to Thunderbird, but no need to compete with Mozilla on the browser front as well, right? 😉

    Jokes aside, browsers indeed are highly complex pieces of software. Perhaps you could add an FAQ pointing to this XDA thread showing why the dark mode doesn't work in the original message view for Android 9 and lower as well as why you cannot just implement an own alternative to it. That would at least answer:
    • Why doesn't it work? (Google removed the required method from the Androidx libraries, so the dark mode is only available within the libraries available since Android 10 now)
    • Why can't you re-implement it? (You'd have to virtually parse the entire HTML & CSS for this to work properly. That's rather complex, similar to a browser. So, it's just not feasible to implement it)
    • Will Google re-introduce the removed method? (You have asked Google about it and hope they will, but it's not likely to happen if the removal was intentional)
    Maybe even just un-crossing FAQ #81 and writing it there? 🤔

    P.S: I can also add it into the FAQ and send a pull request, if you can't do it in the next few days.
  • 23
    Version 1.1923 1.1924 is available on GitHub now and in the Play store test program after Google's approval.

    Changelog/download:
    https://github.com/M66B/FairEmail/releases

    The option to suppress notifications while on a call (recently added) has been replaced by delaying notifications until after having ended the call instead. This way there isn't a risk that important new messages will be missed or seen too late. This option is available on Android 12 and later only because earlier Android versions do not have the requires APIs.
    20
    Quite some people asked my opinion about Thunderbird / K9 mail joining.

    I wish them good luck because we need privacy friendly apps. The author of K9 mail seems a nice guy to me, and even contributed a few lines of code and some constructive feedback to FairEmail. I hope he'll find a nice place in the Mozilla organization.

    That said, the concept of FairEmail is somewhat different than of Thunderbird / K9 mail. One of the things I read about is deep integration between the Thunderbird desktop / mobile app. The concept of FairEmail is to be standalone and not to depend on any service. Maybe in some way the apps are competitors, depending on the way you look at them, but in the end the goal is similar, offering a decent and privacy friendly app, at least I hope that this keeps being the goal of Mozilla. Of course a lot more can be said, but the apps just have a different character, which you might or might not like.
    19
    Version 1.1907 is available on GitHub now and in the Play store test program after Google's approval.

    Changelog/download:
    https://github.com/M66B/FairEmail/releases
    18
    Version 1.1925 is available on GitHub now and in the Play store at some time in the future, hopefully.

    Changelog/download:
    https://github.com/M66B/FairEmail/releases

    This version was released to fix a crash. You are advised to update soon.
    18
    Version 1.1914 1.1915 is available on GitHub now.

    Changelog/download:
    https://github.com/M66B/FairEmail/releases

    All changes required or desired for Android 13 have been done now.
    Now that this has been done and given my personal situation, there will be bug fix releases only for now.
  • 237
    ic_launcher.png

    FairEmail
    Open source, privacy friendly email app for Android

    banner7_long.png


    See here for a description:
    https://github.com/M66B/open-source-email/

    See here for screenshots:
    https://email.faircode.eu/#screenshots

    Downloads:
    https://github.com/M66B/open-source-email#user-content-downloads

    Frequently asked questions:
    https://github.com/M66B/open-source-email/blob/master/FAQ.md

    Please read this before requesting a new feature:
    https://github.com/M66B/FairEmail/blob/master/FAQ.md#user-content-get-support

    This XDA thread is about using the latest version of FairEmail.

    For support on authorizing an account you should consult the documentation of your provider, see also here.

    Off topic comments are allowed as long they are related to FairEmail and are in the general interest of the followers of this thread.

    Discussion of purchases is not allowed here, please contact me via here instead.
    68
    How was the call with Google today, Marcel?

    Google was pretty friendly and cooperative and told me the favicons are indeed the problem, and it can/should be fixed by updating in the privacy policy to "disclose how your app accesses, collects, uses, and shares user data":

    Privacy Policy​

    All apps must post a privacy policy in both the designated field in Play Console and within the app itself. The privacy policy must, together with any in-app disclosures, comprehensively disclose how your app accesses, collects, uses, and shares user data, not limited by the data disclosed in the Data Safety section. This must include:
    • developer information and a privacy point of contact or a mechanism to submit inquiries
    • disclosing the types of personal and sensitive user data your app accesses, collects, uses, and shares; and any parties with which any personal or sensitive user data is shared
    • secure data handling procedures for personal and sensitive user data
    • the developer’s data retention and deletion policy
    • clear labeling as a privacy policy (e.g., listed as “privacy policy” in title)
    The entity (e.g., developer, company) named in the app’s Google Play listing must appear in the privacy policy or the app must be named in the privacy policy. Apps that do not access any personal and sensitive user data must still submit a privacy policy.

    Please make sure your privacy policy is available on an active URL (no PDFs) and is non-editable.

    So, I have updated the privacy policy and added this new table:

    https://github.com/M66B/FairEmail/blob/master/PRIVACY.md#summary-of-shared-data

    I am not sure if it covers everything, so feedback is more than welcome. @mkasimd maybe you can take a look?

    Note that I have also enabled BIMI, Gravatars, Libravatars and favicons for the Play store version again.

    The short term goal is to release a Play store test version (and associated GitHub version) and to get the update approved. I will think about the next steps after this has been accomplished. Given the huge number of supportive messages I received (much appreciated!) the project will be continued in some form in any case.
    49
    Version 1.1900 is available on GitHub now and in the Play store test program after Google's approval (which is the main goal of this release).

    Changelog/download:
    https://github.com/M66B/FairEmail/releases

    My girlfriend is slowly recovering too :)
    46
    It is time for a new, modern, open source, privacy friendly email client for Android.

    I have just released a first alpha version for feedback on the design and features.

    Not for production use yet!

    Most of the stuff basically works, but be prepared for crashes and error notifications.


    Safe email is a working name, but it is for several reasons not a convenient name, so suggestions for a name are welcome.
    37
    I have just released alpha version 0.15

    Changelog/download:
    https://github.com/M66B/open-source-email/releases

    With a bit of luck the next version can be a beta version.

    I am putting a lot of effort into this project, so thanks are appreciated.