NodeJS params.Example не используется @sendgrid/mail

Watson Assistant правильно передает мои params.finalemail и params.guestemail. Похоже, ваш @sendgrid/mail не принимает значения этих параметров. Почему это?

По сути, Watson передает электронное письмо $guest как адрес электронной почты «кому», а $finalemail содержит основную часть электронного письма.

Мне нужна моя функция для отправки электронного письма с информацией, содержащейся в вышеуказанных переменных.

const sgMail = require('@sendgrid/mail');
 /*    Replace YOUR-SENDGRID-API-KEY-GOES-HERE with
        the API Key you get from SendGrid.
  */
  sgMail.setApiKey('apikey')

function sendmail(params) {
params.guestemail
params.finalemail


  let msg = {}
  msg.to = params.guestemail
  msg.from = '[email protected]'
  msg.subject = 'Your Reservation'
  msg.html = params.finalemail

  sgMail.send(msg,(error, json) => {
    if (error) {
      console.log(error)
    }
  })
  return { sent: 1 }
}

person larry walker    schedule 27.08.2019    source источник
comment
Пожалуйста, объясните, что происходит и что вы ожидаете, чтобы люди могли вам помочь.   -  person JBaczuk    schedule 27.08.2019
comment
Спасибо за совет. Я просто добавил больше информации.   -  person larry walker    schedule 28.08.2019


Ответы (1)


Sendgrid отправит либо текстовое поле, либо html, а не оба. Чтобы отправить сообщение, которое вы хотите, вы можете добавить «Это сообщение только в формате HTML». в html-теге.

person Osama    schedule 27.08.2019
comment
Я полностью удалил текстовую строку. Почта params.guestemail и окончательная почта по-прежнему не распознаются. - person larry walker; 27.08.2019
comment
Привет. Я запустил вашу программу, и она у меня работает нормально, т. е. письмо отправляется на params.guestemail с телом params.finalemail. - person Osama; 28.08.2019
comment
Это странно. Значит ли это, что мой Watson Assistant неправильно передает параметры? - person larry walker; 28.08.2019