Cách tiếp cận tốt nhất mà tôi đưa ra là sử dụng nhập Sass trên cơ sở đã chọn để kéo các kiểu bootstrap (hoặc bất kỳ kiểu nào khác) của bạn vào email nếu cần.
Đầu tiên, tạo một tệp cha mẹ scss mới giống như email.scss
kiểu email của bạn. Điều này có thể trông như thế này:
// 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";
Sau đó, trong các mẫu email của bạn, chỉ tham chiếu tệp email.css đã biên dịch của bạn, tệp này chỉ chứa các kiểu bootstrap đã chọn được tham chiếu và lồng ghép đúng cách trong email.scss của bạn.
Ví dụ: một số kiểu bootstrap nhất định sẽ xung đột với kiểu bảng đáp ứng của Zurb. Để khắc phục điều đó, bạn có thể lồng các kiểu của bootstrap trong một lớp cha hoặc bộ chọn khác để chỉ gọi các kiểu bảng của bootstrap khi cần thiết.
Bằng cách này, bạn có thể linh hoạt chỉ kéo các lớp học khi cần thiết. Bạn sẽ thấy rằng tôi sử dụng http://zurb.com/
, đây là một thư viện email đáp ứng tuyệt vời để sử dụng. Xem thêmhttp://zurb.com/ink/
Cuối cùng, sử dụng một premailer như https://github.com/fphilipe/premailer-rails3
đã đề cập ở trên để xử lý kiểu thành css nội tuyến, biên dịch các kiểu nội tuyến thành chỉ những gì được sử dụng trong mẫu email cụ thể đó. Ví dụ: đối với premailer, tệp ruby của bạn có thể trông giống như thế này để biên dịch email thành kiểu nội tuyến.
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
Hi vọng điêu nay co ich! Bạn đang đấu tranh để tìm ra một khuôn khổ tạo mẫu email linh hoạt trên Pardot, Salesforce cũng như các email hàng ngày và tự động trả lời tích hợp trong sản phẩm của chúng tôi.