El mejor enfoque que se me ha ocurrido es utilizar las importaciones de Sass en una base seleccionada para incorporar sus estilos de arranque (o cualquier otro) en los correos electrónicos según sea necesario.
Primero, cree un nuevo archivo principal de scss similar email.scss
a su estilo de correo electrónico. Esto podría verse así:
// 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";
Luego, en sus plantillas de correo electrónico, solo haga referencia a su archivo compilado email.css, que solo contiene los estilos de arranque seleccionados referenciados y anidados correctamente en su email.scss.
Por ejemplo, ciertos estilos de bootstrap entrarán en conflicto con el estilo de tabla receptiva de Zurb. Para solucionarlo, puede anidar los estilos de bootstrap dentro de una clase principal u otro selector para llamar a los estilos de tabla de bootstrap solo cuando sea necesario.
De esta manera, tiene la flexibilidad de incorporar clases solo cuando sea necesario. Verás que utilizo, http://zurb.com/
que es una gran biblioteca de correo electrónico receptiva para usar. Ver tambiénhttp://zurb.com/ink/
Por último, use un premailer como el https://github.com/fphilipe/premailer-rails3
mencionado anteriormente para procesar el estilo en CSS en línea, compilando estilos en línea solo para lo que se usa en esa plantilla de correo electrónico en particular. Por ejemplo, para el premailer, su archivo ruby podría verse así para compilar un correo electrónico en estilo en línea.
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
¡Espero que esto ayude! He estado luchando por encontrar un marco de trabajo de plantillas de correo electrónico flexible en Pardot, Salesforce y la respuesta automática integrada de nuestro producto y los correos electrónicos diarios.