Seamlessly integrate Alex Dunae's premailer gem with ActionMailer.
Thus, the only correct way to send HTML emails is when CSS is inlined on each element.
Gmail may only make up 7% of all email clients, but it's a percentage you can't ignore!
Inlining CSS is a pain to do by hand, and that's where the premailer gem comes in.
- CSS styles are converted to inline style attributes. Checks style and link[rel=stylesheet] tags and preserves existing inline attributes.
- Relative paths are converted to absolute paths. Checks links in href, src and CSS url('')
The actionmailer_inline_css gem is a tiny integration between ActionMailer and premailer.
To use this in your Rails app, simply add
gem "actionmailer_inline_css" to your
- If you already have an HTML email template, all CSS will be automatically inlined.
- If you don't include a text email template, premailer will generate one from the HTML part. (Having said that, it is recommended that you write your text templates by hand.)
You can use the
stylesheet_link_tag helper to add stylesheets to your mailer layouts.
actionmailer_inline_css contains a premailer override that properly handles
these CSS URIs.
Add the following line to the
<head> section of app/views/layouts/build_mailer.html.erb:
<%= stylesheet_link_tag 'mailers/build_mailer' %>
This will add a stylesheet link for /stylesheets/mailers/build_mailer.css. Premailer will then inline the CSS from that file, and remove the link tag.