SendGrid Firebase Typescript函数未替换参数

时间:2018-10-18 20:06:00

标签: angular typescript firebase google-cloud-functions sendgrid

我有一个具有Firebase云功能的Angular 6应用,该功能旨在通过SendGrid API发送电子邮件。我目前可以拨打电话并发送电子邮件;但是,有{{name}}{{message}}之类的嵌入式属性应该可以替换。根据{{​​3}}和SendGrid's site,这应该相对容易。即使将某些控制台日志的值放在request.query.name的云函数中并获得正确的结果后,msg的值也将不匹配。

这是我到目前为止所拥有的。

云功能:

    import * as functions from 'firebase-functions';
    import * as sgMail from '@sendgrid/mail';

    export const sendContactMail = functions.https.onRequest((request, response) => {
      const SENDGRID_API_KEY = functions.config().sendgrid.key;

      sgMail.setApiKey(SENDGRID_API_KEY);
      sgMail.setSubstitutionWrappers('{{','}}');

      const msg = {
        to: 'some@email.com',
        from: 'some.other@email.com',
        templateId: 'thisisfrommyaccount',
        substitutions: {
          name: request.query.name,
          email: request.query.email,
          message: request.query.message
        }
      };

      return sgMail.send(msg).then((res) => {
        console.log('email sent');
      }).catch(err => {
        console.log(err.stack);
      });
    });        

0 个答案:

没有答案