HTML mailers were the bane of my existence in my previous job. I'd finally get everything looking right in all my tests and then our third party testing service would come back with some obscure spacing issue in Windows Live Mail, or Eudora, or Outlook 2007, and I'd spend the rest of the day coming up with fixes that wouldn't break something somewhere else.
As long as Microsoft continues to use the MS Word Rendering Engine to display e-mail in Outlook, it won't matter what kinds of standards work is attempted in the HTML e-mail space ... and even if they change, it's not like all those old Outlook clients will go away for a while.
It really is surprising, especially how sophisticated the email specification is (since it had to deal with gateways and multiple non-Internet networks, etc.). But, perhaps history has something of an answer here: it took email decades to work out how to handle multimedia, with all sorts of false starts and poor standards, so, perhaps HTML email is really just the continuation of this?
You can't really call it HTML if it's so wildly nonstandard.
Personally, I think we need "Markdown Email". It looks great in plain text, and something like an end user custom stylesheet could render it pretty-fied for those that care.
Also something that would help would be an ignore based backward compatibility standard. Like how browsers ignore tags they don't understand, then you could send a markdown formatted message that is marked in a way that the alternative non markdown text-only version is used by older clients.
You can already use the multipart/alternative MIME type for that (which is what HTML emails use), it's just a matter of email clients deciding that they'll show a Content-Type other than text/html if it exists.
For example, you could use just a plain text part and a multipart/alternative with a text/markdown Content-Type. The email client would render Markdown if it's capable of handling it, and the plain text version if not.
You could achieve something like this pretty quick with Org mode and Gnus, I think...the trouble would be getting your non-Emacs-using contacts to send you nicely formatted email.
The reason people moved away from them is that a few bad apples were tracking emails via logged images. Then you got the images stripped which made the whole thing kind of pointless. Not to mention the fact that there's the actual HTML engine rendering mess.
HTML email sounds good on paper (and to marketers) but the reality is that its a nightmare.
A few bad apples were? Image based e-mail tracking is de rigeur to this day for nearly any marketing e-mail you receive, and has been since e-mail marketing has been a thing.
Any e-mail marketing provider worth their salt will include these without even asking the person sending the batch.
And if it's actually important or you're curious or you can't read it and want to know what it says, you'll click the "show images" button. Email tracking is hardly a bad thing, it provides useful data. Some address never reading emails/never showing pictures? Stop sending them stuff.
The reason it was such a bad idea before was that spammers used to want to figure out whether an email address existed and/or was active, and they would use a tracking image to do that. Now they have the bandwidth and processing power available to not care about it.
why does someone need html email anyway? say it in plain text and if that's not possible just stick in a url. And you get to actually track it easily too.
You could apply the same argument to webpages. I think HTML e-mail is a complete mess right now, but allowing some degree of e-mail styling does go a long way in helping users understand what the e-mail is trying to convey.
Something as simple as laying out tabluar data in a table is extremely hard to pull off effectively with a plain-text e-mail.
Exactly. For my Hacker Newsletter project I have a real hard time putting in all the links (one to the article, one to the comments) in text mode, but HTML makes this easy for users to scan and use.
Two words: Marketing Departments. Blizzard Entertainment doesn't want to try to win back a lapsed subscriber with text alone, they want to have bright, colorful graphics with a bold call to action.
It's already too late to be completely rid of HTML mailers, so let's at least make them work.
I very strongly do not want HTML email to come back. I consider the dominance of plaintext email to be a victory, let's not concede it. HTML email was quite popular in the mid to late nineties and it was a disaster. Why do we want messages to go from 600 bytes to 30k? Why do we want readability of the message to be determined by either the sender's sense of design and/or our client's capabilities? Why do we want to make email threads that much more difficult to to create and follow? It's bad enough we've succumbed to top posting, I can't even imagine what the size and readability of an HTML email that has been replied to 20+ times would be. Please, let's stick with plaintext.
While we're at it let's get rid of streaming HD video and all that cumbersome CSS and Javascript (it just slows down page load times, and why should websites be dictated by the owner's sense of design?).
The website analogy is pretty poor. How many websites today aren't designed by professional designers?
When you hand the design reins to everyone, you end up with Myspace profiles and Geocities sites. There's nothing wrong with either of those, but context is essential. When I'm reading through dozens and even hundreds of emails a day that are crucial to my daily work, I really don't want to have to deal with Paula's pink hearts theme or Bill's Boston Bruins theme. There's a time and place for everything. I do want confidence that I can read my emails quickly and easily, and plaintext makes that promise a lot better than HTML does.
That's exactly the reason emails come in two parts (text and HTML). You can tell your client to only show plaintext emails if you're so inclined (just like you can tell Firefox to only use your own personal stylesheet).
Personally, I prefer the HTML emails and find them faster to go through. It takes me about 2 seconds to skim a Thinkgeek mailer with product images and see if there's anything interesting, vs. having to actually read the entire email and click a bunch of links.
Then there are all the nice graphs and colors in the server monitoring emails I get that let me get a big picture overview of the server farm health at a glance every week. If I see any red or too many spikes, I can decide whether to investigate further or get back to coding.
For all the benefits I get from HTML email, I'll risk the small chance that getting an email with Paula's pink hearts theme will seriously fuck up my day.
Not all HTML messages include a text section. I just looked at the raw message of 6 HTML emails and only two of them had multipart/alternative sections. But if it could be agreed upon to always send both, I think that would be good.
And for sure, you do make some good points on where HTML email can be a good thing. Perhaps I'm being too pessimistic.
That's my beef with them too. I prefer text emails, since I do a lot of my email reading on the CLI. It's true, and annoying, that a fair amount don't include multipart/alternative sections. For me it's not a huge problem as I have plugins that will extract the text from the HTML and present the text only, but it's not exactly a great reader experience.
Much much worse, however, are all of the people/companies that include multipart/alternative sections, but do it completely wrong: "This is an HTML-email. Your client lacks HTML support. Please visit [url here] to view this email" or even worse "This is an HTML-email. Your client lacks HTML support. Please upgrade your software".
I come across these almost daily, and it bugs the hell out of me. Unless it is something very important (bill, sign-up email, etc.) I simply ignore these emails, and they never get read. (Yes, it really is out of spite. I'll ignore them when reading email in a web client or on my phone later. They simply lost their chance)
I don't really like HTML mail, but I can live with it. I see the reason why it exists (great for advertisement). However, if you use HTML email, do include multipart/alternative section for non-HTML clients, and include the same information there, non of this "your client can't handle HTML, you loose crap".
It's actually a pretty bad idea to use multipart in that way anyway, as having very different html and plain text content in your email is a flag for spam filters.
> You can tell your client to only show plaintext emails if you're so inclined (just like you can tell Firefox to only use your own personal stylesheet).
I can't find the option in Outlook 2010. It's made working through my inbox more frustrating then it need be.
I'll come right out and say it: I don't care if emails are 30k a piece instead of 600 bytes. Maybe I'm "part of the problem", but so is 98% of the rest of the users of the internet. I simply don't care because it has essentially zero material effect on me. My phone doesn't even sweat under that load.
> You can’t allow some arbitrary code to run in the user’s mail client, we already have enough security problems in emails.
Webmail aside, what are the security implications of running javascript in an email client? Any reason why they're worse than going to a web page?
(You might say you choose which web pages you go to, whereas email gets sent to you. But with all the 3rd-party advertising javascript, you end up running a lot of arbitrary code while browsing)
Email clients shouldn't be more vulnerable than browsers these days, since I think most email clients use a browser rendering engine for HTML emails now anyway.
There is always the risk of another WMF-style exploit though.
> Gone are the days of ugly plain text and we celebrate the arrival of beautiful emails.
The point of email is to read and understand information QUICKLY. Plain text allows one to do just that. If you are trying to make email an artistic masterpiece, you are missing the point.
In my ideal world, all email clients capable of displaying "rich text" would support Markdown, with an X-header identifying the plain-text message as such.
32 comments
[ 2.6 ms ] story [ 78.5 ms ] threadAs long as Microsoft continues to use the MS Word Rendering Engine to display e-mail in Outlook, it won't matter what kinds of standards work is attempted in the HTML e-mail space ... and even if they change, it's not like all those old Outlook clients will go away for a while.
Personally, I think we need "Markdown Email". It looks great in plain text, and something like an end user custom stylesheet could render it pretty-fied for those that care.
Wishful thinking, sadly.
Also something that would help would be an ignore based backward compatibility standard. Like how browsers ignore tags they don't understand, then you could send a markdown formatted message that is marked in a way that the alternative non markdown text-only version is used by older clients.
For example, you could use just a plain text part and a multipart/alternative with a text/markdown Content-Type. The email client would render Markdown if it's capable of handling it, and the plain text version if not.
It'd actually look half-way decent in a client that doesn't render it. Wish I had the time to write a Mozilla plugin:-p
HTML email sounds good on paper (and to marketers) but the reality is that its a nightmare.
Any e-mail marketing provider worth their salt will include these without even asking the person sending the batch.
Something as simple as laying out tabluar data in a table is extremely hard to pull off effectively with a plain-text e-mail.
It's already too late to be completely rid of HTML mailers, so let's at least make them work.
Truth is, html gives you more flexibility in communicating certain things to a user that wouldn't be possible with just plain text.
When you hand the design reins to everyone, you end up with Myspace profiles and Geocities sites. There's nothing wrong with either of those, but context is essential. When I'm reading through dozens and even hundreds of emails a day that are crucial to my daily work, I really don't want to have to deal with Paula's pink hearts theme or Bill's Boston Bruins theme. There's a time and place for everything. I do want confidence that I can read my emails quickly and easily, and plaintext makes that promise a lot better than HTML does.
Personally, I prefer the HTML emails and find them faster to go through. It takes me about 2 seconds to skim a Thinkgeek mailer with product images and see if there's anything interesting, vs. having to actually read the entire email and click a bunch of links.
Then there are all the nice graphs and colors in the server monitoring emails I get that let me get a big picture overview of the server farm health at a glance every week. If I see any red or too many spikes, I can decide whether to investigate further or get back to coding.
For all the benefits I get from HTML email, I'll risk the small chance that getting an email with Paula's pink hearts theme will seriously fuck up my day.
And for sure, you do make some good points on where HTML email can be a good thing. Perhaps I'm being too pessimistic.
Much much worse, however, are all of the people/companies that include multipart/alternative sections, but do it completely wrong: "This is an HTML-email. Your client lacks HTML support. Please visit [url here] to view this email" or even worse "This is an HTML-email. Your client lacks HTML support. Please upgrade your software".
I come across these almost daily, and it bugs the hell out of me. Unless it is something very important (bill, sign-up email, etc.) I simply ignore these emails, and they never get read. (Yes, it really is out of spite. I'll ignore them when reading email in a web client or on my phone later. They simply lost their chance)
I don't really like HTML mail, but I can live with it. I see the reason why it exists (great for advertisement). However, if you use HTML email, do include multipart/alternative section for non-HTML clients, and include the same information there, non of this "your client can't handle HTML, you loose crap".
I can't find the option in Outlook 2010. It's made working through my inbox more frustrating then it need be.
Webmail aside, what are the security implications of running javascript in an email client? Any reason why they're worse than going to a web page?
(You might say you choose which web pages you go to, whereas email gets sent to you. But with all the 3rd-party advertising javascript, you end up running a lot of arbitrary code while browsing)
There is always the risk of another WMF-style exploit though.
The point of email is to read and understand information QUICKLY. Plain text allows one to do just that. If you are trying to make email an artistic masterpiece, you are missing the point.