Sendgrid-nodejs: &文字が動的テンプレートサブジェクトにエスケープ

作成日 2018年09月17日  ·  5コメント  ·  ソース: sendgrid/sendgrid-nodejs

問題の概要

動的テンプレートと置換を使用して電子メールの件名を設定すると、文字&&エスケープされるため、電子メールの件名に会社名/製品名が正しく表示されません。

EX:被験者は、受信したメッセージのですThanks for buying at C&Aの代わりに期待の: Thanks for buying at C&A

再現する手順

  1. 新しい動的テンプレートを作成し、件名を{{subject}}

  2. &文字を含む件名に通知する電子メールを送信します。

const sgMail = require("@sendgrid/mail");

const templateId = "XXXXXXXX";
const apiKey =  "XXXXXXXXXX";

sgMail.setApiKey(apiKey);
const msg = {
  templateId,
  to: "[email protected]",
  from: "[email protected]",
  dynamic_template_data: {
    subject: "Escape & work"
  }
};
sgMail.send(msg);
  1. 件名がEscape & workメッセージがないか電子メールクライアントを確認してください

技術的な詳細:

  • sendgrid-nodejsバージョン:6.3.1
  • Node.jsバージョン:6.10.3
unknown or a help wanted question

最も参考になるコメント

こんにちは@rafaelrpinto

ハンドルバーがコンテンツをHTMLエンコードしないように、件名にトリプルブラケットを使用する必要があるようです。 だからではなく、使用しての{{subject}}使用{{{subject}}} 。 この例は、こちらのドキュメントあり、ハンドルバーのドキュメントのHTMLエスケープで説明れています。

全てのコメント5件

こんにちは@rafaelrpinto

ハンドルバーがコンテンツをHTMLエンコードしないように、件名にトリプルブラケットを使用する必要があるようです。 だからではなく、使用しての{{subject}}使用{{{subject}}} 。 この例は、こちらのドキュメントあり、ハンドルバーのドキュメントのHTMLエスケープで説明れています。

@kylearoberts

うん、それは私の問題を解決します。

素早い対応に感謝致します。

ラファエル

@kylearoberts

うん、それは私の問題を解決します。

素早い対応に感謝致します。

ラファエル

{{{}}}を追加した後、メッセージがどのように表示されるか(コード例)を示してください。

@maxirby

コードは同じですが、変更されたのは、次のように設定したテンプレートのサブジェクト定義です: {{{subject}}}ではなく{{subject}}

ありがとう

12:11ラファエル・ピントの木、2019年8月29日には[email protected]
書きました:

@maxirby https://github.com/maxirby

コードは同じですが、変更されたのは、
設定したテンプレート:{{subject}}ではなく{{{subject}}}


あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/sendgrid/sendgrid-nodejs/issues/741?email_source=notifications&email_token=AAN3HIAAR4C4A7P5BMV46M3QG6OFDA5CNFSM4FVM6IJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AAN3HICBW77KL3A637OMKTDQG6OFDANCNFSM4FVM6IJQ

このページは役に立ちましたか?
0 / 5 - 0 評価