Pendekatan terbaik yang saya temukan adalah dengan menggunakan impor Sass atas dasar yang dipilih untuk menarik gaya bootstrap Anda (atau lainnya) ke dalam email yang mungkin diperlukan.
Pertama, buat file induk scss baru seperti email.scss
untuk gaya email Anda. Ini akan terlihat seperti ini:
@import "css/main/ezdia-variables";
@import "css/bootstrap/mixins";
@import "css/main/ezdia-mixins";
@import "css/bootstrap/scaffolding";
@import "css/bootstrap/type";
@import "css/bootstrap/buttons";
@import "css/bootstrap/alerts";
.bootstrap-style {
@import 'css/bootstrap/normalize';
@import 'css/bootstrap/tables';
}
@import "css/main/main";
@import "css/email/zurb";
@import "css/email/main";
Kemudian di template email Anda, hanya rujuk file email.css yang telah dikompilasi, yang hanya berisi gaya bootstrap terpilih yang direferensikan dan disarangkan dengan benar di email.scss Anda.
Misalnya, gaya bootstrap tertentu akan bertentangan dengan gaya tabel responsif Zurb. Untuk memperbaikinya, Anda dapat menyarangkan gaya bootstrap dalam kelas induk atau pemilih lain untuk memanggil gaya tabel bootstrap hanya jika diperlukan.
Dengan cara ini, Anda memiliki fleksibilitas untuk menarik kelas hanya jika diperlukan. Anda akan melihat bahwa saya menggunakan http://zurb.com/
perpustakaan email responsif yang bagus untuk digunakan. Lihat jugahttp://zurb.com/ink/
Terakhir, gunakan premailer seperti yang https://github.com/fphilipe/premailer-rails3
disebutkan di atas untuk memproses gaya menjadi css sebaris, mengompilasi gaya sebaris hanya untuk apa yang digunakan dalam templat email tertentu itu. Misalnya, untuk premailer, file ruby Anda akan terlihat seperti ini untuk mengompilasi email menjadi gaya sebaris.
require 'rubygems'
require 'premailer'
premailer = Premailer.new('http://www.yourdomain.com/TestSnap/view/emailTemplates/DeliveryReport.jsp', :warn_level => Premailer::Warnings::SAFE)
File.open("delivery_report.html", "w") do |fout|
fout.puts premailer.to_inline_css
end
File.open("output.txt", "w") do |fout|
fout.puts premailer.to_plain_text
end
premailer.warnings.each do |w|
puts "#{w[:message]} (#{w[:level]}) may not render properly in #{w[:clients]}"
end
Semoga ini membantu! Telah berjuang untuk menemukan kerangka kerja templat email yang fleksibel di Pardot, Salesforce, dan respons otomatis bawaan produk kami serta email harian.