Why is there so much variation in email CSS support amongst different clients?

I'm coding an email for a project and man! it's such a pain.

Every other client has it's own implementation and supported rules. Some don't allow even simple properties like background-image while some support most advanced rules like media queries(following campaignmonitor.com/css/b).

With every other change I make, I have to test in a dozen clients and make sure it looks fine.

Why is there so much variation in email style implementation amongst different clients?

Start a personal dev blog on your domain for free and grow your readership.

3.4K+ developers have started their personal blogs on Hashnode in the last one month.

Write in Markdown 路 Publish articles on custom domain 路 Gain readership on day zero 路 Automatic GitHub backup and more

Mario Giambanco's photo

Why are there so many programming languages and frameworks? Everyone has their own opinion on how something should be done. Some of these systems, like AOL, Yahoo, etc... have been around for a decade, and probably not updated much.

@Robert foundation link is a good start, but even that might be a bit to complex for some email clients. http://litmus.com/ does a damn good job of shedding light on what works/ what doesn't.

Look here: http://spamcheck.postmarkapp.com/ to test spam score also.

I've worked with people at companies where this was their only responsibility. Setting up emails for clients, making sure they pass a battery of tests and look great in all browsers and clients. It's an incredible PITA and it's not a set it and forget it thing. Clients can change month to month; spam filters change, etc...

Robert van der Elst's photo

I haven't done much e-mail templating luckily, but like you said it's a PITA... It would be great if there was some kind of standard though, but that's not going to happen anytime soon

Robert van der Elst's photo

That's something that has been bugging me too. I mean, it's fine if not everything is supported, but if everyone could agree on what is or should be supported then that would make a huge difference.

But until then, it's going to be a struggle.

Have a look at this though: http://foundation.zurb.com/emails.html

Jason Knight's photo

Simple fact is that HTML support is different in them because mail clients are so old, or others are allowed to operate in browsers where not all CSS or even HTML can be applied in a secure manner.

Older clients have outdated browsers that you'll likely NEVER see brought up to standards; what with Opera's standalone aging like milk, and thunderbird lagging behind the firefox on which it's even built. Don't even get me STARTED on older clients like Eudora or Outlook.

But more so, external style cannot be applied to a subsection of a web page unless they force it into an iframe, which has all sorts of issues of it's own which is why external CSS is usually ignored. Inline CSS is often stripped by the tag strippers who don't want you turning things on or off... and media queries shouldn't even play into it since the layout should be controlled by the page it's being shown inside (for webmail) or the client itself, NOT your mail.

Simply put you shouldn't rely on HTML or CSS in an e-mail if you give a flying purple fish about people actually using them. Whilst I realize the artsy fartsy types get a raging chodo over their goofy PSD based layout asshattery, that garbage has ZERO damned business in an e-mail which is why a great many places use HTML only e-mail as a trigger for spam detection! (if you send multipart as both text/html and text/plain, you're fine)

Bottom line, you want to use that rubbish HTML e-mail garbage, use HTML 3.2 and two or three of the small things found in the proprietary garbage that wormed it's way into 4 tranny. Do NOT rely on CSS, do NOT rely on anything from 4 strict or 5. That's what's supported, and is all that is EVER likely to be supported... and even then be DAMNED sure you send multipart with a plaintext copy or a great many mail servers will flat out reject it on the assumption that no legitimate e-mail has any damned business even having HTML in it in the first place!

You want HTML, build a honking website and provide the URI in the mail. Anything else is scam artist BS just begging to get your mail kicked to the junk box... no matter how many marketing and "design" re-re's cream their panties over the idea of their bloated arsty junk being shoved in people's faces!

Rodrigo Garcia's photo

For kind of standards I always think that you can't do whatever you want with emails, like adding a youtube video, or background video and so, that's not how it works and yet clients still want their email to look 'amazing' with lots of things that are not allowed and eventually you have to make just a image and that's it, even though you prevent the client that it will probably be rejected or treated as spam and is not going to display correctly in mobile devices but they don't care at all.

Anyway... take a look at this framework is basically a responsive framework for emails. Haven't tested it yet but seems to be a very good one.