J'ai migré de sendgrid 2.0.0
vers @sendgrid/mail 6.1.2
, les substitutions ne fonctionnent plus
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)
}
Bonjour @sydneyhenrard ,
Voici un exemple complet.
Il semble que vous deviez définir le substitutionWrappers
. Dans votre cas, ce serait %
. Ensuite, dans l'objet substitutions
, vous laisseriez les caractères %
.
Meilleures salutations,
Elmer
Existe-t-il une convention sur la variable?
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)
}
L'e-mail reçu:
Hi %DISPLAY_NAME% – Test
Bonjour @sydneyhenrard ,
J'ai pu reproduire ce problème. J'ai ajouté ceci à notre arriéré pour un correctif. Cela ressemble à une substitution de n, la substitution 0 n'est pas définie correctement.
Meilleures salutations,
Elmer
@thinkingserious est-ce de votre côté ou un problème avec le SDK Node?
C'est un problème avec le SDK. Cependant, je ne sais pas exactement quel est le problème. Je prévois d'examiner la charge utile pour aider à dépanner.
Si j'utilise la variable camelCase, je n'ai aucun problème avec les substitutions même pour la substitution 0
Merci @sydneyhenrard ,
Cela devrait aider à trouver la cause première plus rapidement :)
Je pense que je peux savoir quel est le problème, laissez-moi enquêter.
Fusionné en v6.1.3, merci @adamreisnz!
@sydneyhenrard ,
Pour nous aider à résoudre ce problème, nous aimerions vous envoyer un cadeau en guise de remerciement.
Merci de soutenir SendGrid!
Meilleures salutations,
Elmer
eu le même problème en 01/2018. changé nos variables de substitution de% companyname% à% company_name% car les variables à un seul mot ne fonctionnaient pas. réparé immédiatement.
Salut @greglbyv ,
Quelle version du SDK utilisez-vous? Merci!
Meilleures salutations,
Elmer
Les substitutions sont-elles censées fonctionner lors de l'utilisation d'un modèle de conception intégrée? Je ne peux les faire fonctionner que lorsque je construis le modèle à la main, ceux construits avec l'outil de conception ne fonctionnent jamais.
@airstofather ,
Pour vous aider, j'aurai besoin de plus de détails. 1) De quel modèle parlez-vous? 2) Pouvez-vous fournir un exemple de code? Le code HTML du modèle et le code Node.js. Merci!
En outre, il peut être préférable d'ouvrir un problème distinct. Merci!
Meilleures salutations,
Elmer
@thinkingserious
Veuillez ignorer mon commentaire précédent. Après votre réponse, je suis retourné le regarder avec des yeux neufs et c'était un espace supplémentaire dans la variable interpolée qui causait le problème que je n'ai pas attrapé la première fois.
Tout fonctionne comme annoncé. Merci.
@thinkingserious J'ai tout essayé, camelcase, soulignement. La variable ne se remplirait toujours pas, lorsque je fais les tests via l'interface utilisateur sendgrid et que je transmets la variable, cela fonctionne bien. Cela ne fonctionnerait tout simplement pas avec les fonctions cloud de Firebase. Voici mon code
J'utilise "@ 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
}
}
Commentaire le plus utile
@sydneyhenrard ,
Pour nous aider à résoudre ce problème, nous aimerions vous envoyer un cadeau en guise de remerciement.
Merci de soutenir SendGrid!
Meilleures salutations,
Elmer