yashsingh1/xdaforums huggingface dataset:
[Android Apps and Games] gc01:
The email domain is by definition already know to any recipient and is part of 'server data space'. The leakage is not FE vs other client - its what that means to bad agents.

The specific client being used DOES leak privacy info. 1) User is using a phone and 2) i the phone running OS is android. That's great data to have as part of data bad guys want.

the fairemail-id is to work around broken clients - understand. So if threading doesn't work after turning off the header you only need to have a FAQ like you do for many other things.

FAQ says turning this on will cause conversation breakage if replies are done from broken clients (like outlook). Nothing to support. ORdinary users will leave the default on and have the header.

To be 100% clear - removing the header will NOT break FairEMail - it turns off a workaround for badly behaving clients.
[Android Apps and Games] M66B:
I will see if I can make the message ID more random, but X-FairEmail-ID can only be change from name.
[Android Apps and Games] M66B:
The header is a workaround for servers rewriting the message ID, which is unfortunately not uncommon. In fact the value is the same as the message ID. Omitting this header will result in breaking conversations and will result in duplicate sent messages. This will result in many support questions and is therefore not an option. Note that I am already spending at least an hour each day supporting FairEmail. An app without decent support is nothing IMHO.

So, we can talk about the format of the message ID and the name of the X-header, but both headers need and will stay and there will be no option to omit these headers. This is just a consequence of how IMAP and email servers work. IMHO the privacy impact is minimal, especially because other elements of the message say a lot more about you.

Note the making the X-header name configurable would result in less privacy because it will be more unique.
[Android Apps and Games] M66B:
Try changing the identity setting to send a host name instead of an IP address or the other way around. This mostly solves this problem.
[Android Apps and Games] ths180:
Hello,

since two versions my sending of mails is very slow.

Nothing changed.

On all accounts, different servers.

And this blocks for example archiving or moving and then everything stocks.

I install all versions and I am now on 1.680.

What could it be?

Thank you very much!
[Android Apps and Games] frits889:
removed

---------- Post added at 09:35 PM ---------- Previous post was at 09:32 PM ----------

This seems to work, two emails arrived as expected, thank you! Will the Outbox be flushed one day?
[Android Apps and Games] gc01:
For amusement, this is an reasonable read.[1]. Its's more about security than privacy, but covers some salient points - even if its 4 years old now.

They conclude "For example, in only 28% of emails could we explicitly (via information in tags) identify the email client used, ... . They include things such as X-Mailer (basically same core info as currently in X-FairEmail header.

While I agree that the threat level is not high, it is definitely worsened by exposing the email app name and mobile OS. FE is not alone in leaking data, and for sure other clients may be leaking far more and far worse.

However, the standard rules are certainly to leak nothing about client side for maximum privacy security.

Am very sympathetic to your support concerns for sure.

In conclusion I respectfully recommend in order of (my) preference:

(1) allow it to be turned off but with a stern warning: perhaps:

Unsupported - Turn off Special Header - can break some conversations. You own breakage!

(2) Replace the header with X-Mailer-1 : <same as message-id:>

with data being exactly the same as contained in Message-ID and it now in the standard <UUID@sender.domain> format as I mentioned previously

Thank you for listening :)

[1] https://www.cs.ox.ac.uk/files/7181/jisis2015_nurse_et_al.pdf

---------- Post added at 04:15 PM ---------- Previous post was at 04:14 PM ----------

I had a problem once too - wished there was a direct way to delete things stuck in the outbox - there may be, but I didn't find it.
[Android Apps and Games] M66B:
What is exactly slow? Sending does not block other things.
[Android Apps and Games] M66B:
Messages in the outbox will go to the sent folder on synchronizing the sent folder. Either done by the email server or by FairEmail.
[Android Apps and Games] gc01:
In my case there was some problem with the email and all I wanted to do was delete it while dealing with the problem - unfortunately I don't recall how it got sorted out.

So, it might be useful to be able to delete things which are stuck in outbox for some reason - not when things are working correctly, but when they're not.
[Android Apps and Games] maybeme2:
I noticed the same thing on my phone too. In my case, it is the display of the content of a message after opening it that is perceptively slower. But also the sending of emails.

Could it be connected with the 'too complex to display' problem that appeared about the same time? I sent you a raw message.
[Android Apps and Games] M66B:
Storing the messages elsewhere is not possible, see for more information the FAQ.

Battery optimizations and push messages are not directly related. Disabling battery optimizations is needed to prevent Android from stopping FairEmail.

Notifications can be swiped away and will be removed automatically upon reading messages. I have no plans to add an option to automatically remove notifications.

I cannot really help you with the stopped syncing problem without knowing more details.

Yahoo! doesn't support push messages and is know to terminate the connection too often. FairEmail will automatically reconnect.

Fast scroll is enabled on all message lists.

There is a normal three line and a compact two line view and three font sizes, so there are in total 6 layouts. In addition there are a number of options to modify the look and contents of the message header, including showing a preview of the message text.

The cancel buttons are in most cases omitted because most people using Android are used to using the 'back' button.

There is a display option to always show images from known senders (=contacts).

Long press a folder in the folder list and there will be an option to show the folder in the navigation menu.

You can select the system folders in the account settings.
[Android Apps and Games] ths180:
I answer to an email, send it and tap on Archiv.

I see the symbol for sending in notification bar on top.

Tapping on archiv and I see the circle until message is send.

So it blocks for me...
[Android Apps and Games] M66B:
Messages in the outbox that are not sent yet can be moved to the drafts folder by using the corresponding icon in the grey action bar. Sent messages will eventually go to the sent folder.
[Android Apps and Games] M66B:
The message too large/complex notice is not related.

Too large: over 100 KB

Too complex: over 500 links
[Android Apps and Games] M66B:
The problem is that external storage is not always available, which it needs to be to receive and send messages in the background.

A stopped app cannot do anything anymore, also not listing to push messages anymore.

You can send the debug info by long pressing 'Support' in the main navigation menu. Log files do not cover more than 1-2 minutes, so this needs to be done within about a minute after the problem, else the logging is gone.

I indeed think Yahoo! is causing the disconnects. Yahoo! does not support push messages and is therefore not designed to keep a connection alive.

I will look into the fast scroll later this weekend, but I am afraid that I cannot do more than enabling it.

You can include or exclude any folder to/from the unified inbox. Just long press the folder in the folder list for the corresponding check box.

Error messages are set to be copied and pasted and can therefore not react to a tap.
[Android Apps and Games] beeshyams:
Thanks. Curious. Why isn't it always available?
[Android Apps and Games] heinhuiz:
Because you can remove it? :laugh:
[Android Apps and Games] beeshyams:
No. I meant outside of removing or device not having external memory. I suspect it is something related to Android implementation
[Android Apps and Games] heinhuiz:
No, I think it's just that. When you'd remove the external memory, the app does not know where to fetch and store messages anymore. You can't even use internal storage temporary when the external is removed, because you'll end up with an internal database filled with duplicates and broken links. It would require a lot of coding to let the app handle that.

Best practice is IMHO to store a minimum of messages locally, only from the timeframe you need for your daily business, and depend on the IMAP server for long term storage.

As a side note, use of external memory is being phased out anyway, with newest models offering huge amounts of memory and no SD slots anymore.
[Android Apps and Games] M66B:
Please see the link in this FAQ for all the details:

https://github.com/M66B/FairEmail/blob/master/FAQ.md#user-content-faq93

FairEmail uses services, alarms, widgets and listens for the boot completed event.
[Android Apps and Games] beeshyams:
When will I remember to check FAQ before asking? :confused: Hats off to your patience
[Android Apps and Games] M66B:
[MENTION=4221563]vertigo_2_20[/MENTION] recent Android versions and especially Android 10 severally limit where apps can store data. In short this means that Android is not really supporting external storage anymore.
[Android Apps and Games] andy356:
I think Google is adopting this approach with the understanding that most phones have a respectable amount of internal storage now. SD cards and app data offloading were essential when phones came with 8 GB storage.
[Android Apps and Games] M66B:
I have just released

beta

version 1.681

Changelog/download:

https://github.com/M66B/FairEmail/releases
[Android Apps and Games] ths180:
For me pinch to zoom for text works strange.

If I go on screen with my two fingers it springs to big size. If I go on screen with two fingers it should not change until I pinch...

Thank you
[Android Apps and Games] gc01:
1) pinch zoom

Thank you Marcel!!

I want to point out that your implementation re-flows the text which means you don't need to 'move the area' - this is way better than the gmail app approach which zooms without re-flowing the text. First time I tried it, it 'appeared' to stutter - but its not - its keeping the text visible on screen ... nicely done!!

One thing I noticed FYI:

For a small message it looks like the text sits inside a 'card' ... if 2 fingers both touch inside the card zoom works first time.

If one finger inside and one outside the 'card' 2 attempts to zoom were necessary.

If both fingers outside the card (can happen for short messages like alerts) - then zooming does not initiate.

2) Message-ID: Thanks for updating this too!!

I notice you've switched the UUID part so it now uses Message-ID: <UUID@localhost>

I still recommend the more standard ID of the form <UUID@sender.FQDN> - but it's fine as is too.

3) X-Correlation-ID

Thanks for renaming ... and keeping content same as Message-ID.

I poked around some mail headers from emails in my inbox, and I noticed both google and yahoo include a References: header. It seems to have a list of Message-ID's rather than a single one - which is a bit different than X-correlation-ID, but I suspect for similar purpose. Since it's a list of IDs I'm guessing the protocol for this is to ensure that both ends get to keep an ID for their conversation purposes - but I'm not sure. Are you familiar with this header? I note there is no X- in front of it, which suggests it may be standard-ish.

Is References: header a new standard? If so, is it usable by FE?

Thank you ... you're pretty amazingly responsive and you get things done quickly ... it's truly impressive. Again, thank you.

Found it - the References: header field is in fact standard (see section 3.9 in RFC-5322 [1]) - so probably makes sense to use that in place of X-correlation-ID as its standard and designed for exactly for the same purpose.

[1] https://tools.ietf.org/html/rfc5322
[Android Apps and Games] M66B:
Zooming will only work when you put two fingers in the message text field. Note that swipe gestures are used for scrolling too.

Since you can change identities while composing a message this is not possible. Moreover, privacy wise the current solution is better as well.

The references header is a standard header to relate messages of different senders to each other. The correlation ID cannot go into to references header because a referenced message ID from another sender and correlation ID from FairEmail will be indistinguishable.
[Android Apps and Games] gc01:
I'm (obviously) lacking experience in conversation threading, thank you for your patience.

My understanding is that References is only used when replying (referring) to another a different message. So a new message has no References header because it is not referencing any other message. However, the Message-ID is saved in the Sent folder, and a reply to that new mail will have the References: now containing the original Message-ID, thus allowing the connection of the conversation.

However, this will be true ONLY if the other client actually appends to the header. So, by adding the X-correlation-id header you now can still thread the conversation, even for clients which do NOT append to the References; header. Assuming at least one client (outlook maybe?) does NOT fill the References: header then indeed having the extra X-Correlation header helps work around that. Is that the reason to keep X-correlation header ? Or am I still missing something.

Am I getting a better understanding of how this works now?

I also note that FE is already appending to the References field and perhaps using it as part of the conversation threading?

Anyway, thanks again
[Android Apps and Games] M66B:
What you are missing is that FairEmail needs to find back a reply message too. In other words: the problem is the same for any sent message. Since there references headers will be sent by other clients too, it is not possible to differentiate between own and not own message IDs.

Edit: additionally, it is not possible to rely on the order of the IDs in the references headers. Email servers and other email clients are know to not follow the rules about this.
[Android Apps and Games] M66B:
I have just released

beta

version 1.682

Changelog/download:

https://github.com/M66B/FairEmail/releases
[Android Apps and Games] maybeme2:
Google has always been against allowing sd use. None of the Nexus phones had external sd slots. Whatever memory you wanted had to be purchased with the phone. So I'm not surprised they are limiting other sd uses in phones that have sd slots.
[Android Apps and Games] gc01:
Apple as well - in part at least to ensure phones are not as susceptible to water damage - kinda makes sense really.
[Android Apps and Games] DragonMaus:
I sent an email earlier today (using version 1.681 beta) that contained text and some attached images, but the message in my "Sent" folder only contains the text "javax.mail.internet.MimeMultipart@864f38e". I did not notice until after I had updated to version 1.682 beta, but I was able to confirm that the same thing happens whenever I send an email with image attachments using the app, and that it does not happen using my mail provider's browser client.

The messages that are recieved contain the text and the attached images, as expected; only the "Sent" messages have their contents overwritten by the Java object ID.
[Android Apps and Games] M66B:
Thanks, I will look into it.
[Android Apps and Games] fraschi51:
I think it's great that 'pinch zoom' is now possible in the message text. However, at the moment this has the disadvantage that FE breaks on some mails at any point at the end of the line, even in the middle of the words, so that the whole text is more difficult to read (e.g. on the XDA-info-mails). It would be desirable, if the new line break in every scale is only broken at the allowed places, e.g. at the space between two words, like aquamail does, where every new line starts with a COMPLETE word, not with a word fragment.
[Android Apps and Games] M66B:
This is caused by another change, which I will either undo or modify.
[Android Apps and Games] wirdSchoon:
Zooming text is very well done!

.... but I find the readability of text with words in fragments very difficult and hope you change that again.
[Android Apps and Games] M66B:
What is exactly wrong with the readability?
[Android Apps and Games] M66B:
I have just released

beta

version 1.683

Changelog/download:

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

This version will ask to show images per sender address and fixes all reported bugs.
[Android Apps and Games] maybeme2:
FairEmail just gets better and better!

Thank you Marcel.
[Android Apps and Games] DragonMaus:
Confirmed fixed. Thanks!
[Android Apps and Games] gc01:
I note that (1.682) that 'pull down' while viewing mail index does a refresh.

In conversation list view, pull down does nothing. I wonder if it should also do same 'refresh'.
[Android Apps and Games] M66B:
Only folders can be synchronized, not messages/conversations.

Also, conversations can contain messages of different folders.
[Android Apps and Games] gc01:
Yep, I understand that - that's why i said 'same refresh' - i.e. refresh the folder(s) in which the conversation resides. Perhaps that is too complicated come to think of it.

thank ya
[Android Apps and Games] M66B:
Conversations are not directly related to a folder.
[Android Apps and Games] gc01:
Right - they are related to one or more folders (thanks for pointing that out) - they could all be refreshed - but I suppose that's adding unnecessary complexity.

However, if one is in main message list of Inbox where there is a list of conversations and does a refresh - do you also refresh 'Sent' ? Or every folder which is referenced in every conversation? I suppose you have to, otherwise conversations wont be properly refreshed right?

If you do refresh the list of folders, then the same could hold in a single conversation - refresh all the folders in the conversation?
[Android Apps and Games] M66B:
Refreshing the unified inbox will refresh all folders the unified inbox is composed of (generally all inboxes, but you can add any folder, including the sent folder, to the unified inbox). Refreshing a single folder will only refresh that single folder.

Besides that adding refreshing of (the folders of) a conversation would add complexity, a new message could be arrived in a folder not yet part of the conversation.

Also, when using always sync, which is advised to minimize battery usage, refreshing will do nothing except giving a nice feeling everything is up-to-date.
[Android Apps and Games] gc01:
lol nice ... and yes it would add complexity for sure.
[Android Apps and Games] MaxRabbit:
I have not been able to use FairEmail for about 2 days since I did a "pull to refresh" on a gigantic folder. I cannot open any other folder and the Operations only has an entry for "sync" on that giant folder. How can I cancel the sync and recover functionality? And why is it syncing the entire folder from the pull to refresh when the synchronize messages setting for that folder is set to 7 days?
[Android Apps and Games] M66B:
Is the sync operation being executed or pending?

Is there an account connection?

Are there any error messages shown in the operation screen?

Why can't you open other folders? What happens?

Pull to refresh will synchronize for the number of days set.

Did you maybe use 'sync all' from the folder long press menu?

Maybe it is an idea to post a screenshot of the operations screen.
[Android Apps and Games] maybeme2:
I like that. A "nice feeling". :good:
[Android Apps and Games] wirdSchoon:
Hi, Marcel,

you have already fixed the problem with the current update, but for the sake of completeness here is an example.

Thanks for your support!
[Android Apps and Games] M66B:
I have just released

beta

version 1.684

Changelog/download:

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

This version will reformat messages with less new lines in some cases.

Please report any issue you discover.
[Android Apps and Games] MaxRabbit:
I've attached screenshots of the Log, Operations, and what happens if I try to go simply to the inbox. I just get the Activity Indicator indefinitely. The Log is blank.

It's actually totally possible I hit Sync All.
[Android Apps and Games] M66B:
You can delete the sync operation by long pressing on it, but I am not sure why things seem to be hanging.
[Android Apps and Games] M66B:
I have just released

stable

version 1.685 "Nomingia"

Changelog/download:

https://github.com/M66B/FairEmail/releases
[Android Apps and Games] M66B:
I have just released

beta

version 1.686 1.687

Changelog/download:

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

This version allows you to sort messages in reverse order.
[Android Apps and Games] MoonSire:
I am using FairEmail with Gmail and I am experiencing the duplicate email issue in the unified inbox and I found the solution in #74 in the FAQ. The problem is that I can't find that option in the app. Is that implemented in a later version of the app that is not available on the Play Store?

Version of FairEmail is 1.678 on Android 9. (app is using the Swedish translation)
[Android Apps and Games] M66B:
Open the conversation, in the action bar it is the first icon, before the text size icon.
[Android Apps and Games] MoonSire:
Oh! Thank you :D

And thank you for creating the app!
[Android Apps and Games] M66B:
I am planning to make snoozing a little easier by adding two buttons to the snooze dialog for set times. I am thinking about 1 hour and 1 day. Would that be useful?
[Android Apps and Games] beeshyams:
Wondering why there, since it is the the only option. Why not in settings with a small explanation regarding it's applicable to Gmail...

You must be having good reason for the way it is, but tossing a suggestion
[Android Apps and Games] M66B:
As it is now you can toggle it easily on and off without going into the settings.
[Android Apps and Games] gc01:
1) Behavior with conversation with many messages. I have a conversation with many messages - spans a couple of days and too many to fit on one screen. In this case 5 from today and 9 from yesterday.

I scroll up and down and see each of the messages listed which is fine. However If it's scrolled so that the 5 from today are listed with oldest at bottom and newest at top. Now if i tap the oldest message to view it - which works fine - after I press 'back' button (android one at bottom) - then the conversation view has changed so that the message i just viewed is at top of screen, followed by yesterday and its messages.

Can you make it so that 'back' returns so same conversation list as before reading a message (in my case it listed all of today's messages not just the oldest one. This happens whether any messages are 'read' or 'unread'.

2) I got an email notification from github - if I click on the link in the email and choose 'browse' - firefox comes up as a black page. if i click 'yes' then it is displayed but not in firefox.

doing same on desktop, firefox comes up fine.

Seems to be something about the github link which does have url?(bunch more stuff).

I sent myself an email with a simple link which works fine.

Version 1.684
[Android Apps and Games] M66B:
The back behavior in the conversation depends on the settings. The default is to collapse multiple expanded messages or to close the conversation. There is an option to collapse single messages too. Collapsing might cause a scroll depending on the position and size of the items. This cannot be changed.

Opening links is not directly done by FairEmail.