Najlepszym podejściem, jakie wymyśliłem, jest użycie importu Sass na wybranej podstawie, aby w razie potrzeby wprowadzić swój bootstrap (lub inne) style do wiadomości e-mail.
Najpierw utwórz nowy plik nadrzędny scss, podobny email.scss
do swojego stylu e-mail. Może to wyglądać tak:
@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";
Następnie w szablonach wiadomości e-mail odwołuj się tylko do skompilowanego pliku email.css, który zawiera tylko wybrane style ładowania początkowego, do których istnieją odniesienia i są prawidłowo zagnieżdżone w pliku email.scss.
Na przykład niektóre style ładowania początkowego będą kolidować z responsywnym stylem tabeli Zurb. Aby to naprawić, możesz zagnieździć style bootstrap w klasie nadrzędnej lub innym selektorze, aby wywoływać style tabeli bootstrap tylko wtedy, gdy są potrzebne.
W ten sposób masz swobodę przyciągania zajęć tylko wtedy, gdy jest to potrzebne. Zobaczysz, że używam, http://zurb.com/
która jest świetną responsywną biblioteką e-mail. Zobacz teżhttp://zurb.com/ink/
Na koniec użyj programu Preailer, takiego jak https://github.com/fphilipe/premailer-rails3
wspomniany powyżej, aby przetworzyć styl na wbudowany css, kompilując style wbudowane tylko do tego, co jest używane w tym konkretnym szablonie wiadomości e-mail. Na przykład w przypadku premailera Twój plik ruby może wyglądać mniej więcej tak, aby skompilować wiadomość e-mail w stylu wbudowanym.
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
Mam nadzieję że to pomoże! Starałem się znaleźć elastyczną platformę tworzenia szablonów wiadomości e-mail w Pardot, Salesforce oraz wbudowanej automatycznej odpowiedzi i codziennych wiadomościach e-mail naszego produktu.