sendgrid 2.0.0
から@sendgrid/mail 6.1.2
に移行しましたが、置換が機能しなくなりました
SendgridService.prototype.sendTestEmail = function () {
var text = 'Hi %DISPLAY_NAME%\n\n'
const msg = {
to: '[email protected]',
subject: 'Test Email',
from: {email: '[email protected]', name: 'Test'},
text: text,
substitutions: {
"%DISPLAY_NAME%": 'Test'
}
}
return sendgrid.send(msg)
}
こんにちは@sydneyhenrard 、
これが完全な例です。
substitutionWrappers
を設定する必要があるようです。 あなたの場合、それは%
ます。 次に、 substitutions
オブジェクトで、 %
文字を省略します。
敬具、
エルマー
変数に関する規則はありますか?
SendgridService.prototype.sendTestEmail = function () {
var text = 'Hi %DISPLAY_NAME% - %displayname%\n\n'
const msg = {
to: '[email protected]',
subject: 'Test Email',
from: {email: '[email protected]', name: 'Test'},
text: text,
substitutionWrappers: ['%', '%'],
substitutions: {
DISPLAY_NAME: 'Test',
displayname: 'Test'
}
}
return sendgrid.send(msg)
}
受信したメール:
Hi %DISPLAY_NAME% – Test
こんにちは@sydneyhenrard 、
この問題を再現することができました。 修正のためにこれをバックログに追加しました。 n個の置換が与えられたように見えますが、置換0が正しく設定されていません。
敬具、
エルマー
@thinkingseriousこれはあなたの側にありますか、それともNode SDKの問題ですか?
これはSDKの問題です。 問題が正確に何であるかはよくわかりません。 トラブルシューティングに役立つペイロードを調べる予定です。
キャメルケース変数を使用すれば、置換0でも問題ありません。
ありがとう@sydneyhenrard 、
それは根本原因に早く到達するのに役立つはずです:)
私は問題が何であるかを知っているかもしれないと思います、私に調査させてください。
v6.1.3としてマージされました。@ adamreisnzに感謝します。
2018年1月に同じ問題が発生しました。 単一の単語変数が機能していなかったため、置換変数を%companyname%から%company_name%に変更しました。 すぐに修正されました。
こんにちは@greglbyv 、
どのバージョンのSDKを使用していますか? ありがとう!
敬具、
エルマー
デザインビルドテンプレートを使用する場合、置換は機能するはずですか? テンプレートを手作業で作成した場合にのみ機能させることができ、デザインツールで作成したものは機能しません。
@airstofather 、
あなたを助けるために、私はさらに詳細が必要になります。 1)どのテンプレートを参照していますか? 2)サンプルコードを提供していただけますか? テンプレートHTMLとNode.jsコードの両方。 ありがとうございました!
また、別の問題を開くのが最善かもしれません。 ありがとう!
敬具、
エルマー
@thinkingserious
以前のコメントは無視してください。 あなたの返事の後、私は新鮮な目でそれを見に戻りました、そしてそれは私が最初に捕らえなかった問題を引き起こしていた補間された変数の余分なスペースでした。
すべてが宣伝どおりに機能しています。 ありがとうございました。
@thinkingserious私はすべて、キャメルケース、アンダースコアを試しました。 それでも変数は入力されません。sendgridUIを介してテストを実行し、変数を渡すと、正常に機能します。 Firebaseクラウド機能では機能しません。 これが私のコードです
「@sendgrid / mail」を使用しています:「^ 6.3.1」
const msgbody = {
to: userData.email,
from: '[email protected]',
subject: 'Registration Complete',
templateId: 'd-dffc1e7c8a4a4ed5a4384eded1701f65',
substitutionWrappers: ['{{', '}}'],
substitutions: {
first_name: userData.firstName
}
}
最も参考になるコメント
@sydneyhenrard 、
この問題の解決を支援するために、感謝の印としていくつかの盗品を
SendGridをサポートしていただきありがとうございます。
敬具、
エルマー