Can I put a <style>...</style> tag within the body of a HTML file to send in email?

Since a lot of email clients ignore the HEAD tag, can I embed an inline stylesheet in the body?


The short answer is no. Gmail strips the tag and it's content.

Hotmail, Yahoo! Mail and Windows Live Mail does not strip style-tags in the body-element.

But take a look at "The Ultimate Guide to CSS" for HTML email over at Campaign Monitor.


Creating an HTML email that works in every email client is hard. I spent several months refining a good looking template.

http://commadot.com/the-holy-mail/ - original blog with my findings.

http://commadot.com/email-best-practices/ - latest greatest.

Specific answer to your question: Gmail will be ok with style="" but not with a <style> block.


You might want to check out the free html email templates that CampaignMonitor and MailChimp (EDIT: and Ink by Zurb) provide:

http://www.campaignmonitor.com/templates/

http://www.mailchimp.com/resources/templates/

http://zurb.com/ink/

There's an updated version of Campaign Monitor's helpful guide here: http://www.campaignmonitor.com/css/

Unfortunately, the most reliable HTML to use in emails is totally stone age

EDIT: Ink has an "inliner" tool that takes the contents of style tags and inlines them onto the appropriate elements: http://zurb.com/ink/inliner.php