電子メールのHTMLコードを作成するためにCSSスタイルを自動的にインライン化するためのツールは何ですか?[閉まっている]


122

http://www.campaignmonitor.com/css/を見ると、HTMLにインラインスタイルを埋め込んで、メールをメールクライアントで読む必要があることがわかります。

が宣言されたHTMLファイルをインラインCCSスタイル属性のみのHTMLファイルに自動的に変換するツールやスクリプトを知っていますか?

編集:Javascriptソリューション(例:http : //www.robertnyman.com/2006/04/24/get-the-rendered-style-of-an-element/)?jQueryで?


3
:私はちょうどフォローアップこの1のようソフトウェアの推奨事項に同様の質問をしてきたsoftwarerecs.stackexchange.com/questions/9983/...
グジェゴシOledzki

職場の部門でこの正確な問題を解決する必要がありました。この質問は、問題を解決するために必要な手順を提供しました。
Gopherkhan 2017

回答:


80

premailer.dialect.caオンラインコンバーターまたはこのPythonスクリプトを確認してください。


10
Premailerが新しいURLに移動したようです:premailer.dialect.ca
Matt Huggins

2
メールチンパンジーはここで素晴らしいスタイルのライナーを
dhornbein

1
premailer.dialect.caはすばらしいですが、多くのページで窒息します。私のテストでは半分以上です。たとえば、このページを試してください。
Nick Woodhams

独自のpremailerサーバ...実行github.com/TrackIF/premailer-server EC2上で動作するように簡単に:docs.aws.amazon.com/elasticbeanstalk/latest/dg/...
アダムレーン

それらのうちどれも実際に対処する主な問題であるSTYLEタグを削除しません
Coldstar

33

これは、インラインツールを使用する準備ができているWebベースのリストです。いくつかは以前に言及されています。見逃したものがある場合は、自由に編集して追加してください。私はそれぞれが宣伝どおりに機能することを約束できないので、コメントをドロップしますが、メッセンジャーを撃たないでください...

そして、これは逆に機能するものです(あなたのCSSをインライン化しない)


3
MailerMailerは、フォーマットをそのまま維持しながら私のために働いた唯一のものでした。
Jeshurun、2014

20

PHPソリューションが必要な場合は、CssToInlineStylesを試すことができます。


2
そのphpスクリプトはよく書かれています。それは!importantフラグを処理しませんが、それでもなお良いスクリプトです。
Perry Tew


8

サーバー側のJavaScriptでCSSをインライン化するStylinerと呼ばれるNode.jsライブラリを作成しました。

LESSスタイルシートもサポートします(他の形式のプラグインもサポートします)


7

あなたは見てとることをお勧めしますPostageAppを

その本当に強力な機能の1つは、問題なくHTMLとCSSを自動的にインライン化できる非常に堅牢なテンプレートシステムを備えていることです。

完全開示:私はPostageAppのプロダクトマネージャーです。)


つまり、処理チェーンの最後(誰かに電子メールを送信する直前)でCSSインライン化を行っていますか?
zazi

6

これは少し遅すぎるかもしれませんが、HTMLを電子メールマーケティングに最適なものにしたい場合は(CSSをインライン化し、他のクールなツールを使用して)、プリメイラーを使用します。その無料、そしてもちろん、CampaignMonitor自体とのパートナーシップで作られました。

それが役に立てば幸い。


プリメーラーの+1。WebフォームとAPIの両方を備えており、任意のプラットフォームに統合できます。node.jsを使用している場合は、ここにラッパーがあります
ジェドワトソン

6

私はゲームに少し遅れましたが、うまくいけばこれが誰かを助けるでしょう。

ページに埋め込むことができるこの素敵な小さなjQuery / javascriptメソッドを見つけました- -http://devintorr.es/blog/2010/05/26/turn-css-rules-into-inline-style-attributes-using-jquery /

IEをサポートするため、およびスタイルを適用する複数のCSSファイルが正しい順序で添付されているページをサポートするために、少し編集しました。

$(document).ready(function ($) {
            var rules;
            for(var i = document.styleSheets.length - 1; i >= 0; i--){
                if(document.styleSheets[i].cssRules)
                    rules = document.styleSheets[i].cssRules;
                else if(document.styleSheets[i].rules)
                    rules = document.styleSheets[i].rules;
                for (var idx = 0, len = rules.length; idx < len; idx++) {
                    if(rules[idx].selectorText.indexOf("hover") == -1) {
                        $(rules[idx].selectorText).each(function (i, elem) {
                            elem.style.cssText = rules[idx].style.cssText + elem.style.cssText;
                        });
                    }
                }
            }
            $('style').remove();
            $('script').remove();
            $('link').remove();
        });

次に、ページをコピーしてメール本文に貼り付けることができます。


なぜスクリプトを削除するのですか?そして、それらはforループの外に出るべきだと思う実行を削除します。
jcubic 2013年

@jcubicあなたは正しいre:削除の実行の配置、私は編集します。スクリプトの削除は私の元のコードに含まれていたので、ページを表示するために本当に必要なものだけを含む、よりクリーンなHTMLが必要でした。
John C

この簡潔なスクリプトに感謝します。私は何時間も探していましたが、これは私が見つけた最もクリーンなソリューションです。
kerzek 2013年

1
@kerzekと同じボートにいました。これはある程度は機能しましたが、いくつかのスタイルがめちゃくちゃになりました。ただし、このバージョンのコードは優れた(テスト済み、evertything)で機能しました。devintorr.es/ blog
2010/05/26

5

CSSを単にインライン化するだけでは十分ではありません。どのような電子メールクライアントが使用されている場合でも、HTML電子メールがどのように表示されるかについては、観察された標準はありません。それらはすべて異なる方法で行われ、メールを設計するほど、より多くのクライアントに侵入する可能性が高くなります。この分野の専門家の多くは、単に画像と表を使用し、背景色を使用しているだけです。メールの作業用コピーがあるウェブサイトへのリンクを常に含め、常にプレーンテキストのバリアントを提供します。


5

こちらのtikkuによるJavaScriptソリューション:https ://tikku.com/open-source/utilities/css-inline-transformer/



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.