Stop Sending Me Your Errors
A reader rails against email senders who misuse multipart/alternative to deliver error messages like "Plain text version not available" instead of actual plain-text content. The author explains how this breaks email clients that prefer plain text, offers scenarios where users are harmed, and argues that such errors are useless and even counterproductive. The solution: stop sending non-alternative plain-text parts, which also helps avoid spam filters.
If your email system cannot generate a useful text/plain version of the email, then it doesn't help anyone to tell them that.
- zahrevsky
Basically, it's like sending a 200 OK with "Error" in the body?
- cube00
> Not only will it make all 10 of us happy
It's a lonely road indeed.
This is one I often get which I notice because my Android mail client shows the plain text version in the notification so all you see is this failed HTML encoding flooding the screen as the notification text.
Chalk another win up for the Salesforce Marketing Cloud letting an encoding hack from the HTML version leak into the plain text version.
This is a multi-part message in MIME format.
--ySCSIjGKGV=_?:
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ ͏‌ [ repeated for a screen full ]
- don-code
As a NoScript user, I see a lot of similar content served via websites as well.
The ideal case is that a website gracefully degrades with JS disabled. That's largely a pipe dream with React usage being what it is, but some sites manage it. Github is one who still does this well.
The nonideal case is that I'm presented with a misrendered site, but I can still see some semantic information that may, or may not, be what I was looking for. Gitlab's an example of this.
The worst case comes where the site white-screens and doesn't load _anything_ of use. Reddit is an example where it loads nothing but a loading image. My worst pet peeve is the Stack Overflow-style failure mode, though, which explicit says: "Enable JavaScript and cookies to continue.", rather than making any attempt to show any content at all, which is most similar to what the author here is describing.