HTMLメールのスタイルをインラインで取得するpremailer-Rails3
gemを使用しています。Twitterブートストラップで動作させようとしています。
https://github.com/fphilipe/premailer-Rails
一部のスタイルは正しく入っているように見えますが、すべてではありません。 Twitter Bootstrap css(変更されているかどうかに関係なく)をhtml電子メールに変換するニースの実例があるのかと思います。
ありがとう!
「メールでBootstrapの文体的なプレゼンテーションを使用できますか?」できますが、私はまだそれをやった人を知りません。ただし、テーブル内のすべてを再コーディングする必要があります。
機能を使用する場合は、メールの表示場所によって異なります。ユーザーのかなりの割合がOutlook、Gmail、Yahoo、またはHotmailを使用している場合(通常、これらは合計でメールクライアントの約75%を占める)、Bootstrapの優れた機能の多くは使用できません。 AndroidのMac Mail、iOS Mail、GmailはCSSのレンダリングがはるかに優れているため、主にモバイルデバイスをターゲットにしている場合、それほど悪くはありません。
font-face
-外部画像のみを使用できます。他のすべての外部リソース(CSSファイル、フォント)は除外されます。:hover
、:active
状態は個別にスタイル設定できませんこの古いスレッドを復活させたことをおaび申し上げますが、メールスタイリング用に特別に作成されたCSSフレームワークのような非常に近いBootstrapがあることを皆さんに知らせたかっただけです。ここにリンクがあります: http:// zurb.com/ink/
それが誰かを助けることを願っています。
Ninja edit:以降、Foundation for Emails
に名前が変更され、新しいリンクは https://foundation.zurb。 com/emails.html
メールでできないことは次のとおりです。
- スタイルを含むセクションを含める。 Apple Mail.appはこれをサポートしていますが、GmailとHotmailはサポートしていないため、ノーです。 Hotmailは本文のスタイルセクションをサポートしますが、Gmailはまだサポートしていません。
- 外部スタイルシートへのリンク。多くの電子メールクライアントはこれをサポートしていません。忘れてください。
- Background-image/Background-position。Gmailもこの問題の犯人です。
- フロートをクリアします。再びGmail。
- マージン。はい、真剣に、Hotmailはマージンを無視します。基本的に、CSSのポジショニングはまったく機能しません。
- Font-anything。 Eudoraは、フォントで宣言しようとするものをすべて無視する可能性があります。
ソース: http://css-tricks.com/using-css-in-html-emails-the-real-story/
Mailchimpには、使用できるメールテンプレートがあります- here
あなたを助けるべきいくつかのリソース
これを使用できます https://github.com/advancedrei/BootstrapForEmail メールをb-strappingします。
こんにちは、ブライアンアームストロング、 このリンク をご覧ください。
このブログでは、RailsとBootstrapless(premailerを使用)を統合する方法を説明します-レール)。
bootstrap sassを使用している場合、同じことができます。
まず、いくつかのBootstrap sassファイルをemail.css.scssにインポートします
@import "bootstrap-sprockets";
@import "bootstrap/variables";
@import "bootstrap/mixins";
@import "bootstrap/scaffolding";
@import "bootstrap/type";
@import "bootstrap/buttons";
@import "bootstrap/alerts";
@import 'bootstrap/normalize';
@import 'bootstrap/tables';
@import 'bootstrap/progress-bars';
そして、あなたのビューで<head>
セクションに<%= stylesheet_link_tag "email" %>
を追加します
最近、HTMLメールテンプレートの構築にしばらく時間を費やしました。私が見つけた最良の解決策は、これを使用することでした http://htmlemailboilerplate.com/ 。それ以来、私は3つの非常に複雑なテンプレートを作成し、さまざまな電子メールクライアントでうまく機能しました。
ここでの秘Theは、ブートストラップ全体を含めたくないということです。問題は、電子メールクライアントがメディアクエリを無視し、!importantステートメントが多いすべての印刷スタイルを処理することです。
代わりに、必要なbootstrapの特定の部分のみを含める必要があります。私のemail.css.scssファイルは次のようになります。
@import "bootstrap-sprockets";
@import "bootstrap/variables";
@import "bootstrap/mixins";
@import "bootstrap/scaffolding";
@import "bootstrap/type";
@import "bootstrap/buttons";
@import "bootstrap/alerts";
@import 'bootstrap/normalize';
@import 'bootstrap/tables';
Bootstrap Email? これは本当にすてきで、bootstrap 4と互換性があるようです。
私が思いついた最善のアプローチは、必要に応じてbootstrap(またはその他の)スタイルを電子メールに取り込むために、選択されたベースでSassインポートを使用することです。
最初に、メールスタイルに合わせてemail.scss
のような新しい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で適切に参照およびネストされた選択されたbootstrapスタイルのみが含まれます。
たとえば、特定のbootstrapスタイルは、Zurbのレスポンシブテーブルスタイルと競合します。これを修正するには、親クラスまたは他のセレクタ内にブートストラップのスタイルをネストして、必要な場合にのみブートストラップのテーブルスタイルを呼び出すことができます。
これにより、必要なときにのみクラスをプルできる柔軟性が得られます。 http://zurb.com/
を使用していることがわかります。これは、使用するのに優れた応答性の高いメールライブラリです。 http://zurb.com/ink/
も参照してください
最後に、上記のhttps://github.com/fphilipe/premailer-Rails3
などのプリメーラーを使用してスタイルをインラインcssに処理し、特定の電子メールテンプレートで使用されているものだけにインラインスタイルをコンパイルします。たとえば、プリメーラーの場合、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、および製品に組み込まれている自動応答および毎日のメールで、柔軟なメールテンプレートフレームワークを見つけるのに苦労しています。