Я перешел с 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 это на вашей
Это проблема с SDK. Я не совсем уверен, в чем проблема. Я планирую изучить полезную нагрузку, чтобы помочь в устранении неполадок.
Если я использую переменную camelCase, у меня нет проблем с заменами даже для замены 0
Спасибо @sydneyhenrard ,
Это должно помочь быстрее найти первопричину :)
Думаю, я знаю, в чем проблема, позвольте мне разобраться.
Слит как v6.1.3, спасибо @adamreisnz!
@sydneyhenrard ,
За помощь в решении этой проблемы мы хотели бы отправить вам сувениры в знак нашей благодарности.
Спасибо за поддержку SendGrid!
С наилучшими пожеланиями,
Элмер
была такая же проблема в 01/2018. изменил наши переменные подстановки с% companyname% на% company_name%, потому что однословные переменные не работали. исправлено немедленно.
Привет @greglbyv!
Какую версию SDK вы используете? Спасибо!
С наилучшими пожеланиями,
Элмер
Должны ли подстановки работать при использовании встроенного шаблона? Я могу заставить их работать, только когда создаю шаблон вручную, те, которые созданы с помощью инструмента дизайна, никогда не работают.
@airstofather ,
Чтобы помочь вам, мне понадобятся дополнительные подробности. 1) Какой шаблон вы имеете в виду? 2) Не могли бы вы предоставить образец кода? И HTML-шаблон, и код Node.js. Спасибо!
Кроме того, может быть лучше открыть отдельный выпуск. Спасибо!
С наилучшими пожеланиями,
Элмер
@thinkingserious
Пожалуйста, проигнорируйте мой предыдущий комментарий. После вашего ответа я вернулся, чтобы взглянуть на него свежим взглядом, и это был лишний пробел в интерполированной переменной, который вызывал проблему, которую я не заметил в первый раз.
Все работает как заявлено. Спасибо.
@thinkingserious Я перепробовал все, верблюжий футляр, подчеркивание. Переменная по-прежнему не заполняется, когда я провожу тестирование через пользовательский интерфейс sendgrid и передаю переменную, она работает нормально. Он просто не работал бы через облачные функции 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!
С наилучшими пожеланиями,
Элмер