2016-04-25 7 views
1

MandrillからSparkPostに切り替えた後、transmissionを使用してメールを送信する際に問題が発生しました。 Mandrill merge_varsはHTMLでエンコードされていないので、HTMLをエンコードすることがありますが、SparkPostではsubstitution_dataがHTMLエンコードされているように見えます。これをオフにする、または少なくともtransmissionのために無効にすることを可能にするグローバルな設定はありますか?substitution_dataのHTMLエンコードを無効にする

編集:私たちは、それがライブラリに直接関連する問題ではなく、SparkPostのAPIであるかもしれないと私はさらにそれを調査する必要があることを意味csharp-sparkpostライブラリを使用することを言及するのを忘れてしまいました。

EDIT2:私は直接メールを送信JSONを用いて試験し、結果は同じだったので、私はHTMLエンコーディングをC#ライブラリによってSparkPostによって行われていないと結論付けることができます。

答えて

4

変数を囲む3つのカッコを使用することで、エスケープせずにHTMLを置換変数でレンダリングできます。例えばあなたの伝達にこれで:

{ 
    "substitution_data": { 
    "firstName": "<em>Jimbo</em>" 
    }, 
    "content": { 
    "html": "<p>Hi {{{firstName}}}</p>" 
    } 
} 

...あなたは、あなたのHTMLメッセージの本文にこれを取得する:

<p>Hi <em>Jimbo</em></p> 

詳細はSparkPostリファレンスドキュメントにあります。https://developers.sparkpost.com/api/#/introduction/substitutions-reference/escaping-html-values

+0

これは本当に便利です。変数名の大文字と小文字の区別については、テンプレートをスキャンして代入変数名の大文字と小文字を大文字に置き換えた正規表現を書き終えました。 – jahu

関連する問題