Sendgrid-nodejs: 与えられた例では置換は機能しません

作成日 2018年07月25日  ·  4コメント  ·  ソース: sendgrid/sendgrid-nodejs

再現する手順

これによりメールが送信されます。 ただし、テンプレートを置き換える置換はありません。 トランザクションテンプレートのセクションに記載されている両方の例に従い、これも試してみました。 ただし、HTMLテンプレートの変数を定義済みの置換で置き換えるものはありません。

これは私のテンプレートです

<html>
<head>
    <title></title>
</head>
<body>
Hello {{name}},
<br /><br/>
I'm glad you are trying out the template feature!
<br /><br/>
<%body%>
<br /><br/>
I hope you are having a great day in {{city}} :)
<br /><br/>
</body>
</html>

ヘッダーを<%subject%>

そして、これは私のコードです。

 sgMail.setSubstitutionWrappers('{{', '}}'); // Configure the substitution tag wrappers globally
    const msg = {
    to: '[email protected]',
    from: '[email protected]',
    subject: 'Hello world',
    text: 'Hello plain world!',
    html: '<p>Hello HTML world!</p>',
    templateId: 'd-5d04c39e40054d118b4de3fba82a09ac',
    substitutions: {
        name: "Some One",
        city: "Denver"
    },
    };
    sgMail.send(msg);

これはメールを送信しますが、このように受信します

Hello , 

I'm glad you are trying out the template feature! 

<%body%> 

I hope you are having a great day in :) 

件名は<%subject%>です。

報告されている問題に関連する、共有したいその他の情報。 特に、なぜこれをバグだと思いますか? 代わりに何が起こると思いますか?

私はこのようなメールを期待していました(件名はHello world

Hello Some One, 

I'm glad you are trying out the template feature! 

I hope you are having a great day in Denver :) 

テンプレートエンジンでテストデータを次のように使用してテスト

{
  "name": "Some One",
    "city": "Denver"
}

これは、テンプレートエンジンに正しく表示されます。

unknown or a help wanted question

最も参考になるコメント

フォローアップのために、@ pankaja92@ bbbneo333のおかげで助けてくれてありがとう!

問題は、新しい動的テンプレートを使用している場合、API呼び出しが少し異なることです。 これらの変更を反映するために、このSDKのドキュメントをまもなく更新します。

全てのコメント4件

私は同じ問題を抱えています。 経由してメールを作成するときMail.createから@sendmail/helpers 、私は取得していますmail.substitutions = null

@ bbbneo333は、この問題で提供されている最後の解決策を確認してください。 それは私のために働いた

はい。 substitutionspersonalizations.0.dynamic_template_data置き換えるとうまくいきました。 ありがとう。

フォローアップのために、@ pankaja92@ bbbneo333のおかげで助けてくれてありがとう!

問題は、新しい動的テンプレートを使用している場合、API呼び出しが少し異なることです。 これらの変更を反映するために、このSDKのドキュメントをまもなく更新します。

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