Лучший подход, который я придумала, - это использовать импорт Sass на выбранной основе для добавления ваших загрузочных (или любых других) стилей в электронные письма по мере необходимости.
Сначала создайте новый родительский файл scss, например, email.scss
для вашего стиля электронной почты. Это может выглядеть так:
// Core variables and mixins
@import "css/main/ezdia-variables";
@import "css/bootstrap/mixins";
@import "css/main/ezdia-mixins";
// Import base classes
@import "css/bootstrap/scaffolding";
@import "css/bootstrap/type";
@import "css/bootstrap/buttons";
@import "css/bootstrap/alerts";
// nest conflicting bootstrap styles
.bootstrap-style {
//use single quotes for nested imports
@import 'css/bootstrap/normalize';
@import 'css/bootstrap/tables';
}
@import "css/main/main";
// Main email classes
@import "css/email/zurb";
@import "css/email/main";
Тогда в ваших шаблонах электронной почты используйте только ваш скомпилированный файл email.css, который содержит только выбранные стили начальной загрузки, на которые есть ссылки и которые правильно вложены в ваш email.scss.
Например, некоторые стили начальной загрузки будут конфликтовать с отзывчивым стилем таблицы Zurb. Чтобы это исправить, вы можете вкладывать стили начальной загрузки в родительский класс или другой селектор, чтобы вызывать стили таблицы начальной загрузки только при необходимости.
Таким образом, у вас есть возможность посещать занятия только при необходимости. Вы увидите, что я использую <a href="http://zurb.com/" rel="nofollow">http://zurb.com/</a>
- отличную адаптивную библиотеку электронной почты. Смотри также <a href="http://zurb.com/ink/" rel="nofollow">http://zurb.com/ink/</a>
Наконец, используйте премалер, такой как <a href="https://github.com/fphilipe/premailer-rails3" rel="nofollow">https://github.com/fphilipe/premailer-rails3</a>
, упомянутый выше, чтобы обработать стиль во встроенный CSS, компилируя встроенные стили только с тем, что используется в этом конкретном шаблоне электронной почты. Например, для premailer ваш файл ruby может выглядеть примерно так, чтобы скомпилировать письмо во встроенном стиле.
require 'rubygems' # optional for Ruby 1.9 or above.
require 'premailer'
premailer = Premailer.new('http://www.yourdomain.com/TestSnap/view/emailTemplates/DeliveryReport.jsp', :warn_level => Premailer::Warnings::SAFE)
# Write the HTML output
File.open("delivery_report.html", "w") do |fout|
fout.puts premailer.to_inline_css
end
# Write the plain-text output
File.open("output.txt", "w") do |fout|
fout.puts premailer.to_plain_text
end
# Output any CSS warnings
premailer.warnings.each do |w|
puts "#{w[:message]} (#{w[:level]}) may not render properly in #{w[:clients]}"
end
Надеюсь, это поможет! Мы изо всех сил пытались найти гибкую структуру шаблонов электронной почты для Pardot, Salesforce, а также встроенного автоответчика и ежедневных электронных писем нашего продукта.