2016-04-25 47 views
1

從Mandrill切換到SparkPost後,我們在使用transmission發送電子郵件時遇到問題。在Mandrill merge_vars不是HTML編碼,我們有時會把HTML放在它們中,但是在SparkPost substitution_data確實看起來是HTML編碼,它弄亂了我們的一些電子郵件。是否有全局設置允許關閉此功能或者至少禁用transmission禁用substitution_data的HTML編碼

編輯:我忘了提,我們使用csharp-sparkpost庫,這意味着它可能是直接關係到庫中,而不是SparkPost API一個問題,我需要進一步調查。

EDIT2:我測試直接發送電子郵件使用JSON,結果是一樣的,所以我可以斷定HTML編碼通過SparkPost由C#庫完成的,而不是。

回答

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