Как вставить данные Dynami c (HTML) в шаблоны SendGrid в JavaScript - PullRequest
0 голосов
/ 20 февраля 2020

I sh для отправки электронного письма с использованием шаблона SendGrid . Я использую стандартный v3 api и простой вызов ax ios.

Я sh чтобы отправить электронное письмо с использованием шаблона. Письмо должно содержать ряд строк и столбцов. Я не знаю, сколько строк / столбцов будет при создании шаблона. Количество строк / столбцов будет зависеть от данных, известных только при составлении электронного письма.

В моем коде я буду sh:

  1. Собирать данные и составлять столько строк / столбцов, сколько я sh, используя HTML или другой рекомендуемый метод.
  2. Составьте сообщение, используя Шаблон, и вставьте мой HTML из (1) в Шаблон, используя «personalisations / dynamic_template_data» или любой другой рекомендуемый метод.
  3. Отправьте электронное письмо.
  4. Я ожидаю, что электронное письмо будет обрабатывать мои HTML строки / столбцы как HTML.

Мой код (не работает - HTML обрабатывается как текст):

  //Coompose HTML
  let alertHtml = ''
  noteObjArray.forEach((nototObj)=>{
    ...
    alertHtml += (myDate !== '') ? `- ${someText} ${myDate } ` : ''
    ...
    alertHtml += '<br/>'
  })

  //Send mail using SendGrid  
  const mailSender = firebaseFunctionsConfig.sendgrid.sender
  const msg = {
    personalizations: [{
      to: [{email, name}],
      dynamic_template_data: {userName:name, amount, alertHtml}
    }],
    from: {email: mailSender.email, name: mailSender.name},
    reply_to: {email: mailSender.replyemail, name: mailSender.replyname},
    template_id: 'a-000078d4b2eb666940bbg1ee66s'
    // "content": [{"type": "text/html"}] 
  }

Заранее спасибо! / K

1 Ответ

0 голосов
/ 23 февраля 2020

Чтобы иметь возможность вставить HTML в шаблон SendGrid , вам просто нужно вставить переменную, используя три фигурные скобки в шаблоне вместо стандарт два . 100

В шаблоне SendGrid - этот синтаксис будет интерпретировать переменную textRows как обычный текст

{{textRows}}

В шаблоне SendGrid - этот синтаксис будет интерпретировать переменную textRows как HTML

{{{textRows}}}

Спасибо Кайлу Робертсу за размещение решения на github ! 10

/ K

...