GNOME Bugzilla – Bug 686363
Do not canon "From " in the composer-generated mails
Last modified: 2015-09-17 05:40:11 UTC
This is split out from bug #686258 which was wrongly and blindly closed and then again as duplicate of bug #529215. Under (2) it also contained the following issue: When Evolution _creates_ a mail (in the sense of when a new one is generated,.. not when some existing is imported or so)... it will replacing lines matching ^From (.*)$ with =46rom \1 There is no strict violation of standards here, but this encoding has also no good reason. The idea probably behind, namely working around the "From_" line quotation issue in mbox (which Evolution itself fails utterly, see bug #686258) is no business of the sending MUA, but of the receiving mailserver who has to decide who he stores mail and if mbox is used, which subformat of mbox he uses to avoid the From_ line issue. Solution: Simply don't quote it as this.
I reconsidered this so please let me clear things up: 1) AFAIU: The whole idea between the current quoting of "^From (.*)$" to "=46rom \1" is in order to work around incorrect quoting of From_ lines should the composed mail ever be used in a mbox place, where this doesn't work. Cause with the quoted printable quoting... you'll never have to quote it. 2) What I said above, that this should not be necessary, cause it's the duty of the other MUAs/mail-servers to take care of clean quoting, is in principle still true (i.e. in an ideal world). So from that point of view I'd have said: No reason to quote things, which do not have to be quoted. 3) On the other hand, as Evolution itself proves (bug #686258), real world looks different and MUAs or small tools that process mail ... may easily ignore From_ line quoting and/or the different subformats of mbox... and thereby seriously and irrecoverably corrupt mail. So from that point of view, what you do (the quoting as =46 ...) is a good idea. BUT... even if one says the later point of view takes precedence, you still do it incomplete: Because as far as I could see, you only quote lines matching: "^From (.*)$" You do NOT quote lines matching "^>>*From (.*)$" (i.e. From_ lines with one or more leading ">"). So eventually, you do not fully "protect" buggy clients/tools from From_ line corruption, namely _always when it encounters From_ lines with starting ">". Eventually I guess there are two solutions: a) Don't do this kind (=46rom) of quoting at all, and blame the clients/tools when they corrupt mail. or b) Also quote the first ">" of lines matching "^>>*From (.*)$" i.e. "^>(>*)From (.*)$" should be replaced by: "=3E\1From \2" HTH, Chris.
Thanks for a bug report. You are right the quoting is done mainly for the mbox format. It is not needed these days, when evolution uses Maildir, and the internal mbox provider encodes those "From " lines anyway, but it was still left there (in the composer). Whether it was for purpose or forgotten I cannot tell. You are not right with the quoted (prefixed) "From ", there is no need to quote those. The reason to quote is to distinguish between mbox mail delimiter (which begins with "From " on a new line) and a user text in the email. In any case, let's do not canon the "From " in the composer-generated mails and let it to respective providers, whether the escape is needed or not. Created commit 5959052 in evo master (3.17.90+)
*** Bug 616407 has been marked as a duplicate of this bug. ***