Попытка отправки электронной почты в Angular 6 с использованием Sendgrid с конечной точкой функций Cloud - PullRequest
0 голосов
/ 12 ноября 2018

Здравствуйте. Я пытаюсь отправить электронное письмо из функции углового облака, используя SendGrid.

Следуя этому примеру: https://angularfirebase.com/lessons/sendgrid-v3-nodejs-transactional-email-cloud-function/

Я написал следующую функцию

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const cors = require('cors')({ origin: true });
const SENDGRID_API_KEY="*******************************";
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(SENDGRID_API_KEY);
exports.httpEmail = functions.https.onRequest((req, res) => {

cors( req, res, () => { 

    const toName  = req.body.toName;
    const toEmail = req.body.toEmail;

    const msg = {
        to: toEmail,
        from: 'glkjrzklegklre@gmail.com',
        subject:  'New Message',
        text: `You have a new message`,
        html: `You have a new message`,
    };

    return sgMail.send(msg)

        .then(() => res.status(200).send('email sent!') )
        .catch(err => res.status(400).send(err) )

});});

И я просто вызываю его из компонента:

sendEmail() {
const data = {
  toEmail: 'cbanzet@gmail.com',
  toName: 'Jeff Delaney'
}
this.http.post(this.endpoint, data).subscribe()}

Даже несмотря на то, что написано "Email Sent!" в консоли у меня появляется следующая ошибка:

ошибка: SyntaxError: неожиданный токен e в JSON в позиции 0 в JSON.parse

Я не знаю, что с этим делать, и я действительно хотел бы, чтобы это работало.

...