Giter Site home page Giter Site logo

Comments (10)

qwertfisch avatar qwertfisch commented on May 18, 2024 4

It is still not supported in current version 5.007 (from F-Droid).

This seems like a violation of mail standards, namely RFC 2646 or the newer RFC 3676. The RFC describes the format=flowed feature, which allows sending mails with soft linebreaks (i.e. they are wrapped at display width) and arbitrary length of a line. This is backwards compatible so that clients not supporting it will still display them at least readable.

K-9 receiving and displaying e-mails

K-9 cannot interpret the format=flowed header flag, so those mails are always displayed with fixed linebreaks after <80 characters, no matter of my current display width. That renders wide displays useless as I will not be able reading mails over the full width.

A more severe problem arises when displaying such a mail on a device with a limited display width, e.g. smartphones. Here the text is forced into a mixture of soft (at display border) and hard (after CRLF) line breaks:

This is paragraph text that is meant to be flowed
across several lines. 
However, the sending mailer is converting it to
format=flowed text at a width 
of 79 characters, which causes it to look like
this when shown on a smartphone 
with only 50 character lines.

Sending mails with long lines is intransparent and changes content

Not only does K-9 not support displaying flowed lines, but it is also not capable of creating them.

When setting “text only” as formatting, K-9 will encode them by default as 8bit instead of quoted printable. That allows by standard only for paragraphs of 997 characters length. If you write a longer one, there will be a hard line break. You cannot see this in your compose window. It will just be inserted on sending the mail.

So this is intransparent as K-9 mail changes the content after composing the mail. This could be solved with format=flowed.

from thunderbird-android.

Valodim avatar Valodim commented on May 18, 2024 2

this was done in #1835, just forgot to close this issue :)

from thunderbird-android.

Valodim avatar Valodim commented on May 18, 2024

I think this task is quite important, and it is labeled "help wanted" for good reason. If anyone wants to see this done, I encourage them to contribute it as a pull request, or as an intermediate step outline the implementation in prose here.

from thunderbird-android.

chrisrapson avatar chrisrapson commented on May 18, 2024

Is this really fixed? I'm using version 5.401 and seeing something similar:

I start writing an email on my computer, then switch to K-9 to upload some files from my phone. When I re-open the draft on my computer, there are line-breaks on every line at about 80 characters.

If this is something different, I'm happy to open a new issue.

from thunderbird-android.

qwertfisch avatar qwertfisch commented on May 18, 2024

As far as I can tell, only the display of format=flowed messages should be fixed (and is now finally in the stable version), not the composing. I cannot test it myself because 5.400 is out only since December 27th, but F-Droid did not update its version yet (still 5.208).

For my part I would be happy if all these messages will be displayed properly. Composing is another problem. But I agree that it is unacceptable when K-9 does not respect the format of a previously composed mail. It looks as if format=flowed is removed from the header on saving the draft, so that your mail client on the computer cannot display properly, even if the raw mail content did not change.

Maybe you can check this? Compose a mail on your computer (what client are you using?) and have a look at the headers. Under Content-Type there should be format=flowed. Then open the mail in K-9, resave and then reopen on your computer. Check if the header line still is the same.

from thunderbird-android.

chrisrapson avatar chrisrapson commented on May 18, 2024

Sorry, I think I may have been mistaken. I am using gmail in a browser as my client on my computer, and it seems that that is the source of the linebreaks.

When I looked closer into the headers, there was no format field. Just content="text/html; charset=UTF-8". The headers are unchanged by K-9, the only changes to metadata were nonces.

It turns out that gmail is inserting linebreaks every 60 characters even before I open it in K-9. I never would have expected gmail to be inserting linebreaks, since when I change the width of my compose window in gmail, the lines dynamically adjust. Anyway, it might be something for K-9 to be aware of, but I'd say it's google's problem, not K-9's.

from thunderbird-android.

 avatar commented on May 18, 2024

I just checked in Thunderbird 60.4.0 and my plain text emails are:

Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

The quick brown fox jumps over the lazy dog. All work and no play makes 
Jack a dull boy

In K-9 v5.600 they are:

Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

The quick brown fox jumps over the lazy dog=2E All work and no play makes=
=20
Jack a dull boy

This clearly isn't working correctly as it should. It creates even more problems when you reply to something that was drafted in Thunderbird.

https://fastmail.blog/2016/12/17/format-flowed/
https://joeclark.org/ffaq.html

I'd really like to see this fixed.

from thunderbird-android.

cketti avatar cketti commented on May 18, 2024

@tya99: If you use that text in K-9 Mail and input it without any line breaks it comes out like you'd expect:

Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

The quick brown fox jumps over the lazy dog=2E All work and no play makes J=
ack a dull boy

But if you manually add the line break to the input it will of course also end up in the output.

That being said, replying to a format=flowed message doesn't do the right thing. I created issue #3868 for that.

from thunderbird-android.

MaxGyver83 avatar MaxGyver83 commented on May 18, 2024

Sorry for bringing this up again. If I understand it correctly, displaying received e-mails with format=flowed should already work!?

I have sent an e-mail with the text example from @qwertfisch to myself (using Thunderbird). When I open this e-mail in K-9 Mail, it looks like this:
image
It looks like format=flowed is being ignored. The Content-Type in the header is text/plain; charset=utf-8; format=flowed.

But this is strange: Since I sent this e-mail to myself, this e-mail is also in the Sent folder. And there, it's displayed as expected:
image

Any idea why this e-mail in the inbox isn't displayed with format=flowed?

I'm using K-9 Mail version 5.600.

from thunderbird-android.

cketti avatar cketti commented on May 18, 2024

@MaxGyver83: Please create a new issue and attach the (redacted) source of the message so we can reproduce the observed behavior.

from thunderbird-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.