E-mail corrupted by Yahoo, Verizon, BellSouth, etc. servers. Was: Use `CTE: 8bit` only when the server is advertising the 8BITMIME support
Categories
(MailNews Core :: Networking: SMTP, enhancement)
Tracking
(Not tracked)
People
(Reporter: jorgk-bmo, Unassigned)
References
Details
User Story
Initially this but was filed since Thunderbird was sending 8bit encoded mail to Yahoo, Verizon, BellSouth, etc. servers. Whilst that was incorrect and could still be fixed, the situation has changed. Those servers now advertise 8BITMIME capability, see comment #28, yet can't handle anything but UTF-8. Second complaint at Yahoo in Oct. 2018: https://forums.yahoo.net/t5/Sending/Yahoo-SMTP-server-corrupting-e-mail-in-windwos-1252-despite/td-p/556011 (Edit 12-21-2019 by gene smith: This link is no longer accessible. However, an excellent write-up regarding the issues can be found here: https://wiki.mozilla.org/User:Jorgk/8-bit_bytes_and_e-mail_corruption_at_Verizon,_Yahoo,_etc.#All_you_ever_need_to_know_about_8bit_bytes_and_corrupted_e-mail_passing_through_the_servers_of_Verizon.2C_Yahoo.2C_Bellsouth.2C_AT.26T.2C_Sbcglobal_and_others Workaround for affected users: 1) Always use UTF-8 for outgoing e-mail Tools > Options, Display, Formatting tab, Advanced button, Fonts & Encodings, Text Encoding, Outgoing Mail. Also reply in UTF-8: Tools > Options, Display, Formatting tab, Advanced button, Fonts & Encodings, Text Encoding, click: When possible, use the default text encoding in replies. 2) Set pref mail.strictly_mime to true Tools > Options, Advanced, General tab, Config Editor, paste "mail.strictly_mime". You need to use option 2 if UTF-8 sending through Yahoo and friends doesn't work either, which has been the case at times.
Reporter | ||
Comment 3•8 years ago
|
||
Reporter | ||
Comment 4•8 years ago
|
||
Reporter | ||
Comment 5•8 years ago
|
||
Reporter | ||
Comment 8•8 years ago
|
||
Reporter | ||
Comment 9•8 years ago
|
||
Reporter | ||
Comment 10•8 years ago
|
||
Comment 11•8 years ago
|
||
Comment 12•8 years ago
|
||
Comment 13•8 years ago
|
||
Reporter | ||
Comment 14•8 years ago
|
||
Comment 15•8 years ago
|
||
Comment 16•8 years ago
|
||
Comment 17•8 years ago
|
||
Reporter | ||
Comment 18•8 years ago
|
||
Comment 27•7 years ago
|
||
Reporter | ||
Comment 28•7 years ago
|
||
Reporter | ||
Comment 29•7 years ago
|
||
Reporter | ||
Comment 31•7 years ago
|
||
Reporter | ||
Updated•7 years ago
|
Comment 34•6 years ago
|
||
After running the recommended patch of Internet Properties - Advanced - International (in Windows 7 Professional) to set the UTF-8 query strings to the ON state, all problems disappeared for about one year. At the end of the last week a new problem appeared which is very similar to the old one. This time, the incorrectly represented unprintable characters are replaced with the pair of question marks for each instance which renders the e-mailed document totally incomprehensible, and converting all statements to the questions.
As in the past, it applies to the majority of the Latin characters (A-Z, a-z) with diacritical signs and to the formatting sequences, e.g. in the "Paragraph" mode when it detects the two spaces delimiting the sentences in one paragraph, or two line feeds delimiting the spaces between paragraphs.
The problem became very annoying because now it has an impact on English messages as well, when the symbols like degree, apostrophe, etc., are detected and replaced with a pair of question marks.
It appears that somebody started working on this outstanding problem, and the users are delegated the task of testing. Does this situation requires some other change of Internet Properties?
Reporter | ||
Comment 35•6 years ago
•
|
||
I don't understand "After running the recommended patch of Internet Properties - Advanced - International (in Windows 7 Professional) to set the UTF-8 query strings to the ON state, ...".
Yahoo messed up in two ways. They have messed up windows-1252 encoded messages all the time. And then there were times were even UTF-8 encoded messages were messed up.
You can work around the former problem by always sending in UTF-8: In Thunderbird:
Tools > Options, Display, General tab, Advances button, Fonts & Encodings, Text Encoding, Outgoing Mail.
EDIT: Correction:
Tools > Options, Display, Formatting tab, Advanced button, Fonts & Encodings, Text Encoding, Outgoing Mail.
If UTF-8 is also messed up, you can force TB to sending QP encoded by setting pref mail.strictly_mime to true:
Tools > Options, Advanced, General tab, Config Editor, paste "mail.strictly_mime".
That's mostly written into the "user story" of the bug.
Comment 36•6 years ago
|
||
Bug 1435903
In T Bird, go to TOOLS:
TOOLS, OPTIONS, ADVANCED, GENERAL, CONFIG EDITOR
in Search type Mail.Strictly
Look for Mail.Strictly_MIME and toggle from False to TRUE. This fixes it.
mail.strictly_mime; Toggle from FALSE to true.
This works fine... did it on four MS PC's and even on my MAC. All worked fine.
BH
Comment 37•6 years ago
|
||
Thank you both, Jorg and Bob.
The problem is fixed and tested on e-mails overseas and back, it was caused by "mail.strictly_mime", which became FALSE apparently at the end of the last week. Until that time, my e-mails were working fine, and I did not make any changes until today to restore the TRUE value. Maybe some recent Thunderbird upgrades changed this status which got me into this frustrating situation.
I wanted to check the status of the "Text Encoding of Outgoing mail" as well, but I had the problem to find it. I think that there is a problem in the User Story (or it is stated for some older version of Thunderbird) which should be:
Tools > Options, Display, Formatting tab, Advance button, Fonts & Encoding, Text Encoding, Outgoing Mail.
There is no General tab on the specified level. But this one was set correctly to Unicode(UTF-8).
Many thanks for your fast support. It is really appreciated.
Reporter | ||
Updated•6 years ago
|
Comment 39•6 years ago
|
||
If the workaround (per user story) is to "Always use UTF-8 for outgoing e-mail", I'm confused on exactly which users are affected. That's on by default for en-US, and even for Japanese now since 2017.
Is it only for replies? We might want to also set mailnews.reply_in_default_charset true
Reporter | ||
Comment 40•6 years ago
|
||
There were (and still are) times where Yahoo even corrupt{ed/s} non-ASCII 8bit UTF-8 characters, see for example bug 1549553 (I don't have time to scan all the others now, but it happened before). In that bug one NBSP which we transmit as UTF-8, C2 A0 (2 bytes) is replaced by ??. So then only mail.strictly_mime works. I wonder how CJK users are affected. They can't send at all in UTF-8?
That said, there are many locales using ISO-8859-NN:
https://dxr.mozilla.org/l10n-central/search?q=mailnews.send_default_charset&redirect=false
Reporter | ||
Comment 41•6 years ago
|
||
Yahoo status on 18th May 2019: UTF-8 working, Western (windows-1252) corrupted.
Comment 42•6 years ago
|
||
I haven't seen ?? in my UTF-8 emails that I've sent for a couple of weeks now — about the time I had added an apologetic note to the "signature" portion of my email "template." Is it possible that Verizon has updated the AOL and Yahoo servers they were saddled with to more acceptable standards? (I didn't even get a chance to file a complaint.)
My provider is Verizon (AOL mail server), so the problem has been especially severe for me. But it's disappearing, or is gone... not sure yet, but will f/u here in a month.
Reporter | ||
Comment 44•6 years ago
|
||
This message was sent to a Yahoo responsible on 6th June 2019:
===
Description of Problem:
To encode non-ASCII text, for example German umlauts, äöü, French or Spanish accents áéó, Greek, Hebrew, Korean, Japanese, Chinese, Thai, Arabic, etc., a variety of encodings can be used.
The universal encoding UTF-8 can encode absolutely all characters in all languages, but traditionally, other encodings are used regionally, for example windows-1252 (very similar to ISO-8859-1), also called "Western", is used for "Latin"-derived languages, like German, French or Spanish.
The problem is that the Yahoo service only supports UTF-8 and treats all other encodings as if they were UTF-8 leading to corrupt messages.
For example the letter ä is encoded in UTF-8 as two bytes (hexadecimal): C3 A4. In windows-1252 the letter ä is encoded as one byte (hexadecimal) E4. The byte E4 is not a valid character if interpreted as UTF-8.
The Yahoo service does this: Modifies message bodies and replaces all characters that are not valid UTF-8 with the UTF-8 "illegal character" character (replacement character, hexadecimal EF BF BD), which consists of three bytes. It ignores the fact that messages carry the information of which character set/encoding is used in a message header. Furthermore, no mail service should ever modify message content, it should pass the message data through unaltered. It can read and interpret the headers, but it should never modify anything other than adding its own headers where required.
In an example this happens:
A Thunderbird users sends the word "Hägar" in windows-1252 with a message header indicating the use of that encoding. The Yahoo service modifies the word and replaces the ä (E4) with three bytes which represent the "illegal character" in UTF-8, although the message is not encoded in UTF-8.
The recipient sees something like "H�gar" since the recipient's e-mail client does interpret the encoding header correctly and interprets the three bytes of the UTF-8 replacement character as "�".
There are other aspects of the problem: Even English speakers using strictly ASCII text can be affected if they send multiple so-called no-break spaces (NBSP, in windows-1252 (hexadecimal) A0). Those A0 bytes which are valid in windows-1252 are invalid if interpreted as UTF-8; Yahoo replaces them and the recipient sees "�" where the sender had intended spaces.
In short: The Yahoo service actively corrupts e-mail and so far we've had 15 bug reports in Thunderbird. The issue was also reported at the Yahoo support forums twice since February 2018, but Yahoo never fixed it, and now the forums appear to have been shut down.
Reporter | ||
Comment 46•6 years ago
•
|
||
More information here:
https://wiki.mozilla.org/User:Jorgk/8-bit_bytes_and_e-mail_corruption_at_Verizon,_Yahoo,_etc. <--- EDIT: Not working, see next comment.
This will be published as a SUMO article soon.
Reporter | ||
Comment 47•6 years ago
|
||
Damn, the URL has a dot at the end and it's not linkified. So try this:
https://wiki.mozilla.org/User:Jorgk/8-bit_bytes_and_e-mail_corruption_at_Verizon,_Yahoo,_etc.
Comment 48•6 years ago
|
||
I understand the reluctance to make quoted-printable (mail.strictly_mime=true) the default because it introduces overhead, but the fact of the matter is that the overhead is minimal and pretty much invisible to users, whereas corrupted emails are very much visible to users. I would therefore ask that we reconsider the idea of making mail.strictly_mime true by default, at least as a short-term solution until we have a better long-term solution.
One level up from that would be to implement the idea proposed above of querying the server for 8BITMIME and storing that for future emails, with one twist on the above idea: rather than assuming 8BITMIME is safe until the server says otherwise, assume 8BITMIME isn't safe until the server says it is. I.e., the default should be cautious and conservative.
If we're not going to do either above, then I'd argue for exposing the setting in the user preferences with documentation there rather than requiring it to be set in the configuration editor, so at least this is easier for users to fix when they encounter the issue.
The final idea I'd throw out for consideration is supporting a blacklist of domains which are known not to handle 8-bit MIME properly and use quoted-printable whenever sending to a domain on that blacklist. We could have a built-in blacklist of domains we know are problematic and allow the user to add additional domains. This would be in addition to the other solutions proposed above, not instead of them.
Comment 51•6 years ago
|
||
@Jonathan Kamens:
(Comment 48)
Very well written and case very well presented. Thanks for pointng out the matter so clearly.
I second all you propose to the fullest extent as I´m suffering from the TB/yahoo-dilemma, too.
Greetings
Rosika
Comment 55•6 years ago
|
||
(Commenting on User Story)
Initially this but was filed since Thunderbird was sending 8bit encoded mail
to Yahoo, Verizon, BellSouth, etc. servers.Whilst that was incorrect and could still be fixed, the situation has
changed. Those servers now advertise 8BITMIME capability, see comment #28,
yet can't handle anything but UTF-8.Second complaint at Yahoo in Oct. 2018:
https://forums.yahoo.net/t5/Sending/Yahoo-SMTP-server-corrupting-e-mail-in-
windwos-1252-despite/td-p/556011Workaround for affected users:
- Always use UTF-8 for outgoing e-mail
Tools > Options, Display, Formatting tab, Advanced button, Fonts &
Encodings, Text Encoding, Outgoing Mail.
Also reply in UTF-8:
Tools > Options, Display, Formatting tab, Advanced button, Fonts &
Encodings, Text Encoding, click: When possible, use the default text
encoding in replies.- Set pref mail.strictly_mime to true
Tools > Options, Advanced, General tab, Config Editor, paste
"mail.strictly_mime".You need to use option 2 if UTF-8 sending through Yahoo and friends doesn't
work either, which has been the case at times.
I did make the setting changes and hopefully that will do it.THANKS!!
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Comment 57•6 years ago
|
||
Grrr, that damn link with the full stop at the end. And the user story doesn't do markup :-( - But the reference via Google wasn't that crash hot either.
Reporter | ||
Updated•6 years ago
|
Comment 59•6 years ago
|
||
Workaround incomplete or incorrect. See "JOY:" comments below.
My preferences already comply to Workaround Option #1 -- i.e.:
-
Always use UTF-8 for outgoing e-mail (JOY: Already selected)
Tools > Options, Display, Formatting tab,
Advanced button, Fonts & Encodings,
Text Encoding, Outgoing Mail.Also reply in UTF-8: (JOY: Already selected)
Tools > Options, Display, Formatting tab,
Advanced button, Fonts & Encodings,
Text Encoding, click: (JOY: box is already checked)
When possible, use the default text encoding in replies.
JOY: Workaround Option #2 instructions do not match what I see so I cannot make the recommended changes:
2) Set pref mail.strictly_mime to true
Tools > Options,
Advanced, (JOY: Confusing since there is an Advanced tab and an Advanced button visible. I tried both.)
General tab, (JOY: There is no "General tab" either way.)
JOY UPDATE: There was also an "Advanced" in the left-hand column. Clicking there showed a "General tab".
Config Editor, paste "mail.strictly_mime". (JOY: this is done in the search field.)
(JOY: Clicking on the "False" value toggles the value to "True".)
Reporter | ||
Comment 60•6 years ago
|
||
Comment 61•5 years ago
|
||
(In reply to Darrel Joy from comment #59)
Workaround incomplete or incorrect. See "JOY:" comments below.
My preferences already comply to Workaround Option #1 -- i.e.:
Always use UTF-8 for outgoing e-mail (JOY: Already selected)
Tools > Options, Display, Formatting tab,
Advanced button, Fonts & Encodings,
Text Encoding, Outgoing Mail.Also reply in UTF-8: (JOY: Already selected)
Tools > Options, Display, Formatting tab,
Advanced button, Fonts & Encodings,
Text Encoding, click: (JOY: box is already checked)
When possible, use the default text encoding in replies.JOY: Workaround Option #2 instructions do not match what I see so I cannot make the recommended changes:
2) Set pref mail.strictly_mime to true
Tools > Options,
Advanced, (JOY: Confusing since there is an Advanced tab and an Advanced button visible. I tried both.)
General tab, (JOY: There is no "General tab" either way.)
JOY UPDATE: There was also an "Advanced" in the left-hand column. Clicking there showed a "General tab".
Config Editor, paste "mail.strictly_mime". (JOY: this is done in the search field.)
(JOY: Clicking on the "False" value toggles the value to "True".)
In my case the "mail.strictly_mime" was already set to "True'.
Updated•3 years ago
|
Description
•