Ich bin von sendgrid 2.0.0
auf @sendgrid/mail 6.1.2
migriert, die Ersetzungen funktionieren nicht mehr
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)
}
Hallo @sydneyhenrard ,
Hier ist ein vollständiges Beispiel.
Es scheint, dass Sie substitutionWrappers
festlegen müssen. In Ihrem Fall wäre das %
. Dann würden Sie im substitutions
-Objekt die %
-Zeichen weglassen.
Mit besten Empfehlungen,
Elmer
Gibt es eine Konvention über Variablen?
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)
}
Die erhaltene E-Mail:
Hi %DISPLAY_NAME% – Test
Hallo @sydneyhenrard ,
Ich konnte dieses Problem reproduzieren. Ich habe dies zu unserem Rückstand hinzugefügt, um das Problem zu beheben. Es sieht so aus, als ob bei n Substitution die Substitution 0 nicht richtig gesetzt wird.
Mit besten Empfehlungen,
Elmer
@thinkingserious ist das auf Ihrer Seite oder ein Problem mit dem Node SDK?
Es ist ein Problem mit dem SDK. Ich bin mir nicht ganz sicher, worum es genau geht. Ich habe vor, die Nutzlast zu untersuchen, um bei der Fehlerbehebung zu helfen.
Wenn ich die Variable camelCase verwende, habe ich auch bei Substitution 0 kein Problem mit den Substitutionen
Danke @sydneyhenrard ,
Das sollte helfen, schneller zur Ursache zu gelangen :)
Ich glaube, ich weiß vielleicht, wo das Problem liegt. Lassen Sie mich das untersuchen.
Zusammengeführt als v6.1.3, danke @adamreisnz!
@sydneyhenrard ,
Um uns bei der Lösung dieses Problems zu helfen, möchten wir Ihnen als Zeichen unserer Dankbarkeit
Vielen Dank für die Unterstützung von SendGrid!
Mit besten Empfehlungen,
Elmer
hatte das gleiche Problem in 01/2018. Unsere Substitutionsvariablen wurden von% Firmenname% in% Firmenname% geändert, da Einzelwortvariablen nicht funktionierten. sofort behoben.
Hallo @greglbyv ,
Welche Version des SDK verwenden Sie? Vielen Dank!
Mit besten Empfehlungen,
Elmer
Sollen Substitutionen funktionieren, wenn Sie eine Entwurfsvorlage verwenden? Ich kann sie nur zum Laufen bringen, wenn ich die Vorlage von Hand erstelle. Diejenigen, die mit dem Design-Tool erstellt wurden, funktionieren nie.
@airstofather ,
Um Ihnen zu helfen, brauche ich weitere Details. 1) Auf welche Vorlage beziehen Sie sich? 2) Können Sie einen Beispielcode angeben? Sowohl der Vorlagen-HTML- als auch der Node.js-Code. Dankeschön!
Es ist möglicherweise auch am besten, ein separates Problem zu eröffnen. Vielen Dank!
Mit besten Empfehlungen,
Elmer
@thinkingserious
Bitte ignorieren Sie meinen vorherigen Kommentar. Nach Ihrer Antwort ging ich zurück, um es mit neuen Augen zu betrachten, und es war ein zusätzlicher Platz in der interpolierten Variablen, der das Problem verursachte, das ich beim ersten Mal nicht bemerkte.
Alles funktioniert wie angekündigt. Dankeschön.
@thinkingserious Ich habe alles versucht, Kamelkoffer, Unterstrich. Die Variable würde immer noch nicht gefüllt, wenn ich den Test über die sendgrid-Benutzeroberfläche durchführe und die Variable übergebe, funktioniert es einwandfrei. Es würde einfach nicht durch Firebase-Cloud-Funktionen funktionieren. Hier ist mein Code
Ich verwende "@ 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
}
}
Hilfreichster Kommentar
@sydneyhenrard ,
Um uns bei der Lösung dieses Problems zu helfen, möchten wir Ihnen als Zeichen unserer Dankbarkeit
Vielen Dank für die Unterstützung von SendGrid!
Mit besten Empfehlungen,
Elmer