Найкращий підхід, який я придумав, - використовувати імпорт Sass на вибраній основі, щоб втягнути ваш стилі bootstrap (або будь-який інший) в електронні листи, якщо це буде потрібно.
Спочатку створіть новий батьківський файл 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. Щоб це виправити, ви можете вкласти стилі bootstrap у батьківський клас або інший селектор, щоб викликати стилі таблиці bootstrap лише за потреби.
Таким чином, ви можете гнучко навчатись лише тоді, коли це потрібно. Ви побачите, що я використовую, http://zurb.com/
що є чудовою адаптивною бібліотекою електронної пошти для використання. Дивитися такожhttp://zurb.com/ink/
Нарешті, використовуйте попередній засіб, як https://github.com/fphilipe/premailer-rails3
згадано вище, для обробки стилю у вбудований 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 та вбудованому в наш продукт автоматичному відповіді та щоденних електронних листах.