1

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

編集: csharp-sparkpostライブラリを使用していることを忘れていました。つまり、SparkPost API ではなくライブラリに直接関連する問題である可能性があり、さらに調査する必要があります。

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

4

1 に答える 1

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

于 2016-04-25T11:49:56.400 に答える